ТЗ: Модуль Графики
Связанные документы:
1. Назначение
Модуль Графики объединяет календарные и производственные представления Manager 2.0:
- график заказов на производстве;
- график доставок;
- график монтажей.
Цель модуля — дать единый раздел для планирования производства, доставки и монтажных работ, сохранив текущую рабочую реализацию графика монтажей.
2. Статус
Статус модуля: частично реализован; ТЗ и ответы заказчика проанализированы, ручное ядро готово к проектированию и реализации, обмен с 1С ожидает отдельного согласования со специалистом 1С.
В текущей CRM реализован:
График монтажей;
- маршрут:
schedule.index;
- контроллер:
ScheduleController;
- модель:
Schedule;
- создание записей из площадок/заказов;
- создание записей из рекламаций;
- экспорт графика;
- недельное/месячное представление, если доступно в текущей реализации.
Нужно реализовать:
График заказов;
График доставок;
- связи между графиками.
После анализа manager.stroyprofit.com установлено:
- текущий
График отгрузок хранится в одной таблице graf1 и совмещает данные заказа, статусы, доставку, монтаж и ручные комментарии;
- данные поступают из 1С HTTP-запросом с JSON в поле
data;
- payload содержит заказ, клиента, договор, оплату, доставку, менеджера и список позиций;
- позиции сейчас не нормализуются, а сохраняются только в сформированный Excel-файл;
- поддерживаются до трёх доставок через фиксированные колонки;
- новое ТЗ от 20.08.2026 существенно расширяет сценарии: ручное создание, отдельные экземпляры МАФ, файлы и чат, документы, уведомления, аудит, импорт/экспорт и рекламации типа
Прочее.
3. Место в меню
Целевое меню:
Графики
├── График заказов
├── График доставок
└── График монтажей
Требования:
- добавить верхний пункт меню
Графики;
- перенести текущий пункт
График монтажей внутрь Графики;
- текущий маршрут
schedule.index оставить без переименования;
- для
График заказов и График доставок на первом этапе добавить страницы-заглушки В разработке;
- выбранный год в CRM не влияет на новые модули
График заказов и График доставок;
- реорганизация меню выполняется сразу общей для всей платформы Manager 2.0.
4. Права доступа
На первом этапе оставляем текущие права.
| Раздел |
Permission |
| График монтажей |
schedule.view |
| График заказов |
Заглушка доступна всем авторизованным пользователям |
| График доставок |
Заглушка доступна всем авторизованным пользователям |
Требования:
- не переименовывать текущие права;
- не вводить новую систему прав на первом этапе;
- верхний пункт
Графики показывать, если пользователю доступен хотя бы один дочерний пункт.
5. График заказов
Статус: ТЗ и ответы заказчика получены; ручное ядро, доставки, монтажи, уведомления, аудит и документы готовы к реализации независимо от будущего обмена с 1С.
Полный состав требований и анализ: ТЗ: График заказов от 20.08.2026, ответы заказчика от 27.08.2026.
Назначение:
- отображать график заказов на производстве;
- быть основным источником данных для доставок;
- быть связанным с монтажами;
- использовать позиции из
Каталог общий.
Требования по ТЗ Manager 2.0:
- таблица с графиком заказов на производстве;
- перенос функционала
график отгрузок из старого manager с адаптацией под текущие реалии;
- загрузка данных через 1С;
- связь с
Каталог общий;
- связь с
График монтажей.
Архитектурные требования с учётом нового ТЗ:
- не переносить таблицу
graf1 как есть;
- хранить заказ, позиции заказа, доставки и загрузки 1С отдельными нормализованными сущностями;
- не использовать сериализованные данные для монтажей, позиций и доставок;
- не ограничивать заказ фиксированным количеством доставок;
- отделить поля, которыми управляет 1С, от полей ручного планирования;
- повторная загрузка должна быть идемпотентной и не должна сбрасывать ручные статусы и комментарии;
- сохранять журнал загрузок, ошибки сопоставления и исходный payload для диагностики;
- предусмотреть миграцию исторических данных старого Manager с отчётом о дублях и конфликтах;
- сохранять возможность расширения модели без денормализации после получения дополнительных требований заказчика.
Предварительный функционал:
- список заказов/позиций в производственном графике;
- дата/период производства;
- адрес/объект, если приходит из источника данных;
- позиции заказа из общего каталога;
- статусы или этапы производства, если они есть в источнике;
- фильтры по дате, заказу, позиции, статусу;
- импорт/обновление данных из 1С;
- история последней загрузки;
- обработка ошибок загрузки;
- переход в карточку заказа;
- выбор одного или нескольких МАФ заказа;
- действие
Добавить рекламацию для выбранных МАФ;
- открытие существующей формы создания рекламации с передачей заказа и выбранных МАФ.
Требования к созданию рекламации:
- рекламация создается из карточки заказа, а не напрямую из строки списка;
- пользователь должен выбрать минимум один МАФ;
- допускается выбор нескольких МАФ;
- после нажатия
Добавить рекламацию открывается текущая форма создания рекламации;
- рекламации назначается тип
other (Прочее) из справочника типов;
- рекламация отображается в общей вкладке рекламаций и не отображается во вкладке
ДКР;
- для такой рекламации не формируется документация для оплаты.
Открытые вопросы:
- может ли 1С передавать стабильный GUID заказа вместо ключа, собранного из номера и года;
- может ли 1С передавать артикул общего каталога и идентификатор каждого экземпляра МАФ;
- какие поля принадлежат 1С, а какие должны сохраняться при повторной синхронизации;
- как 1С сообщает аннулирование и частичное изменение состава заказа;
- может ли ручной XLS-импорт создавать новые заказы и как передавать в нём отдельные экземпляры МАФ.
6. График доставок
Статус: нужно реализовать.
Назначение:
- показывать недельный список доставок;
- позволять вручную планировать занятость водителей;
- брать адреса автоматически из
График заказов.
Требования по ТЗ Manager 2.0:
- отображение в виде недельного списка;
- адреса добавляются автоматически из
График заказов;
- вручную указывается занятость водителей: какой заказ и когда везут;
- добавление через модальное окно;
- возможная связь с вкладкой
Отгрузки требует уточнения.
Предварительный функционал:
- недельный календарь доставок;
- список заказов/адресов, доступных для доставки;
- добавление доставки через модальное окно;
- выбор даты и времени доставки;
- выбор водителя или ответственного за доставку;
- выбор заказа/адреса из графика заказов;
- комментарий;
- изменение и удаление записи доставки при наличии прав;
- фильтры по неделе, водителю, заказу;
- визуальное отображение занятости водителей.
Открытые вопросы:
- какие статусы есть у доставки;
- нужна ли связь с отдельным разделом
Отгрузки;
- нужен ли отдельный экспорт недельного списка помимо полученного шаблона заявки на одну доставку.
Согласовано:
- водитель выбирается среди пользователей роли
Водитель и, согласно исходному ТЗ, Бригадир;
- один заказ может иметь несколько отдельных записей доставки;
- получен шаблон печатной заявки на конкретную доставку
templates/DeliveryRequest.xls.
7. График монтажей
Статус: есть, переносится в новую группу меню.
Текущая основа:
- маршрут:
schedule.index;
- контроллер:
ScheduleController;
- создание записи из заказа/площадки;
- создание записи из рекламации;
- обновление записи;
- удаление записи;
- экспорт;
- недельное/месячное представление.
Требования:
- сохранить текущую бизнес-логику;
- сохранить текущий маршрут
schedule.index;
- перенести пункт меню внутрь
Графики;
- сохранить текущие права
schedule.view и связанные права обновления/экспорта;
- сохранить связь с площадками ДКР;
- сохранить связь с рекламациями;
- добавить/подготовить связь с
График заказов, когда он будет реализован.
Что не менять на первом этапе:
- структуру таблиц графика монтажей;
- существующие маршруты
schedule.*;
- текущие правила создания записей из заказов и рекламаций;
- текущий UI графика, кроме положения в меню.
8. Связи между графиками
Целевая логика связей:
| Источник |
Получатель |
Связь |
| Каталог общий |
График заказов |
Позиции заказа и справочные данные по номенклатуре. |
| График заказов |
График доставок |
Адреса и заказы для планирования доставки. |
| График заказов |
График монтажей |
Связь производственного графика с монтажом. |
| График заказов |
Рекламации |
Создание рекламации из заказа по выбранным МАФ через текущую форму. |
| ДКР / Площадки |
График монтажей |
Площадки для монтажных работ. |
| Рекламации |
График монтажей |
Работы по рекламациям. |
Требования:
- связи не должны ломать автономность ДКР;
- текущий график монтажей должен работать до реализации графика заказов;
- новые графики должны опираться на
Каталог общий, а не на каталог внутри ДКР;
- рекламация из графика заказов должна получать тип
other (Прочее) из справочника типов.
9. Данные и модели
Для График монтажей использовать текущие модели и таблицы.
Для График заказов и График доставок проектируются отдельные модели. Полученные ответы позволяют начинать проектирование ручного контура; модели интеграционных загрузок уточняются после согласования контракта с 1С. Независимо от точных имён таблиц модель должна быть нормализована.
Минимально потребуются сущности:
- производственный заказ;
- отдельный экземпляр МАФ производственного заказа со ссылкой на
Каталог общий, когда сопоставление возможно;
- произвольное количество доставок по заказу;
- произвольное количество монтажных этапов по заказу;
- водитель или ответственный доставки;
- журнал загрузок из 1С;
- журнал ошибок и результатов сопоставления;
- журнал значимых изменений заказа;
- безопасно сохранённый исходный payload или ссылка на него для диагностики.
Запрещённые варианты модели:
- одна таблица, совмещающая заказ, позиции, доставки и монтаж;
- колонки вида
delivery_1, delivery_2, delivery_3;
- сериализованные массивы в текстовых колонках как основная модель данных;
- перезапись ручных плановых данных значениями по умолчанию при импорте из 1С.
Открыто:
- точные имена таблиц и моделей;
- стабильные идентификаторы заказа и экземпляров МАФ в 1С;
- принадлежность синхронизируемых и локально редактируемых полей;
- источник и обновление производственного календаря;
- формат импорта отдельных экземпляров МАФ и обработка отсутствующего/неизвестного ID;
- способ связи с существующими
Order, ProductSKU, Schedule и Reclamation без смешивания с ДКР;
- правила миграции дублей и некорректных дат старого
graf1.
10. Первый этап реализации
В первый этап модуля Графики входит:
- общая реорганизация меню;
- перенос
График монтажей внутрь группы Графики;
- сохранение текущего маршрута
schedule.index;
- добавление заглушки
График заказов;
- добавление заглушки
График доставок;
- сохранение текущих прав;
- проверка доступности текущего графика монтажей.
В первый этап не входит:
- разработка обмена с 1С;
- проектирование БД графика заказов;
- проектирование БД графика доставок;
- реализация недельного календаря доставок;
- изменение текущей логики графика монтажей.
11. Этапы реализации
12. Критерии приемки
- В верхнем меню есть группа
Графики.
- Внутри группы есть пункты
График заказов, График доставок, График монтажей.
График монтажей открывается по текущему маршруту schedule.index.
- Текущая логика графика монтажей не изменилась.
- Заглушки
График заказов и График доставок открываются без 404/403 у авторизованных пользователей.
- Пользователи с текущим доступом к графику монтажей сохраняют доступ.
- График монтажей продолжает работать с площадками ДКР.
- График монтажей продолжает работать с рекламациями.
- Из карточки заказа можно выбрать один или несколько МАФ и открыть форму создания рекламации.
- Созданная рекламация связана с заказом и выбранными МАФ.
- Созданная рекламация имеет тип
other (Прочее), не попадает во вкладку ДКР и не позволяет формировать документацию для оплаты.
13. Открытые вопросы
Актуальный перечень сформирован в ответах заказчика. Вопросы по 1С блокируют только интеграцию с 1С. Для ручного импорта отдельно нужно уточнить создание новых заказов, обработку неизвестного ID и передачу экземпляров МАФ.