Процедура ЗаполнитьГрафик(ДатаНачала, ДатаОкончания, ВыходныеДни) Экспорт
Набор = РегистрыСведений.ГрафикиРаботы.СоздатьНаборЗаписей();
Набор.Прочитать();
ЧислоСекундВСутках = 86400;
ТекущийИндексСмены = 0;
МассивСмен = Новый Массив;
МассивСмен.Добавить(Справочники.ГрафикиРаботы.Смена1);
МассивСмен.Добавить(Справочники.ГрафикиРаботы.Смена2);
МассивСмен.Добавить(Справочники.ГрафикиРаботы.Смена3);
Дат = ДатаНачала;
Пока Дат <= ДатаОкончания Цикл
Запись = Набор.Добавить();
Запись.Дата = Дат;
Запись.ГрафикРаботы = МассивСмен[ТекущийИндексСмены];
Запись.Часов = 24;
Запись.Дней = 1;
Если ДеньНедели(Дат) <= 5 Тогда
Запись = Набор.Добавить();
Запись.Дата = Дат;
Запись.ГрафикРаботы = Справочники.ГрафикиРаботы.Пятидневка;
Запись.Дней = 1;
КонецЕсли;
ТекущийИндексСмены = ТекущийИндексСмены + 1;
Если ТекущийИндексСмены = 3 Тогда
ТекущийИндексСмены = 0;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
КонецЦикла;
Набор.Записать();
КонецПроцедуры