Запрос.УстановитьПараметр("Регистратор", НаборЗаписейРегистра.Отбор.Регистратор.Значение);
Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета);
Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);
ВыборкаРезультата = Запрос.Выполнить().Выбрать();
КонецЕсли;
КонецПроцедуры
Здесь в параметрах виртуальной таблицы запроса мы, кроме привычных для нас регистратора, вида расчета и списка сотрудников, задаем еще измерения основного и базового регистров. В нашем случае это будет один и тот же регистр, а нужное нам измерение – "Сотрудник".
В заключение осталось добавить во второе условие Если... обход набора записей регистра расчета и вычисление результата вторичных записей:
Процедура РасчитатьНачисления(НаборЗаписейРегистра, ТребуемыйВидРасчета, СписокСотрудников) Экспорт
//Рассчитать первичные записи
Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда
... [354]
//Рассчитать вторичные записи
ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НачисленияБазаНачисления.РезультатБаза КАК База,
| НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки
|ИЗ
| РегистрРасчета.Начисления.БазаНачисления(