Untitled
plain_text
a month ago
3.3 kB
0
Indexable
Never
Процедура ОбработкаПроведения(Отказ, Режим) ЗаписатьДанныеДокументаВРегистр(); КонецПроцедуры Процедура Рассчитать() Экспорт НачатьТранзакцию(); // Формирование рабочих наборов записей ЗаписатьДанныеДокументаВРегистр(); // В процедуре общего модуля выполняется окончательный расчет данных и заполнение табличных частей ПериодРегистрации = НачалоМесяца(Дата); Расчет.РассчитатьНачисления(Ссылка, Движения, ОсновныеНачисления, ДополнительныеНачисления, ПериодРегистрации); // Откатываем транзакцию, отменяя тем самым помещенные ранее движения в регистр, эти записи нужны были только для расчета данных в ТЧ ОтменитьТранзакцию(); КонецПроцедуры Процедура ЗаписатьДанныеДокументаВРегистр() Движения.ОсновныеНачисления.Записывать = Истина; Движения.ДополнительныеНачисления.Записывать = Истина; ПериодРегистрации = НачалоМесяца(Дата); Для Каждого ТекСтрокаОсновныеНачисления Из ОсновныеНачисления Цикл Движение = Движения.ОсновныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(Движение, ТекСтрокаОсновныеНачисления); Движение.ПериодДействияНачало = ТекСтрокаОсновныеНачисления.ДатаНачала; Движение.ПериодДействияКонец = ТекСтрокаОсновныеНачисления.ДатаОкончания; Движение.ПериодРегистрации = ПериодРегистрации; КонецЦикла; КонецБазовогоПериодаПремии = КонецМесяца(Дата); Для Каждого ТекСтрокаДополнительныеНачисления Из ДополнительныеНачисления Цикл Движение = Движения.ДополнительныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(Движение, ТекСтрокаДополнительныеНачисления); Движение.ПериодРегистрации = ПериодРегистрации; Движение.БазовыйПериодНачало = ПериодРегистрации; Движение.БазовыйПериодКонец = КонецБазовогоПериодаПремии; КонецЦикла; Движения.Записать(); КонецПроцедуры