Иерархия групп: родительские и дочерние группы, унаследованные ограничения
PremiumФункция Premium. Иерархия групп и временные ограничения групп входят в функции Premium.
Помимо плоской модели «класс → группы», в Omniscol группы класса можно выстроить в иерархию «родитель / потомок» и задать временные ограничения, которые передаются по наследству. Это удобно, когда класс делится на несколько последовательных уровней подгрупп.
Создание иерархии перетаскиванием
На странице групп класса иерархия задаётся перетаскиванием:
- Перетащите группу на другую группу → дочерняя группа прикрепляется к родительской.
- Перетащите дочернюю группу на заголовок списка групп → она выходит из иерархии и снова становится группой, напрямую входящей в класс.
Глубина не ограничена. Если ваше деление этого требует, можно строить цепочки «родитель → потомок → внук».
Типовой пример
Типовая иерархия:
Заданные разделения:
(A, B)— A и B исключают друг друга на родительском уровне.(A1, A2)— внутри A группы A1 и A2 исключают друг друга.(B1, B2)— внутри B группы B1 и B2 исключают друг друга.
Автоматическое следствие: Omniscol разрешает ставить в одно время
группы из разных ветвей — например, A1 и B2 могут идти в одном
временном слоте, поскольку ни один ученик не входит в обе (A1 ⊂ A,
B2 ⊂ B, а A ∩ B = ∅).
Задавать разделение (A1, B2) не нужно: оно вычисляется по
наследству.
Наследование временных ограничений
Помимо разделений, к группе можно привязать временные ограничения (доступность, несовместимости). При наличии иерархии эти ограничения наследуются от родителей к потомкам через механизм маски, которую потомки могут переопределить.
Пример: слот, зарезервированный под физкультуру
Типичный случай:
- Класс
8Aнедоступен в понедельник после обеда (общий слот заблокирован под коллективные мероприятия). - По наследству все группы класса недоступны в понедельник после обеда.
- Кроме группы
Спорт: её маску инвертируют, разрешая понедельник после обеда и запрещая всё остальное. Все спортивные занятия этой группы автоматически попадут на этот защищённый слот.
Механизм мощный: родительской маски и одного исключения у потомка достаточно, чтобы аккуратно смоделировать выделенные слоты, не дублируя ограничение в каждом курсе.
Ещё один пример: родитель Элективы задаёт допустимые слоты
Ещё один очень полезный случай: учебное заведение хочет, чтобы все элективы проходили только в нескольких зарезервированных слотах, например:
- в понедельник утром,
- в среду до 10:00,
- в пятницу утром.
Тогда можно:
- создать родительскую группу
Элективы, которая сама не будет привязана к курсам; - задать на этой группе допустимые слоты, закрасив временные ограничения;
- создать под ней столько подгрупп, сколько нужно:
Электив: маркетинг,Электив: финансы,Электив: данныеи т. д.
Все эти подгруппы наследуют одни и те же допустимые слоты. Если правило
изменится, достаточно поправить одно место — родительскую группу
Элективы.
Правила наследования
- Дочерняя группа по умолчанию наследует временные ограничения родительской.
- Потомок может переопределить эти ограничения: добавить собственные или инвертировать маску.
- Разделения родителя автоматически действуют и на потомков: если A и B находятся в разделении, потомки A исключают потомков B без явного объявления.
Унаследованные ограничения и группы групп
Группа может также входить в группу групп. Её ограничения — как собственные, так и унаследованные от класса и родительских групп — тогда объединяются с ограничениями других групп-участников: занятие группы групп учитывает всю совокупность этих недоступностей. Таким образом, наследование идёт вниз по иерархии, а затем объединение собирает вместе участников группы групп.
Подробнее об объединении — на странице Группы групп.
Когда использовать иерархию
- Блоки по выбору: класс, в котором иностранные языки устроены по уровням (Английский углублённый > A1-Разговорная практика, A1-Страноведение, A2-…).
- Лабораторные работы с подротациями: два полукласса на лабораторные работы, каждый из которых делится на подгруппы для отдельных опытов.
- Дифференцированные траектории: основная траектория с отдельными необязательными модулями, которые планируются внутри траектории.
- Спорт: общая группа, объединяющая всех учеников, с отдельной маской для спортивных слотов.
- Элективы в зарезервированных слотах: родительская группа
Элективызадаёт допустимые слоты, а её подгруппы соответствуют реальным элективам.
Когда не использовать
- Для простых классов без иерархического деления — иерархия добавляет сложности.
- Для объединения учеников разных классов — для этого существуют совмещения и группы групп, а не внутриклассная иерархия.
- Для открытой записи подходят свободные группы.
Инструкция
Как построить иерархию «родитель/потомок»
-
Иерархия групп выстраивает группы класса в родительские и дочерние, с наследованием временных ограничений.
-
Сначала создайте плоский список групп на странице групп класса:
A,A1,A2,B,B1,B2и сквозную группуСпорт. На этом этапе все они находятся на одном уровне и напрямую входят в класс. -
Перетаскиванием постройте иерархию: перетащите
A1наA→A1становится потомкомA. Так же поступите сA2,B1,B2. Получатся две ветвиA → A1, A2иB → B1, B2. Глубина не ограничена.Чтобы вывести дочернюю группу из иерархии, перетащите её на заголовок списка групп класса.
-
Объявите разделения:
(A, B)на родительском уровне (исключающие друг друга),(A1, A2)под A,(B1, B2)под B. Повторно задавать(A1, B2)не нужно: по наследству Omniscol вычисляет, чтоA1 ⊂ AиB2 ⊂ Bсовместимы (их можно ставить в один временной слот). -
Задайте родительскую маску: на классе отметьте понедельник после обеда как недоступный. Все группы унаследуют это автоматически. Проверьте по сетке каждой группы: слот везде заблокирован.
-
Инвертируйте маску у группы
Спорт: в карточке группы «Спорт» инвертируйте временное ограничение — разрешите понедельник после обеда и запретите всё остальное. Все спортивные занятия сами попадут на этот выделенный слот, и задавать его в каждом курсе не придётся. -
Теперь у вас работает иерархия с наследованием разделений и отдельной временной маской. Формирование расписания учитывает её при автоматическом построении, а унаследованные конфликты отображаются в реальном времени.