lign="justify"> НовСтр.Колонкі.Добавіть ( Препод1 );
НовСтр.Колонкі.Добавіть ( Препод2 );
НовСтр2=НовСтр.Добавіть ();
НовСтр2.Пара=Предмет;
НовСтр2.Препод1=Преп;
НовСтр2.Препод2=Преп2;
ІнфоГрупп1 [0] [0]=НовСтр;
КонецЕсли;
КонецЕсли;
КонецФункции
Процедура СформіроватьСтаб. Процедура переглядає всі варіанти розкладів для зручної побудови. Якщо 4 пари, то намагається поставити їх у вівторок або четвер.
Процедура СформіроватьСтаб ()
Якщо колпара=4 тоді
Для б=0 по 5 цикл
День=СпісокДней [б] .Значеніе;
Рез=ПроверитьВозможностьЗаписиПредмета(Группа, День, Предмет, Лічильник);
НомерПари=Рез [0];
Преп=Рез [1];
Преп2=Рез [2];
Якщо НомерПари lt; gt; 0 тоді
Лічильник=Лічильник + 1;
НовСтрока=Буфер.Добавіть ();
НовСтрока.День=День;
НовСтрока.Пара=НомерПари;
НовСтрока.Препод=Преп;
НовСтрока.Препод2=Преп2;
КонецЕсли;
Якщо Лічильник=4 тоді
Перервати;
КонецЕсли;
КонецЦікла;
Якщо Лічильник lt; 4 тоді
Повідомити ( - не зміг поставити 4 пар група- + Група + предмет- + Предмет + зміг поставіть- + Лічильник);
КонецЕсли;
Якщо Лічильник lt;=4 тоді
Для б=0 по Лічильник - 1 Цикл
День=Буфер [б] [0];
НомерПари=Буфер [б] [1];
Препод1=Буфер [б] [2];
Препод2=Буфер [б] [3];
Якщо Препод1 lt; gt; Не визначено тоді
ЗанятьПреподавателя (День, НомерПари, Предмет, Препод1, Препод2);
ЗапісатьПредмет (Група, День, Предмет, НомерПари, Препод1, Препод2);
КонецЕсли
КонецЦікла;
КонецЕсли;
КонецЕсли;
КонецПроцедури
Процедура ПровестіДокументи. Процедура створює новий документ «РаспісаніеГруппа», в який поміщаються всі необхідні для розкладу дані.
Процедура ПровестіДокументи ()
День1=ТабОбщ.ПолучітьЗначеніе (1,1);
День1_1=ДатаВидач1;
ДокРасп=Новый(laquo;Документ.РасписаниеГруппыraquo;);
ДокРасп.Новий ();
ДокРасп.ДатаДок=День1_1;
ДокРасп.День=День1;
ДокРасп.НоваяСтрока ();
ДокРасп.Группа=Група;
Таб.ВивестіСекцію ( Група );
Таб.ВивестіСекцію ( Пари );
Якщо Предмет1 lt; gt; Не визначено тоді
ДокРасп.Предмет1=Предмет1;
КонецЕсли;
Якщо Предмет2 lt; gt; Не визначено тоді
ДокРасп.Предмет2=Предмет2;
КонецЕсли;
Якщо Предмет3 lt; gt; Не визначено тоді
ДокРасп.Предмет3=Предмет3;
КонецЕсли
Якщо Предмет4 lt; gt; Не визначено тоді
ДокРасп.Предмет4=Предмет4;
КонецЕсли;
ДокРасп.Запісать ();
ДокРасп.Провесті ();
КонецПроцедури
Процедура прочинені. Дана процедура створює всі необхідні, для створення розкладу, таблиці значень.
Процедура відкриття ()
ПредметиВсе=Новий ТабліцаЗначеній;
ПреподавателіВсе=Новий ТабліцаЗначеній;
ПреподавателіВсе2=Новий ТабліцаЗначеній;
ТабГр=Новий ТабліцаЗначеній;
ТабНов11=Новий ТабліцаЗначеній;
ТАБН=Новий ТабліцаЗначеній;
ТабПрепод=Новий ТабліцаЗначеній;
ТабОбщ=Новий ТабліцаЗначеній;
Буфер=Новий ТабліцаЗначеній;
підносячи=Новий ТабліцаЗначеній;
Буфер2=Новий ТабліцаЗначеній;