tz-technical-description.md 6.1 KB

ТЗ: Технич. описание

Связанные документы:

1. Назначение

Технич. описание описывает технические данные позиции общего каталога и выгрузки этих данных в заданном формате.

По новым вводным это не отдельный самостоятельный модуль, а часть модуля Каталог общий: по сути это те же данные позиции, только представленные и выгружаемые в определенном формате.

2. Статус

Статус: встроить в модуль Каталог общий.

Есть готовый модуль на Laravel. Его нужно изучить и использовать как источник:

  • структуры данных технического описания;
  • правил формирования выгрузок;
  • шаблонов/форматов экспорта;
  • возможных UI-решений, если они применимы к текущей CRM.

3. Место в меню

Отдельный пункт меню Технич. описание не нужен. Целевая модель:

Каталог общий
└── Карточка позиции
    └── Технич. описание / экспорт

Требования:

  • не проектировать отдельную сущность техописания, если достаточно данных карточки общего каталога;
  • открыть техописание из карточки позиции общего каталога;
  • обеспечить выгрузку технического описания в требуемом формате;
  • использовать готовый Laravel-модуль как источник логики экспорта.
  • выбранный год в CRM не влияет на техописания и их выгрузки.

4. Права доступа

Отдельная заглушка для техописания не требуется, потому что функциональность встраивается в карточку общего каталога.

Целевая модель:

  • просмотр техописания наследует доступ к позиции общего каталога;
  • экспорт техописания наследует доступ к позиции общего каталога;
  • редактирование данных техописания наследует права редактирования позиции общего каталога.

5. Функциональные требования

Целевой функционал:

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

6. Что не входит до анализа готового модуля

  • отдельный самостоятельный раздел техописаний;
  • отдельная модель прав, не связанная с каталогом;
  • перенос данных без анализа структуры готового Laravel-модуля;
  • финальная схема таблиц.

7. Этапы реализации

  • Получить и изучить готовый Laravel-модуль техописаний.
  • Составить карту данных модуля техописаний.
  • Составить карту экспортов и форматов выгрузки.
  • Сопоставить данные техописаний с полями Каталог общий.
  • Решить, какие данные хранятся прямо в карточке позиции, а какие требуют связанных таблиц.
  • Встроить просмотр/редактирование техописания в карточку общего каталога.
  • Перенести или адаптировать экспорт из готового Laravel-модуля.
  • Не добавлять отдельный пункт меню Технич. описание в финальную навигацию.

8. Критерии приемки

  • Техническое описание доступно из карточки позиции общего каталога.
  • Данные техописания не дублируют общий каталог без необходимости.
  • Экспорт техописания работает в согласованном формате.
  • Готовый Laravel-модуль использован как источник экспортной логики.
  • Права просмотра/редактирования согласованы с правами общего каталога.

9. Открытые вопросы

  • Где находится готовый Laravel-модуль техописаний и какие его части можно переносить напрямую?
  • Какие точные форматы выгрузки нужны?