diamond АШ Tlg

Как создать временную таблицу с периодами в ЗУП

Временные таблицы с периодами с различной длительности. Вместо сотен строк кода, предлагаемых в других шпаргалках.

Данная процедура из общего модуля 1С ЗУП создает временную таблицу с периодами, заданными в параметрах. Периодичность можно задать как "ДЕНЬ", "МЕСЯЦ", "КВАРТАЛ", "ГОД", а также последним параметром брать начало или конец периодов.

МВТ = Новый МенеджерВременныхТаблиц;
    
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТПериоды(
    МВТ,
    НачалоИнтервала, КонецИнтервала, 
    "МЕСЯЦ",        // Периодичность, по умолчанию "МЕСЯЦ"
    "Период",       // Имя поля во временной таблице, по умолчанию "Период"
    "ВТ_Периоды",   // Имя временной таблицы, по умолчанию "ВТПериоды"
    Ложь            // Использовать конец периода, по умочанию Ложь
);

Если нужны ежемесячные периоды с определенными датами, например конец дня 15 числа каждого месяца, то можно поступить так:

Запрос.Текст = "ВЫБРАТЬ
    |    КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ВТ_Периоды.Период, ДЕНЬ, 14), ДЕНЬ) КАК Период
    |ПОМЕСТИТЬ ВТ_Периоды15
    |ИЗ
    |    ВТ_Периоды КАК ВТ_Периоды
    |;
    ...