|
БП ред. 3 Программное заполнение табличной части документа
| ☑ |
0
bvn-2005
23.01.19
✎
15:00
|
Документ "Передача ОС". Обработкой заполняю табличную часть.
....
СтрДОк.ОсновноеСредство=Выборка.МЦ;
СтрДОк.Количество=1;
СтрДОк.Сумма=(Выборка.Сумма-Выборка.Амортизация)*(1+(Процент/100));
СтрДОк.Цена=СтрДОк.Сумма/СтрДОк.Количество;
СтрДОк.СтавкаНДС=Перечисления.СтавкиНДС.НДС18;
....
Как сделать, чтобы после заполнения полей Сумма и СтавкаНДС поле СуммаНДС заполнилось бы автоматически, как при ручном вводе данных?
|
|
1
spiller26
23.01.19
✎
15:02
|
(0) ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуНДСТабЧасти(СтрокаТаблицы, Объект.СуммаВключаетНДС, ПрименяютсяСтавки4и2);
|
|
2
spiller26
23.01.19
✎
15:03
|
СтрокаТабличнойЧасти.СуммаНДС = УчетНДСКлиентСервер.РассчитатьСуммуНДС(
СтрокаТабличнойЧасти.Сумма,
СуммаВключаетНДС,
УчетНДСВызовСервераПовтИсп.ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС, ПрименяютсяСтавки4и2));
|
|
3
spiller26
23.01.19
✎
15:05
|
И в итоге попадаешь вот сюда
// Рассчитывает сумму НДС исходя из суммы и флагов налогообложения.
//
// Параметры:
// Сумма - Число - сумма от которой надо рассчитывать налоги;
// СуммаВключаетНДС - Булево - признак включения НДС в сумму ("внутри" или "сверху");
// СтавкаНДС - Число - процентная ставка НДС.
//
// Возвращаемое значение:
// Число - полученная сумма НДС.
//
Функция РассчитатьСуммуНДС(Сумма, СуммаВключаетНДС, СтавкаНДС) Экспорт
Если СуммаВключаетНДС Тогда
СуммаБезНДС = 100 * Сумма / (100 + СтавкаНДС);
СуммаНДС = Сумма - СуммаБезНДС;
Иначе
СуммаБезНДС = Сумма;
КонецЕсли;
Если НЕ СуммаВключаетНДС Тогда
СуммаНДС = СуммаБезНДС * СтавкаНДС / 100;
КонецЕсли;
Возврат СуммаНДС;
КонецФункции // РассчитатьСуммуНДС()
|
|