ТЗ: Технич. описание
Связанные документы:
1. Назначение
Технич. описание описывает технические данные позиции общего каталога и выгрузки этих данных в заданном формате.
По новым вводным это, скорее всего, не отдельный самостоятельный модуль, а часть модуля Каталог общий: по сути это те же данные позиции, только представленные и выгружаемые в определенном формате.
2. Статус
Статус: кандидат на поглощение модулем Каталог общий.
Есть готовый модуль на Laravel. Его нужно изучить и использовать как источник:
- структуры данных технического описания;
- правил формирования выгрузок;
- шаблонов/форматов экспорта;
- возможных UI-решений, если они применимы к текущей CRM.
3. Место в меню
До окончательного решения пункт Технич. описание можно оставить в целевой карте меню как заглушку для совместимости с исходным ТЗ.
Предпочтительная целевая модель:
Каталог общий
└── Карточка позиции
└── Технич. описание / экспорт
Требования:
- не проектировать отдельную сущность техописания, если достаточно данных карточки общего каталога;
- открыть техописание из карточки позиции общего каталога;
- обеспечить выгрузку технического описания в требуемом формате;
- использовать готовый Laravel-модуль как источник логики экспорта.
- выбранный год в CRM не влияет на техописания и их выгрузки.
4. Права доступа
На этапе заглушки:
- пункт/заглушку показывать всем авторизованным пользователям.
Целевая модель:
- просмотр техописания наследует доступ к позиции общего каталога;
- экспорт техописания наследует доступ к позиции общего каталога;
- редактирование данных техописания наследует права редактирования позиции общего каталога, если техописание будет встроено в карточку позиции.
5. Функциональные требования
Целевой функционал:
- просмотр технических данных из карточки позиции общего каталога;
- редактирование технических данных вместе с карточкой позиции или в отдельной вкладке карточки;
- формирование выгрузки технического описания в установленном формате;
- использование готового Laravel-модуля как основы для экспорта;
- хранение данных в структуре общего каталога или связанной таблице, если данные нельзя уложить в основную карточку позиции.
6. Что не входит до анализа готового модуля
- отдельный самостоятельный раздел техописаний;
- отдельная модель прав, не связанная с каталогом;
- перенос данных без анализа структуры готового Laravel-модуля;
- финальная схема таблиц.
7. Этапы реализации
8. Критерии приемки
- Техническое описание доступно из карточки позиции общего каталога.
- Данные техописания не дублируют общий каталог без необходимости.
- Экспорт техописания работает в согласованном формате.
- Готовый Laravel-модуль использован как источник экспортной логики.
- Права просмотра/редактирования согласованы с правами общего каталога.
9. Открытые вопросы
- Где находится готовый Laravel-модуль техописаний и какие его части можно переносить напрямую?
- Какие точные форматы выгрузки нужны?
- Оставлять ли отдельный пункт меню
Технич. описание или полностью перенести функциональность внутрь Каталог общий?