Как создать временную таблицу с периодами в ЗУП
Временные таблицы с периодами с различной длительности. Вместо сотен строк кода, предлагаемых в других шпаргалках.
Данная процедура из общего модуля 1С ЗУП создает временную таблицу с периодами, заданными в параметрах. Периодичность можно задать как "ДЕНЬ", "МЕСЯЦ", "КВАРТАЛ", "ГОД", а также последним параметром брать начало или конец периодов.
МВТ = Новый МенеджерВременныхТаблиц;
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТПериоды(
МВТ,
НачалоИнтервала, КонецИнтервала,
"МЕСЯЦ", // Периодичность, по умолчанию "МЕСЯЦ"
"Период", // Имя поля во временной таблице, по умолчанию "Период"
"ВТ_Периоды", // Имя временной таблицы, по умолчанию "ВТПериоды"
Ложь // Использовать конец периода, по умочанию Ложь
);
Если нужны ежемесячные периоды с определенными датами, например конец дня 15 числа каждого месяца, то можно поступить так:
Запрос.Текст = "ВЫБРАТЬ
| КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Периоды.Период, ДЕНЬ, 14), ДЕНЬ) КАК Период
|ПОМЕСТИТЬ ВТ_Периоды15
|ИЗ
| ВТ_Периоды КАК ВТ_Периоды
|;
...