3.1 KiB
title, slug
title | slug |
---|---|
ВТ «Плановые начисления» сотрудников на дату | примеры-сниппеты-бсп-и-типовые-зуп/вт-плановые-начисления-сотрудников-на-дату |
Сначала необходимо создать временную таблицу отборов, в которой будет 2 поля Сотрудник
и Дата
. Эти поля заполняем списком сотрудников, по которым необходимо получить начисления и дату актуальности. В примере ниже создается временная таблица ВТСотрудникиПериоды
, в которую из формы через таблицу значений передаются сотрудники.
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ТЗ = РеквизитФормыВЗначение("Сотрудники", Тип("ТаблицаЗначений"));
Запрос.Текст =
"ВЫБРАТЬ
| Сотрудники.Сотрудник КАК Сотрудник,
| &Дата КАК Период
|ПОМЕСТИТЬ ВТСотрудникиПериоды
|ИЗ
| &ТЗ КАК Сотрудники";
Запрос.УстановитьПараметр("ТЗ", ТЗ);
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Запрос.Выполнить();
Далее вызываем функцию общего модуля КадровыйУчетРасширенный.ЗапросВТПлановыеНачисленияСотрудников
, которая вернет текст запроса для получения начислений:
ЗапросНачисления = КадровыйУчетРасширенный.ЗапросВТПлановыеНачисленияСотрудников(
, Истина // Только разрешенные
, "ВТНачисления" // Имя создаваемой ВТ
, "ВТСотрудникиПериоды" // Имя ВТ-отбора (создали выше)
, "Сотрудник, Период"); // Имя полей таблицы ВТ-отбора
Теперь полученный текст запроса необходимо передать в сам запрос. В менеджере временных таблиц такого запроса должна быть таблица отборов, которая была указана в качестве аргумента функции ЗапросВТПлановыеНачисленияСотрудников
(в нашем случае ВТСотрудникиПериоды
). Проще всего передать текст в уже имеющийся запрос:
Запрос.Текст = ЗапросНачисления.Текст;
Запрос.Выполнить();
В результате - Временная таблица со всеми начислениями сотрудников