1С-Предприятие 8.0. Практическое пособие разработчика



         

Выполнение перерасчета записей регистра расчета


Итак, в нашем алгоритме работы с данными расчета осталось одно "узкое" место – контроль актуальности данных, содержащихся в регистре расчета. До сих пор мы с вами использовали служебный отчет "Перерасчет" для того, чтобы определить, являются ли данные в регистре расчета актуальными или же они требуют перерасчета.

Теперь мы с вами создадим специальную процедуру, которая будет определять, требуется ли перерасчет данных регистра расчета и, если такая необходимость есть – выполнять перерасчет.

Поскольку единственным способом получения итоговой информации о начислениях сотрудникам в нашей конфигурации является отчет "НачисленияСотрудникам", для вызова этой процедуры мы добавим кнопку "Перерасчитать" в командную панель "ДействияФормы":

В обработчик события нажатия кнопки вставим текст вызова процедуры перерасчета:

Процедура ДействияФормыПерерасчитать(Кнопка)

ПерерасчитатьНачисления(ПланыВидовРасчета.ОсновныеНачисления.Оклад);

   ПерерасчитатьНачисления(ПланыВидовРасчета.ОсновныеНачисления.Премия);

КонецПроцедуры

Саму процедуру перерасчета разместим в общем модуле "ПроведениеРасчетов":

Процедура ПерерасчитатьНачисления(ТребуемыйВидРасчета) Экспорт

   //здесь следует выбрать из набора записей перерасчета, записи

   //в следующей последовательности:

   //записи документа1 для сотрудников из списка, [359]

   //записи документа2 для сотрудников из списка,

   //и т.д.

   Запрос = Новый Запрос(

       "ВЫБРАТЬ

       |    НачисленияПерерасчет.ОбъектПерерасчета КАК ОбъектПерерасчета,

       |    НачисленияПерерасчет.Сотрудник

       |ИЗ

       |    РегистрРасчета.Начисления.Перерасчет КАК НачисленияПерерасчет




Содержание  Назад  Вперед