tz-technical-description.md 6.6 KB

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

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

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

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

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

2. Статус

Статус: кандидат на поглощение модулем Каталог общий.

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

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

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

До окончательного решения пункт Технич. описание можно оставить в целевой карте меню как заглушку для совместимости с исходным ТЗ.

Предпочтительная целевая модель:

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

Требования:

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

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

На этапе заглушки:

  • пункт/заглушку показывать всем авторизованным пользователям.

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

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

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

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

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

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

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

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

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

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

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

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

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