(1) Включи мозги для начала. Потом посмотри обработкой, какие реквизиты заполнены у документа, когда он заполнен корректно, и перенеси это в алгоритм заполнения. Учись анализировать, а не п..дить чужие идеи.
(4) т.е.? таблицу Услуги я программно заполняю, там НДС уже посчитан
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший