Files
SSL/SSL/src/DataProcessors/ЗаполнениеКалендарныхГрафиков/ManagerModule.bsl
T
2021-05-27 23:27:00 +03:00

533 lines
32 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2021, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
// Возвращает основной производственный календарь, используемый в учете.
//
// Возвращаемое значение:
// СправочникСсылка.ПроизводственныеКалендари, Неопределено - основной производственный календарь или
// Неопределено, в случае если он не обнаружен.
//
Функция ОсновнойПроизводственныйКалендарь() Экспорт
// Производственный календарь, составленный в соответствии с ст. 112 ТК РФ.
ПроизводственныйКалендарь = Справочники.ПроизводственныеКалендари.НайтиПоКоду("РФ");
Если ПроизводственныйКалендарь.Пустая() Тогда
Возврат Неопределено;
КонецЕсли;
Возврат ПроизводственныйКалендарь;
КонецФункции
Функция РегиональныйПроизводственныйКалендарь(КПП) Экспорт
Если Не ЗначениеЗаполнено(КПП) Тогда
Возврат Неопределено;
КонецЕсли;
РегиональныйКалендарь = Справочники.ПроизводственныеКалендари.НайтиПоКоду(Лев(СокрЛП(КПП), 2));
Если РегиональныйКалендарь.Пустая() Тогда
Возврат ОсновнойПроизводственныйКалендарь();
КонецЕсли;
Возврат РегиональныйКалендарь;
КонецФункции
Функция ВерсияКалендарей() Экспорт
Возврат 24;
КонецФункции
Функция ВерсияОбновленияПроизводственныхКалендарей() Экспорт
Возврат "3.1.3.195";
КонецФункции
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.4.253";
КонецФункции
// Возвращаемое значение:
// Массив из см. ОписаниеПериодаНерабочихДней
//
Функция ПериодыНерабочихДней(ПроизводственныйКалендарь, Период) Экспорт
Периоды = Новый Массив;
ТаблицаПериодов = РегистрыСведений.ПериодыНерабочихДнейКалендаря.ПериодыНерабочихДней(ПроизводственныйКалендарь);
Для Каждого СтрокаТаблицы Из ТаблицаПериодов Цикл
Периоды.Добавить(
ОписаниеПериодаНерабочихДней(
СтрокаТаблицы.ДатаНачала, СтрокаТаблицы.ДатаОкончания, СтрокаТаблицы.Основание, СтрокаТаблицы.НомерПериода));
КонецЦикла;
Возврат Периоды;
КонецФункции
// Заполняет даты праздничных дней по производственному календарю для конкретного календарного года.
//
// Параметры:
// КодПроизводственногоКалендаря - Строка - код производственного календаря.
// НомерГода - Число - номер года, для которого требуется заполнить праздничные дни.
// ПраздничныеДни - ТаблицаЗначений - заполняет переданную таблицу с колонками:
// * Дата - Дата - календарная дата праздничного дня.
// * ПереноситьВыходной - Булево - Истина, если нужен перенос праздничного дня, если он приходится на выходной.
//
Процедура ЗаполнитьПраздничныеДни(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни) Экспорт
ЗаполнитьПраздничныеДниРоссийскаяФедерация(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиАдыгея(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиБашкортостан(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиБурятия(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиДагестан(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниКабардиноБалкарскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиКалмыкия(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниКарачаевоЧеркесскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиКоми(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиСахаЯкутия(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиТатарстан(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиТыва(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниЧеченскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниЧувашскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниСтавропольскогоКрая(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниБелгородскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниПензенскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниСаратовскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниЗабайкальскогоКрая(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниУстьОрдынскогоБурятскогоОкругаИркутскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиКрым(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниСевастополя(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРоссийскаяФедерация(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "РФ" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздничныеДниРоссийскойФедерации(НомерГода, ПраздничныеДни);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиАдыгея(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "01" Тогда
Возврат;
КонецЕсли;
// 5 октября - День образования Республики Адыгея.
ДобавитьПраздничныйДень(ПраздничныеДни, 5, 10, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиБашкортостан(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "02" Тогда
Возврат;
КонецЕсли;
// 11 октября - День Республики -
// День принятия Декларации о государственном суверенитете Башкирской Советской Социалистической Республики.
ДобавитьПраздничныйДень(ПраздничныеДни, 11, 10, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиБурятия(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "03" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиДагестан(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "05" Тогда
Возврат;
КонецЕсли;
// 26 июля - День Конституции.
ДобавитьПраздничныйДень(ПраздничныеДни, 26, 7, НомерГода);
// 15 сентября - День единства народов Дагестана.
ДобавитьПраздничныйДень(ПраздничныеДни, 15, 9, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниКабардиноБалкарскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "07" Тогда
Возврат;
КонецЕсли;
// 28 марта - День возрождения балкарского народа.
ДобавитьПраздничныйДень(ПраздничныеДни, 28, 3, НомерГода, Ложь, Ложь);
// 21 мая - День памяти адыгов (черкесов) - жертв Русско-Кавказской войны.
ДобавитьПраздничныйДень(ПраздничныеДни, 21, 5, НомерГода, Ложь, Ложь);
// 1 сентября - День государственности Кабардино-Балкарской Республики (День Республики).
ДобавитьПраздничныйДень(ПраздничныеДни, 1, 9, НомерГода, Ложь, Ложь);
// 20 сентября - День адыгов (черкесов).
ДобавитьПраздничныйДень(ПраздничныеДни, 20, 9, НомерГода, Ложь, Ложь);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиКалмыкия(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "08" Тогда
Возврат;
КонецЕсли;
// 5 апреля - День принятия Степного Уложения (Конституции).
Если НомерГода < 2021 Тогда
ДобавитьПраздничныйДень(ПраздничныеДни, 5, 4, НомерГода);
КонецЕсли;
// 28 декабря - День памяти жертв депортации калмыцкого народа.
ДобавитьПраздничныйДень(ПраздничныеДни, 28, 12, НомерГода, Ложь, Ложь, Истина);
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниКарачаевоЧеркесскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "09" Тогда
Возврат;
КонецЕсли;
// 3 мая - День возрождения карачаевского народа.
ДобавитьПраздничныйДень(ПраздничныеДни, 3, 5, НомерГода);
Если НомерГода >= 2017 Тогда
ДобавитьПраздникРадоница(ПраздничныеДни, НомерГода, Ложь, Ложь, Истина);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиКоми(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "11" Тогда
Возврат;
КонецЕсли;
// 22 августа - День Республики Коми.
ДобавитьПраздничныйДень(ПраздничныеДни, 22, 8, НомерГода, Ложь);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиСахаЯкутия(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "14" Тогда
Возврат;
КонецЕсли;
// 27 апреля - День Республики Саха (Якутия).
ДобавитьПраздничныйДень(ПраздничныеДни, 27, 4, НомерГода);
// 21 июня - День национального праздника "Ысыах".
ДобавитьПраздничныйДень(ПраздничныеДни, 21, 6, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиТатарстан(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "16" Тогда
Возврат;
КонецЕсли;
// 30 августа - День Республики Татарстан.
ДобавитьПраздничныйДень(ПраздничныеДни, 30, 8, НомерГода, Ложь);
// 6 ноября - День Конституции Республики Татарстан.
ДобавитьПраздничныйДень(ПраздничныеДни, 6, 11, НомерГода, Ложь);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиТыва(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "17" Тогда
Возврат;
КонецЕсли;
// 6 мая - День Конституции.
ДобавитьПраздничныйДень(ПраздничныеДни, 6, 5, НомерГода);
// 15 августа - День Республики.
ДобавитьПраздничныйДень(ПраздничныеДни, 15, 8, НомерГода);
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниЧеченскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "20" Тогда
Возврат;
КонецЕсли;
// 23 марта - День Конституции.
ДобавитьПраздничныйДень(ПраздничныеДни, 23, 3, НомерГода);
// 16 апреля - День мира.
ДобавитьПраздничныйДень(ПраздничныеДни, 16, 4, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниЧувашскойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "21" Тогда
Возврат;
КонецЕсли;
// 24 июня - День республики.
ДобавитьПраздничныйДень(ПраздничныеДни, 24, 6, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниСтавропольскогоКрая(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "26" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздникРадоница(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниБелгородскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "31" Тогда
Возврат;
КонецЕсли;
// 12 июля - День Прохоровского поля.
Если НомерГода >= 2020 Тогда
ДобавитьПраздничныйДень(ПраздничныеДни, 12, 7, НомерГода);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниЗабайкальскогоКрая(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "75" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниУстьОрдынскогоБурятскогоОкругаИркутскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "85" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниПензенскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "58" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздникРадоница(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниСаратовскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "64" Тогда
Возврат;
КонецЕсли;
ДобавитьПраздникРадоница(ПраздничныеДни, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниРеспубликиКрым(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "91" Тогда
Возврат;
КонецЕсли;
// 18 марта - День воссоединения Крыма с Россией.
ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода);
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниСевастополя(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "92" Тогда
Возврат;
КонецЕсли;
// 18 марта - День воссоединения Крыма с Россией.
Если НомерГода < 2020 Тогда
// Отменен с 2020 года.
ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода);
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьПраздничныеДниРоссийскойФедерации(НомерГода, ПраздничныеДни)
// 1, 2, 3, 4, 5, 6 и 8 января - Новогодние каникулы.
ДобавитьПраздничныйДень(ПраздничныеДни, 1, 1, НомерГода, Ложь);
ДобавитьПраздничныйДень(ПраздничныеДни, 2, 1, НомерГода, Ложь);
ДобавитьПраздничныйДень(ПраздничныеДни, 3, 1, НомерГода, Ложь);
ДобавитьПраздничныйДень(ПраздничныеДни, 4, 1, НомерГода, Ложь);
ДобавитьПраздничныйДень(ПраздничныеДни, 5, 1, НомерГода, Ложь);
ДобавитьПраздничныйДень(ПраздничныеДни, 6, 1, НомерГода, Ложь);
ДобавитьПраздничныйДень(ПраздничныеДни, 8, 1, НомерГода, Ложь);
// 7 января - Рождество Христово.
ДобавитьПраздничныйДень(ПраздничныеДни, 7, 1, НомерГода, Ложь);
// 23 февраля - День защитника Отечества.
ДобавитьПраздничныйДень(ПраздничныеДни, 23, 2, НомерГода);
// 8 марта - Международный женский день.
ДобавитьПраздничныйДень(ПраздничныеДни, 8, 3, НомерГода);
// 1 мая - Праздник Весны и Труда.
ДобавитьПраздничныйДень(ПраздничныеДни, 1, 5, НомерГода);
// 9 мая - День Победы
ДобавитьПраздничныйДень(ПраздничныеДни, 9, 5, НомерГода);
// 12 июня - День России
ДобавитьПраздничныйДень(ПраздничныеДни, 12, 6, НомерГода);
// 4 ноября - День народного единства.
ДобавитьПраздничныйДень(ПраздничныеДни, 4, 11, НомерГода);
КонецПроцедуры
Процедура ДобавитьПраздничныйДень(ПраздничныеДни, День, Месяц, Год, ПереноситьВыходной = Истина, ДобавлятьПредпраздничный = Истина, ТолькоНерабочий = Ложь)
НоваяСтрока = ПраздничныеДни.Добавить();
НоваяСтрока.Дата = Дата(Год, Месяц, День);
НоваяСтрока.ПереноситьВыходной = ПереноситьВыходной;
НоваяСтрока.ДобавлятьПредпраздничный = ДобавлятьПредпраздничный;
НоваяСтрока.ТолькоНерабочий = ТолькоНерабочий;
КонецПроцедуры
Процедура ДобавитьПраздникЦаганСар(ПраздничныеДни, Год, ПереноситьВыходной = Истина, ДобавлятьПредпраздничный = Истина, ТолькоНерабочий = Ложь)
ДатаЦаганСар = ДатаПраздникаЦаганСар(Год);
Если ДатаЦаганСар = Неопределено Тогда
Возврат;
КонецЕсли;
ДобавитьПраздничныйДень(ПраздничныеДни, День(ДатаЦаганСар), Месяц(ДатаЦаганСар), Год, ПереноситьВыходной, ДобавлятьПредпраздничный, ТолькоНерабочий);
КонецПроцедуры
Функция ДатаПраздникаЦаганСар(НомерГода)
ТекстовыйДокумент = ПолучитьМакет("ДатыЦаганСар");
ДатыЦаганСар = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ТекстовыйДокумент.ПолучитьТекст()).Данные;
ОтборСтрок = Новый Структура("Year");
ОтборСтрок.Year = Формат(НомерГода, "ЧГ=");
НайденныеСтроки = ДатыЦаганСар.НайтиСтроки(ОтборСтрок);
Если НайденныеСтроки.Количество() > 0 Тогда
Возврат Дата(НайденныеСтроки[0]["Date"]);
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьПраздникРадоница(ПраздничныеДни, Год, ПереноситьВыходной = Истина, ДобавлятьПредпраздничный = Истина, ТолькоНерабочий = Ложь)
ДатаРадоницы = ДатаПраздникаРадоница(Год);
Если ДатаРадоницы = Неопределено Тогда
Возврат;
КонецЕсли;
ДобавитьПраздничныйДень(ПраздничныеДни, День(ДатаРадоницы), Месяц(ДатаРадоницы), Год, ПереноситьВыходной, ДобавлятьПредпраздничный, ТолькоНерабочий);
КонецПроцедуры
Функция ДатаПраздникаРадоница(НомерГода)
ТекстовыйДокумент = ПолучитьМакет("ДатыРадоница");
ДатыЦаганСар = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ТекстовыйДокумент.ПолучитьТекст()).Данные;
ОтборСтрок = Новый Структура("Year");
ОтборСтрок.Year = Формат(НомерГода, "ЧГ=");
НайденныеСтроки = ДатыЦаганСар.НайтиСтроки(ОтборСтрок);
Если НайденныеСтроки.Количество() > 0 Тогда
Возврат Дата(НайденныеСтроки[0]["Date"]);
КонецЕсли;
Возврат Неопределено;
КонецФункции
// Возвращаемое значение:
// Структура:
// * Номер - Число
// * Период - СтандартныйПериод
// * Основание - Произвольный
// * Даты - Массив
// * Представление - Строка
//
Функция ОписаниеПериодаНерабочихДней(Начало, Окончание, Основание = "", Номер = 0)
ОбщегоНазначенияКлиентСервер.Проверить(Начало <= Окончание, НСтр("ru = 'Начало периода позже его завершения'"));
ОписаниеПериода = Новый Структура("Номер, Период, Основание, Даты, Представление");
ОписаниеПериода.Номер = Номер;
ОписаниеПериода.Период = Новый СтандартныйПериод(Начало, Окончание);
ОписаниеПериода.Основание = Основание;
ОписаниеПериода.Даты = Новый Массив;
Если НачалоДня(Начало) = НачалоДня(Окончание) Тогда
ОписаниеПериода.Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 - %2'"), Формат(Начало, "ДЛФ=D;"), ОписаниеПериода.Основание);
Иначе
ОписаниеПериода.Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'с %1 по %2 - %3'"), Формат(Начало, "ДЛФ=D;"), Формат(Окончание, "ДЛФ=D;"), ОписаниеПериода.Основание);
КонецЕсли;
ДатаОбхода = НачалоДня(Начало);
Пока ДатаОбхода <= Окончание Цикл
ОписаниеПериода.Даты.Добавить(ДатаОбхода);
ДатаОбхода = ДатаОбхода + 86400;
КонецЦикла;
Возврат ОписаниеПериода;
КонецФункции
#КонецОбласти
#КонецЕсли