Обмеження
Правила, що визначають розміщення занять — як додати правило, що насправді означає вага, і чому важливий порядок списку.
Заняття вказують, що має бути викладено. Обмеження вказують, де це може відбуватися: цей викладач недоступний у п'ятницю, ця лабораторія може вмістити лише одне заняття одночасно, ця дисципліна не повинна бути останнім заняттям дня.
Вони розділені на дві секції, оскільки FET розглядає їх як дві окремі проблеми. Обмеження за часом стосуються часу. Обмеження за місцем стосуються місця.

Два правила, які ви не створювали
Кожен розклад містить два обмеження, які він не створював: базове обов'язкове правило для часу та одне для місця. Вони є основою — жоден викладач або студентська група не може бути в двох місцях одночасно, жодна аудиторія не може бути заброньована двічі.
FET вимагає їх, тому вони завжди мають повну вагу і не можуть бути вимкнені. Вони з'являються у списку, позначені як Обов'язкові, з заблокованим перемикачем.
Вага — це вся ідея
Кожне інше обмеження має вагу від 0 до 100. Ви можете вибрати це число для деяких типів, а для інших — ні — правило описано далі на цій сторінці.
100% — це жорстко. Це має бути дотримано. Якщо ні, розкладу не існує.
Менше 100% — це перевага, і її вага показує, наскільки сильно ви цього бажаєте. Правило на 95% буде дотримано, якщо тільки його дотримання не унеможливлює щось інше; правило на 40% — це лише рекомендація. Це дозволяє розкладу бути хорошим, а не просто законним — ви можете висловити Я б краще цього не робив, але зроблю, якщо доведеться, саме так працюють справжні школи.
Список позначає кожен рядок Жорстке або М'яке саме на цій основі, і ви можете фільтрувати список за діапазоном ваги, щоб знайти все, що ви зробили жорстким, або все, що ви залишили як побажання.
Більшість типів обмежень взагалі не можуть мати вагу. FET веде список типів, яким ви можете вільно призначати вагу, і відхиляє кожен тип, якого немає в ньому.
⛔ Це не формальність. FET відхиляє значення двічі: його власний діалог не збереже його, і його генератор зупиняється, перш ніж почати. Файл, який містить один з цих типів з вагою менше 100%, не дає вам гіршого розкладу. Він не дає вам жодного.
Редактор вимикає поле ваги для цих типів і пояснює, чому. Отже, ви не можете ввести число, яке FET відхилить.
Ще два випадки вимагають 100%:
- обов'язкові правила вище
- правило про бажану аудиторію для віртуальної аудиторії, яка була прив'язана до конкретних реальних аудиторій — власна вимога FET. Це залежить від того, що містить правило, а не від його типу, тому воно змінюється, коли ви редагуєте список аудиторій.
Є одна чесна особливість. Файл, імпортований з FET, ніколи не коригується, навіть якщо він містить одне з цих правил з вагою менше повної. Мовчазне переписування чужого файлу порушило б обіцянку, що те, що входить, виходить. Тому список показує вагу, яка зберігається, з причиною, показаною як підказка, замість того, щоб показувати вам число, якого немає у файлі.
Додавання
Додати відкриває вибір усіх типів обмежень, які підтримує FET, згрупованих за категоріями та доступних для пошуку. Їх дуже багато, і поле пошуку — це шлях до них — введіть аудиторія, або проміжок, або послідовні, і подивіться, що існує.
Вибір типу відкриває його редактор, який побудований на основі власного визначення цього типу, тому поля, які ви отримуєте, є полями, які фактично має цей тип. Поруч знаходиться панель довідки, що описує, що робить обмеження. Варто прочитати: назви обмежень лаконічні, і кілька типів є близькими сусідами, які відрізняються одним важливим аспектом.
Де обмеження потребує часових слотів, ви не заповнюєте список — ви отримуєте сітку днів × годин і натискаєте на клітинки. Деякі типи потребують наборів слотів, а не одного вибору; вони надають вам єдину сітку, де кожна клітинка зафарбована в пронумерований набір, щоб ви могли бачити набори один проти одного замість того, щоб підтримувати кілька списків поруч.
Кожне заняття, чи лише деякі?
Це збиває людей з пантелику, і варто чітко зазначити: для багатьох типів обмежень поля, що називають викладача, дисципліну або групу, не визначають, хто постраждав — вони визначають, які заняття розглядає правило.
Вони є фільтром для занять, а не ціллю. Читання поля форми як це правило стосується пана Сміта, коли воно означає розглянути заняття за участю пана Сміта, призводить до правил, які тихо нічого не роблять. Довідкова панель для кожного типу вказує, що це таке.
Порядок
Список має порядок, і він не є декоративним: це порядок, у якому обмеження записуються в експортований файл.
Перетягуйте рядки за їхнім маркером, щоб розташувати їх, або використовуйте Сортувати А→Я, щоб упорядкувати весь розділ за алфавітом і зберегти це. Перетягування пропонується лише тоді, коли ви переглядаєте повний список у його природному порядку — тоді як пошук, сортування або фільтр звужує його, позиція, куди ви перетягуєте, була б безглуздою. Обов'язкові правила керуються FET і ніколи не переміщуються.
Зміни порядку можна скасувати.
Робота з довгим списком
Розділ має панель категорій, поле пошуку, фільтр активних/неактивних та повзунок діапазону ваги. Завдяки їм ви зазвичай можете перейти від щось не так з п'ятницею до кількох правил, які її згадують.
Вибір рядків дозволяє активувати, деактивувати, встановити вагу або видалити однією дією. Деактивація є корисною — вона зберігає правило та його налаштування, виводячи його з дії, саме так ви перевіряєте, чи є правило тим, що робить ваш розклад неможливим.
Кожне обмеження в масовій дії авторизується окремо. Той, хто працює за посиланням для спільного доступу з обмеженими правами, змінює те, що йому дозволено змінювати, а решта залишається без змін, замість того, щоб вся дія провалилася. Масова зміна ваги також називає все, що вона відмовилася переміщувати.
Над списком редактори отримують однорядковий попередній підсумок. Якщо він повідомляє про блокуючий конфлікт, це доказ, а не попередження, і варто звернути на це увагу, перш ніж продовжувати.