ВвестиПерерасчетНаОсновании
Вводит перерасчет текущей записи журнала расчетов на основании произвольного документа.
Синтаксис:
ВвестиПерерасчетНаОсновании(<Документ>)
Англоязычный синоним:
InsertRecalcByReason
Параметры:
<Документ> |
Документ, на основании которого вводится запись (или записи) в журнал расчетов. |
Возвращаемое значение:
Число: 1 — если операция успешно выполнена; 0 — в противном случае.
Описание:
Метод предназначен для ввода строк-перерасчетов в журнал расчетов на основании произвольного документа. Как правило, используется в модуле документа, но может использоваться и в модуле вида расчета. Метод вводит полную копию текущей записи в журнал расчетов, не заполняя лишь атрибут Результат и вводя в качестве документа-основания параметр <Документ>.
В отличие от метода ВвестиПерерасчет (который вводит записи журнала на основании того документа, в модуле которого используется метод), данный метод вводит записи-перерасчеты, задавая для них произвольный документ-основание.
Записи-перерасчеты могут вводиться только для записей одного из прошлых расчетных периодов. Невозможно ввести перерасчет записи, которая в свою очередь является перерасчетом. При этом система позволяет вводить несколько записей-перерасчетов в разных расчетных периодах для одной и той же записи журнала.
Пример:
Процедура ПровестиПерерасчет(Док)
//Группа расчетов "оплата по среднему"
ОС = ГруппаРасчетов.ОплатаПоСреднему;
// перерасчет по журналу "зарплата"
ЖрнЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
// дата, начиная с которой нужно перерасчитывать и начисления
ДатаНачислений = ЖрнЗарплата.КонецПериодаПоДате(Начало) + 1;
// выделим все записи ЖР по сотруднику
ЖрнЗарплата.ВыбратьЗаписиПоОбъекту(Док.Сотрудник,
ЖрнЗарплата.НачалоПериодаПоДате(Док.Начало),
Минимум(Док.Окончание, ЖрнЗарплата.НачалоТекущегоПериода() - 1));
Сч = 1;
Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл
Если ((ЖрнЗарплата.ВидРасч.ВходитВГруппу(ОС) = 1) И
(ЖрнЗарплата.ДатаНачала < ДатаНачислений)) Тогда
ЖрнЗарплата.ВвестиПерерасчетНаОсновании(Док);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
См. также: Перерасчет, ВвестиПерерасчет