Untitled
unknown
plain_text
2 years ago
2.7 kB
9
Indexable
&НаСервереБезКонтекста
Процедура ПерерассчитатьНаСервере()
// Получаем данные из таблицы перерасчетов, затем по каждому документу (ОбъектПерерасчета) вызываем процедуру
// расчета начислений с отбором по сотрудникам и подразделениям, требующим пересчета.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Перерасчет.ОбъектПерерасчета КАК ОбъектПерерасчета,
| Перерасчет.Сотрудник КАК Сотрудник,
| Перерасчет.Подразделение КАК Подразделение
|ИЗ
| РегистрРасчета.ДополнительныеНачисления.Перерасчет КАК Перерасчет
|ИТОГИ ПО
| ОбъектПерерасчета";
ДопОтбор = Новый ТаблицаЗначений;
ДопОтбор.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
ДопОтбор.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
ВыборкаПоРегистратору = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоРегистратору.Следующий() Цикл
ВыборкаПоСотрудникам = ВыборкаПоРегистратору.Выбрать();
ДопОтбор.Очистить();
Пока ВыборкаПоСотрудникам.Следующий() Цикл
НоваяСтрока = ДопОтбор.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаПоСотрудникам);
КонецЦикла;
Расчет.РассчитатьДопНачисления(ВыборкаПоРегистратору.ОбъектПерерасчета, ДопОтбор);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Перерассчитать(Команда)
ПерерассчитатьНаСервере();
СкомпоноватьРезультат(); // Переформировываем отчет после перерасчета
КонецПроцедуры
Editor is loading...