Иерархия групп: родительские и дочерние группы, унаследованные ограничения

Premium

Функция Premium. Иерархия групп и временные ограничения групп входят в функции Premium.

Иерархия групп: стройте группы класса в виде родительских и дочерних, с временными ограничениями, которые передаются по наследству, — для структур с несколькими последовательными уровнями деления.

Помимо плоской модели «класс → группы», в Omniscol группы класса можно выстроить в иерархию «родитель / потомок» и задать временные ограничения, которые передаются по наследству. Это удобно, когда класс делится на несколько последовательных уровней подгрупп.

Создание иерархии перетаскиванием

На странице групп класса иерархия задаётся перетаскиванием:

  • Перетащите группу на другую группу → дочерняя группа прикрепляется к родительской.
  • Перетащите дочернюю группу на заголовок списка групп → она выходит из иерархии и снова становится группой, напрямую входящей в класс.

Глубина не ограничена. Если ваше деление этого требует, можно строить цепочки «родитель → потомок → внук».

Типовой пример

Типовая иерархия:

Класс 8A

A — родитель

A1 — потомок A

A2 — потомок A

B — родитель

B1 — потомок B

B2 — потомок B

Заданные разделения:

  • (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,
  • в пятницу утром.

Тогда можно:

  • создать родительскую группу Элективы, которая сама не будет привязана к курсам;
  • задать на этой группе допустимые слоты, закрасив временные ограничения;
  • создать под ней столько подгрупп, сколько нужно: Электив: маркетинг, Электив: финансы, Электив: данные и т. д.

Все эти подгруппы наследуют одни и те же допустимые слоты. Если правило изменится, достаточно поправить одно место — родительскую группу Элективы.

Элективы — родительская группа

Электив: маркетинг

Электив: финансы

Электив: данные

Допустимые слоты: понедельник утром, среда до 10\:00, пятница утром

Правила наследования

  • Дочерняя группа по умолчанию наследует временные ограничения родительской.
  • Потомок может переопределить эти ограничения: добавить собственные или инвертировать маску.
  • Разделения родителя автоматически действуют и на потомков: если A и B находятся в разделении, потомки A исключают потомков B без явного объявления.

Унаследованные ограничения и группы групп

Группа может также входить в группу групп. Её ограничения — как собственные, так и унаследованные от класса и родительских групп — тогда объединяются с ограничениями других групп-участников: занятие группы групп учитывает всю совокупность этих недоступностей. Таким образом, наследование идёт вниз по иерархии, а затем объединение собирает вместе участников группы групп.

Класс — недоступен в понедельник после обеда

Родительская группа

Дочерняя группа — наследует от родителя

Группа групп

Другая группа-участник (другой класс)

Занятие: объединённые недоступности

Подробнее об объединении — на странице Группы групп.

Когда использовать иерархию

  • Блоки по выбору: класс, в котором иностранные языки устроены по уровням (Английский углублённый > A1-Разговорная практика, A1-Страноведение, A2-…).
  • Лабораторные работы с подротациями: два полукласса на лабораторные работы, каждый из которых делится на подгруппы для отдельных опытов.
  • Дифференцированные траектории: основная траектория с отдельными необязательными модулями, которые планируются внутри траектории.
  • Спорт: общая группа, объединяющая всех учеников, с отдельной маской для спортивных слотов.
  • Элективы в зарезервированных слотах: родительская группа Элективы задаёт допустимые слоты, а её подгруппы соответствуют реальным элективам.

Когда не использовать

  • Для простых классов без иерархического деления — иерархия добавляет сложности.
  • Для объединения учеников разных классов — для этого существуют совмещения и группы групп, а не внутриклассная иерархия.
  • Для открытой записи подходят свободные группы.

Инструкция

Как построить иерархию «родитель/потомок»

  1. Иерархия групп выстраивает группы класса в родительские и дочерние, с наследованием временных ограничений.

  2. Сначала создайте плоский список групп на странице групп класса: A, A1, A2, B, B1, B2 и сквозную группу Спорт. На этом этапе все они находятся на одном уровне и напрямую входят в класс.

  3. Перетаскиванием постройте иерархию: перетащите A1 на A → A1 становится потомком A. Так же поступите с A2, B1, B2. Получатся две ветви A → A1, A2 и B → B1, B2. Глубина не ограничена.

    Чтобы вывести дочернюю группу из иерархии, перетащите её на заголовок списка групп класса.

  4. Объявите разделения: (A, B) на родительском уровне (исключающие друг друга), (A1, A2) под A, (B1, B2) под B. Повторно задавать (A1, B2) не нужно: по наследству Omniscol вычисляет, что A1 ⊂ A и B2 ⊂ B совместимы (их можно ставить в один временной слот).

  5. Задайте родительскую маску: на классе отметьте понедельник после обеда как недоступный. Все группы унаследуют это автоматически. Проверьте по сетке каждой группы: слот везде заблокирован.

  6. Инвертируйте маску у группы Спорт: в карточке группы «Спорт» инвертируйте временное ограничение — разрешите понедельник после обеда и запретите всё остальное. Все спортивные занятия сами попадут на этот выделенный слот, и задавать его в каждом курсе не придётся.

  7. Теперь у вас работает иерархия с наследованием разделений и отдельной временной маской. Формирование расписания учитывает её при автоматическом построении, а унаследованные конфликты отображаются в реальном времени.

См. также