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



         

Создание процедуры расчета записей регистра Начисления - часть 8


           Запрос.УстановитьПараметр("Регистратор", НаборЗаписейРегистра.Отбор.Регистратор.Значение);

           Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета);

           Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);

           ВыборкаРезультата = Запрос.Выполнить().Выбрать();

   КонецЕсли;

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

Здесь в параметрах виртуальной таблицы запроса мы, кроме привычных для нас регистратора, вида расчета и списка сотрудников, задаем еще измерения основного и базового регистров. В нашем случае это будет один и тот же регистр, а нужное нам измерение – "Сотрудник".

В заключение осталось добавить во второе условие Если... обход набора записей регистра расчета и вычисление результата вторичных записей:

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

   //Рассчитать первичные записи

   Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда

... [354]

   //Рассчитать вторичные записи

   ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда

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

       Запрос.Текст =

           "ВЫБРАТЬ

           |    НачисленияБазаНачисления.РезультатБаза КАК База,

           |    НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки

           |ИЗ

           |    РегистрРасчета.Начисления.БазаНачисления(




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