← Все кейсы

Кейс · Образование · Украина · 2026

Модуль расписания поверх коробочной CRM

юнит-тесты
73
строк кода
6 500
изменений в ядре CRM
0
Проект в фактах
ФорматКастомный модуль поверх коробочной CRM
ТемпРабочая версия на сервере клиента — за две недели
Объём≈6 500 строк кода, 73 юнит-теста
АрхитектураТри собственные таблицы, ноль изменений в ядре
Задача

Расписание на месяц собирали руками до 15-го числа.

Курсы, группы и подгруппы уже жили в CRM как смарт-процессы, но расписание на следующий месяц методист складывал в голове и на листе: правил слишком много, и держать их нужно одновременно. Накладки становились видимыми уже на занятиях — и исправляли их не в системе, а людьми.

Мы написали поверх коробочной CRM собственный модуль «Расписание групп»: он собирает черновик расписания в одно нажатие, а методист лишь правит его перетаскиванием и утверждает.

Контекст

Что мешало

  • Расписание на следующий месяц собирали вручную до 15-го числа
  • Правила — восьмичасовой день, чередование длинных и коротких групп — держались в голове методиста
  • Две группы одного курса нельзя ставить на одни и те же часы
  • Сквозная нумерация групп каждый год начинается заново
  • Накладки обнаруживались, когда слушатели уже пришли на занятия
Возможности

Что умеет система

01

Календарь групп

Сетка рабочих дней с плашками групп: курс, тип, номер, число слушателей. Группы, продолжающиеся с прошлого месяца, отмечены отдельно, накладки подсвечены красным.

02

Черновик в одно нажатие

Кнопка «Сформировать» раскладывает группы на следующий месяц по настройкам курсов — это ещё не реальные группы, а черновик, который можно править.

03

Правки перетаскиванием

Плашка группы перетаскивается на другой день — расписание сразу пересчитывается.

04

Печать и навигация

Печать расписания за период с учётом фильтров; клик по группе открывает её карточку в боковой панели CRM.

05

Настройки и роли

Для каждого курса заданы число длинных и коротких групп и участие в автоформировании; доступ разведён на три роли — инспектор, методист, администратор.

Схема

Как это устроено

Коробочная CRM
Ядро платформы — без измененийСмарт-процессы курсов и группРоли и права доступа
Модуль «Расписание групп» — изолированный каталог
Три собственные таблицыПланировщик волнЭкраны: календарь, черновик, настройкиДвухфазная финализация → карточки групп в CRM
Что внутри

Инженерные решения.

Подход

Ни одного изменения в ядре

Модуль живёт в изолированном каталоге и пользуется штатными механизмами платформы: собственные таблицы, контроллеры, API смарт-процессов.

Алгоритм

Планировщик «волн»

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

Надёжность

Двухфазная финализация

Сначала создаются карточки в CRM, затем транзакция обновляет собственные таблицы модуля — сбой посередине не оставит расписание созданным наполовину.

Результат

Было → стало

Было
Стало
Методист собирал расписание руками до 15-го числа
Черновик на месяц — в одно нажатие
Правила держались в голове и на листе
Правила заданы в настройках каждого курса
Накладки всплывали уже на занятиях
Конфликты видны на черновике до утверждения
Доработки коробки слетают с обновлениями
Модуль изолирован — обновления CRM его не ломают

AI-агенты для бизнеса — 2–3 письма в месяц

Разборы, кейсы и инструменты, которые уже работают в компаниях.

Без спама. Отписаться можно в один клик.