Ограничения

Как задать лимиты уроков и окон и запрещённое время для учителей, кабинетов и классов конкретного расписания.

Раздел «Ограничения» описывает рамки, в которых можно ставить уроки. Это лимиты уроков и окон плюс запрещённое время для учителей (в вузе — преподавателей), кабинетов (в вузе — аудиторий) и классов (в вузе — групп). Окно — это свободный промежуток между уроками у класса или учителя внутри дня, если он длиннее получаса. Подробнее об окнах на странице «Термины и обозначения».

Заходите сюда после того, как настроены «Звонки», но до расстановки уроков. Без сохранённой сетки звонков матрица «Доступность» вместо запретов покажет «Звонки не настроены». Возвращайтесь, когда учителю нужен методдень, кабинет закрывают на ремонт или класс нельзя нагружать больше N уроков в день. Ещё один повод вернуться — ошибки в «Сетке уроков» о запрещённом времени и превышенных лимитах.

Ограничения задаются отдельно для каждого расписания и сами между расписаниями не переносятся, зато их можно импортировать. В сетке раздел ничего не двигает: уроки, попавшие в запрет или вышедшие за лимит, только помечаются ошибками.

Где находится

Боковое меню → откройте расписание в разделе «Расписания» → под карточкой «Текущее расписание» появится пункт «Ограничения». Он стоит рядом с пунктами «Звонки», «Нагрузка», «Сетка уроков» и «Печать». Вверху страницы — вкладки «Учителя», «Кабинеты», «Классы». Слева идёт список ресурсов с поиском, справа — панель «Лимиты» и матрица «Доступность».

Открыть ограничения нужного ресурса

  1. В боковом меню под карточкой «Текущее расписание» откройте «Ограничения».
  2. Выберите вкладку «Учителя», «Кабинеты» или «Классы». Набор настроек у них разный: панель «Лимиты» видна только на «Учителя» и «Классы».
  3. Учтите, что вкладка «Классы» работает со списком классов целиком. Отдельного ограничения на группу (в вузе — подгруппу) внутри класса раздел не даёт. Расхождения по группам решайте расстановкой уроков в сетке.
  4. Найдите ресурс в списке слева через поиск и нажмите на строку. Подпись поля меняется по вкладке: «Найти учителя», «Найти кабинет» или «Найти класс». Если по запросу ничего не нашлось, список покажет «Нет учителей, соответствующих поиску» (на других вкладках — «Нет кабинетов…», «Нет классов…»).
  5. Ориентируйтесь на точки справа от названия: синяя — «Есть ограничения», жёлтая — «Есть несохранённые изменения».
  6. Черновики копятся сразу по всем ресурсам и вкладкам, поэтому переключение ресурса или вкладки ничего не теряет. Кнопки «Сохранить» и «Отменить» применяются ко всем накопленным правкам одновременно. Перед уходом со страницы проверьте жёлтые точки в списке, иначе появится окно «Несохранённые изменения» с кнопкой «Перейти без сохранения».
  7. Пока ресурс не выбран, справа стоит надпись «Выберите учителя» с пояснением «Выберите учителя в списке слева, чтобы задать лимиты и доступность по времени.»
  8. Выбор ресурса и вкладки записывается в адрес страницы. Ссылку на ограничения конкретного учителя, кабинета или класса можно сохранить в закладки или отправить коллеге. В справочниках это устроено так же — см. «Таблицы, поиск и фильтры».

Задать лимиты уроков и окон

  1. Откройте вкладку «Учителя» или «Классы» и выберите ресурс. Панель «Лимиты» выводится только для них.
  2. Заполните «Макс. уроков в день». Уроки сверх этого числа в один день получают ошибку.
  3. Заполните «Макс. окон в день» и «Макс. окон в неделю», если важно, чтобы у учителя или класса не было длинных пауз между уроками.
  4. Оставьте поле пустым, если ограничивать нечего. Рядом с заголовком об этом написано: «Пустое поле — лимит не задан, не проверяем». В самом поле стоит «Не задан».
  5. Нажмите «Сохранить» в правом верхнем углу — появится уведомление «Ограничения сохранены».

Запретить время в матрице «Доступность»

  1. Выберите ресурс. Под лимитами появится блок «Доступность» с легендой «Доступно» и «Запрещено».
  2. Наведите курсор на ячейку. Подсказка покажет её состояние и результат клика: «Доступно. Нажмите, чтобы запретить» или «Запрещено. Нажмите, чтобы разрешить».
  3. Нажмите на ячейку нужного дня и времени: доступная станет «Запрещено», запрещённая — снова «Доступно». Чтобы закрыть подряд несколько уроков, нажмите и протяните мышью по ячейкам. Все они примут то же состояние, что получила первая ячейка под курсором.
  4. Нажмите на название дня недели, чтобы запретить или разрешить его целиком. Так задаётся методдень, подсказка на заголовке — «Запретить / разрешить весь день».
  5. Помните, что запрет действует по дням недели цикла целиком. Сузить его до одной конкретной даты в «Ограничениях» нельзя: точечный запрет на дату задаётся в разделе «Календарь».
  6. Сохранённый запрет может перекрывать урок не полностью — обычно так бывает после правки времени звонков. Такая ячейка окрашена бледнее и подписана «частично», а подсказка на ней — «Запрещено частично (после правки звонков). Нажмите, чтобы разрешить».
  7. Первый клик по частичной ячейке не расширяет запрет, а снимает его целиком. Чтобы запретить урок полностью, кликните дважды: первый клик сделает ячейку доступной, второй запретит её целиком.
  8. Сверяйтесь с подсказкой под заголовком: «Клик по ячейке — запретить/разрешить · клик по дню — весь день».
  9. Нажмите «Сохранить». Кнопка активна, только пока есть несохранённые правки и пока расписание в статусе «Черновик». В «Активном» матрица выглядит как обычно и как будто реагирует на курсор, но клики по ячейкам ничего не меняют, подробности — на странице «Черновик и активное расписание». Кнопка «Отменить» сбрасывает все несохранённые правки сразу по всем ресурсам и вкладкам.

Проверить, какие уроки затронет новый запрет

  1. Нажмите «Сохранить» после правки доступности.
  2. Если новые запреты попадают на уже расставленные уроки, откроется окно «Ограничение затронет уроки» с плашкой «Ограничение затронет N уроков — они будут помечены ошибками. Сохранить?».
  3. Нажмите «Показать уроки (N)», чтобы раскрыть список: день недели, время, предмет и участники урока. Свернуть список — «Скрыть уроки».
  4. Нажмите «Отмена», если сначала хотите перенести уроки. Кнопка «Сохранить» принимает ограничение: уроки останутся на месте, но получат ошибки.

Применить один запрет сразу нескольким ресурсам

  1. Нажмите «Выбрать несколько» над списком ресурсов. Ссылка видна только у расписания в статусе «Черновик». В шапке появится надпись «Массовое редактирование», а в синей плашке сверху — короткая подпись «Отметьте ресурсы слева».
  2. Пока не отмечен ни один ресурс, вместо матрицы стоит надпись «Выберите ресурсы» с пояснением «Отметьте ресурсы слева и задайте время — оно применится ко всем выбранным». Кнопка «Применить к выбранным» неактивна.
  3. Отметьте нужные ресурсы галочками или нажмите «Выбрать все». Снять отметки — «Снять все».
  4. Проверьте плашку «Выбрано: N — заданная ниже доступность применится ко всем отмеченным ресурсам.»
  5. Задайте запреты в матрице «Общая доступность». Рядом с заголовком стоит предупреждение «заменит доступность всех выбранных ресурсов».
  6. Нажмите «Применить к выбранным». В окне «Применить ко всем выбранным» прочитайте плашку «Доступность N ресурсов будет заменена на выбранную. Текущая доступность этих ресурсов будет перезаписана.». Если запрет затрагивает расставленные уроки, рядом появится вторая плашка «Затронет N уроков — они будут помечены ошибками.».
  7. Нажмите «Применить». Выйти из режима без изменений можно кнопкой «Отмена» на месте ссылки «Выбрать несколько».

Перенести ограничения из другого расписания

  1. Справа от поиска найдите кнопку-значок без текстовой подписи (иконка стрелки загрузки). Подсказка на ней — «Импортировать ограничения из другого расписания». Кнопка видна только у расписания в статусе «Черновик».
  2. Нажмите её. В окне «Импорт ограничений» выберите «Исходное расписание» из списка, плейсхолдер поля — «Выберите расписание».
  3. В поле «Ресурсы» отметьте, кого переносить. Если ничего не отмечено, в поле стоит «Все учителя» и перенос затронет всех.
  4. В блоке «Что переносим» выберите «Всё», «Только лимиты» или «Только доступность».
  5. Проверьте плашку «Перезапишет ограничения N ресурсов.» и нажмите «Импортировать» — появится уведомление «Ограничения импортированы».

Проверить все запреты перед расстановкой уроков

  1. Нажмите «Сводка» в правом верхнем углу. Откроется окно «Сводный обзор: учителя × дни недели», заголовок меняется по активной вкладке.
  2. На вкладке «Учителя» ниже заголовка стоит пояснение «Недоступное время всех учителей по дням недели — для аудита методдней и баланса запретов перед составлением расписания».
  3. На вкладках «Кабинеты» и «Классы» пояснение короче: «Недоступное время всех кабинетов по дням недели — для аудита запретов перед составлением расписания» (для классов — та же фраза со словом «классов»). Части про методдни и баланс запретов там нет.
  4. Найдите нужную строку через поиск. Подпись поля меняется так же, как в основном списке: «Найти учителя», «Найти кабинет» или «Найти класс». Если совпадений нет, окно покажет «Нет учителей, соответствующих поиску» (и аналогично для других вкладок).
  5. Читайте таблицу. В первом столбце стоит название ресурса, дальше идут столбцы на каждый день недели. В них либо пусто, либо «весь день», либо перечень запрещённых интервалов времени.
  6. Нажмите на строку, чтобы перейти к этому ресурсу в редакторе. Закрыть окно — «Закрыть».
  7. Если сетки звонков ещё нет, вместо таблицы стоит «Звонки не настроены — сводка недоступна».

Разобрать ошибки, которые дают ограничения

  1. Откройте «Сетка уроков» и в нижней панели вкладку «Ошибки».
  2. Нарушения матрицы выглядят как «Урок попадает на запрещённое время (учитель Иванов И. И.)». То же самое для класса и кабинета.
  3. Превышения лимитов выглядят как «Максимальное количество уроков в день (N) для …», «Максимальное количество окон в день (N) для …» и «Максимальное количество окон в неделю (N) для … Всего окон N».
  4. Перейдите на вкладку «Готовность». Обе категории, «Доступность ресурсов» и «Лимиты ресурсов», попадают в группу «Блокеры публикации». Они подсвечиваются красным, пока счётчик не равен нулю.
  5. Ошибку убирает перенос урока в сетке либо снятие запрета или изменение лимита в «Ограничениях». Сам раздел уроки не двигает.

Поля

ПолеЧто задаётОграничения
«Макс. уроков в день»Порог уроков в день, выше которого урок получает ошибкуПанель «Лимиты», только вкладки «Учителя» и «Классы». Необязательное, по умолчанию пусто — в поле «Не задан». Пустое значение означает «не проверяем». Ноль и отрицательное число тоже читаются как незаданный лимит
«Макс. окон в день»Порог окон в конкретный день неделиПанель «Лимиты», только «Учителя» и «Классы». Необязательное, по умолчанию «Не задан». Считается по каждому дню недели отдельно
«Макс. окон в неделю»Порог суммарных окон за неделю циклаПанель «Лимиты», только «Учителя» и «Классы». Необязательное, по умолчанию «Не задан». Считается суммарно за неделю цикла
«Вместимость»Проверку переполнения в сетке уроков. Значение приходит из справочника кабинетовВкладка «Кабинеты», только для чтения. Своих лимитов у кабинета в «Ограничениях» нет
«Корпус»Участие кабинета в расчёте времени перехода между корпусами. Тоже из справочникаВкладка «Кабинеты», только для чтения. Строка не выводится, если корпус у кабинета не указан
«Исходное расписание»Расписание, из которого переносятся ограниченияОкно «Импорт ограничений». Обязательное, по умолчанию пусто («Выберите расписание»). В списке — все расписания приложения, кроме текущего
«Ресурсы»Кого из ресурсов вкладки затронет переносОкно «Импорт ограничений». Необязательное: пустой выбор отображается как «Все учителя» (или «Все кабинеты», «Все классы») и означает перенос по всем ресурсам вкладки
«Что переносим»Какую часть ограничений переносит импорт — лимиты, доступность или всёОкно «Импорт ограничений». По умолчанию «Всё». Варианты: «Всё», «Только лимиты», «Только доступность». Для вкладки «Кабинеты» варианта «Только лимиты» нет

Если что-то выглядит не так

  • Вместо матрицы выводится «Звонки не настроены» с пояснением «Заполните сетку звонков расписания, чтобы задавать ограничения».
    • Почему: Дни и строки матрицы «Доступность» собираются из всех сеток звонков расписания. Пока звонков нет, запрещать нечего. Панель «Лимиты» рядом с матрицей всё равно видна и работает.
    • Что делать: Сначала заполните раздел «Звонки», затем вернитесь в «Ограничения».
  • На вкладке «Кабинеты» панели «Лимиты» нет, вместо неё строка с «Вместимость» и «Корпус».
    • Почему: Лимиты уроков и окон осмысленны только для учителей и классов. Кабинету можно задать лишь запрещённое время.
    • Что делать: Для кабинета работайте только с матрицей «Доступность». Вместимость и корпус правятся в справочнике кабинетов.
  • Лимит стёрли, и поле показывает «Не задан», хотя хотелось запретить всё.
    • Почему: Пустое поле означает «лимит не задан, не проверяем», а не ноль. Ноль и отрицательное число тоже читаются как незаданный лимит.
    • Что делать: Чтобы запретить работу целиком, используйте матрицу «Доступность» и клик по названию дня, а не нулевой лимит.
  • После «Применить к выбранным» или после импорта у части ресурсов пропали ранее заданные запреты, а не добавились новые.
    • Почему: Оба механизма — полная замена, а не дополнение. Массовый режим целиком заменяет доступность каждого отмеченного ресурса заданной матрицей и не трогает лимиты. Импорт замещает доступность и, если так выбрано, лимиты. Ресурсы, у которых в исходном расписании ничего не задано, очищаются. На вкладке «Кабинеты» вариант «Всё» переносит только доступность, потому что лимитов у кабинетов нет.
    • Что делать: Массовый режим используйте для одинаковых запретов, например для общего методдня. Точечные правки делайте по одному ресурсу. При импорте сузьте перенос полем «Ресурсы», а если нужно перенести не всё, выбирайте «Только доступность» или «Только лимиты».
  • Ограничение сохранено, но уроки остались стоять в запрещённое время.
    • Почему: Раздел не удаляет и не переносит уроки. Конфликтующие уроки только помечаются ошибками в сетке уроков. Настройки серьёзности ошибок в «Ограничениях» нет: доступность и лимиты всегда попадают в «Блокеры публикации».
    • Что делать: Откройте «Сетка уроков», вкладку «Ошибки» и перенесите уроки вручную либо ослабьте ограничение.

Дальше