Untitled

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