Загрузка данных



Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ЗаполнитьПланировщикНаСервере();
	Планировщик.ЕдиницаПериодическогоВарианта = ТипЕдиницыШкалыВремени.Час;
	Планировщик.КратностьПериодическогоВарианта = 24;
	Планировщик.ОтступСНачалаПереносаШкалыВремени = 8;
	Планировщик.ОтступСКонцаПереносаШкалыВремени = 9;
	Планировщик.ВыравниватьГраницыЭлементовПоШкалеВремени = Ложь;
КонецПроцедуры

Процедура ЗаполнитьПланировщикНаСервере()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	УчебныйДеньУроки.Ссылка.Дата КАК Дата,
		|	УчебныйДеньУроки.НомерСтроки КАК НомерУрока,
		|	УчебныйДеньУроки.Предмет.Представление КАК Предмет
		|ИЗ
		|	Документ.УчебныйДень.Уроки КАК УчебныйДеньУроки
		|
		|УПОРЯДОЧИТЬ ПО
		|	Дата,
		|	НомерУрока";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	Выборка = РезультатЗапроса.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		ДатаНачала = НачалоДня(Выборка.Дата) + НачалоУрока(Выборка.НомерУрока);
		ДатаОкончания = НачалоДня(Выборка.Дата) + КонецУрока(Выборка.НомерУрока);
		НовыйЭлемент = Планировщик.Элементы.Добавить(ДатаНачала, ДатаОкончания);
		НовыйЭлемент.Текст = Выборка.Предмет;
	КонецЦикла;

КонецПроцедуры

Функция НачалоУрока(НомерУрока)
	Если НомерУрока = 1 Тогда
		Возврат 8 * 60 * 60 + 30 * 60; // 08:30
	ИначеЕсли НомерУрока = 2 Тогда
		Возврат 9 * 60 * 60 + 30 * 60; // 09:30
	ИначеЕсли НомерУрока = 3 Тогда
		Возврат 10 * 60 * 60 + 30 * 60; // 10:30
	ИначеЕсли НомерУрока = 4 Тогда
		Возврат 11 * 60 * 60 + 30 * 60; // 11:30
	ИначеЕсли НомерУрока = 5 Тогда
		Возврат 12 * 60 * 60 + 35 * 60; // 12:35
	ИначеЕсли НомерУрока = 6 Тогда
		Возврат 13 * 60 * 60 + 30 * 60; // 13:30
	ИначеЕсли НомерУрока = 7 Тогда
		Возврат 14 * 60 * 60 + 25 * 60; // 14:25
	Иначе
		Возврат 0;
	КонецЕсли;
КонецФункции

Функция КонецУрока(НомерУрока)
	Если НомерУрока = 1 Тогда
		Возврат 9 * 60 * 60 + 15 * 60; // 09:15
	ИначеЕсли НомерУрока = 2 Тогда
		Возврат 10 * 60 * 60 + 15 * 60; // 10:15
	ИначеЕсли НомерУрока = 3 Тогда
		Возврат 11 * 60 * 60 + 15 * 60; // 11:15
	ИначеЕсли НомерУрока = 4 Тогда
		Возврат 12 * 60 * 60 + 15 * 60; // 12:15
	ИначеЕсли НомерУрока = 5 Тогда
		Возврат 13 * 60 * 60 + 20 * 60; // 13:20
	ИначеЕсли НомерУрока = 6 Тогда
		Возврат 14 * 60 * 60 + 15 * 60; // 14:15
	ИначеЕсли НомерУрока = 7 Тогда
		Возврат 15 * 60 * 60 + 10 * 60; // 15:10
	Иначе
		Возврат 0;
	КонецЕсли;
КонецФункции