Связанные документы:
Склад — новый модуль для учета МАФ/позиций, которые есть на складе или заказаны.
Модуль должен быть реализован полностью по образцу раздела Запчасти, с адаптацией под МАФ/позиции из Каталог общий.
Статус модуля: ядро реализовано, ожидает пользовательской проверки.
Реализованы Наличие, Заказы, карточка позиции, бронирование, списание, отмена, история движений, импорт и постоянные права. PDF-экспорт ожидает согласованного шаблона.
Целевое меню:
Склад
├── Наличие
└── Заказы
Требования:
Склад;Наличие и Заказы;stock;stock.Требования из исходного ТЗ:
| Подраздел | Доступ |
|---|---|
| Наличие | Видно всем пользователям |
| Заказы | Видит только админ и помощник руководителя (assistant_head) |
Реализованные права:
assistant_head;помощник руководителя в системе соответствует assistant_head.НаличиеНазначение:
Правило вывода:
Заказы;Колонки:
| Колонка | Источник |
|---|---|
| Картинка | Каталог общий |
| Артикул | Каталог общий |
| Наименование | Каталог общий |
| Характеристики | Каталог общий |
| Ед. измерения | Каталог общий |
| Кол-во в наличии | Подвкладка Заказы |
| Забронировано | Функция бронирования |
| Остаток фактический | Кол-во в наличии минус забронировано и списано |
| Заказано | Сумма позиций со статусом заказан |
| Примечание | Добавление или импорт |
Функционал:
Карточка открывается из Наличие двойным кликом.
Нередактируемые поля:
Функционал карточки:
Запчастям;Забронировать;Списать;Отменить бронь.Кнопка Забронировать открывает модальное окно.
Поля:
Правила:
Такого кол-ва нет в наличии;Забронировано.Список Забронировано:
Списать;Отменить бронь.Списание выполняется по активной брони.
Правила:
Правила:
ЗаказыНазначение:
Поля заказа:
| Поле | Описание |
|---|---|
| Номер заказа | Вводится вручную |
| Артикул | Артикул позиции из общего каталога |
| Статус заказа | на складе / заказан / отгружено |
| Кол-во заказано | Вводится вручную |
| Остаток | Фактический остаток с учетом бронирований и списаний |
| Примечание | Ручной ввод или импорт |
| Дата добавления | Заполняется автоматически |
Функционал:
на складе;Требования:
Наличие должна быть кнопка Экспорт;| Модуль | Связь | Требование |
|---|---|---|
| Каталог общий | Источник картинки, артикула, наименования, характеристик, ед. изм. | Обязательная связь. |
| График отгрузок / График заказов | Данные об отгрузках | Уточнить после реализации графиков. |
| Запчасти | Эталон логики | Использовать паттерны реализации. |
Реализация использует следующие соответствия:
Запчасти |
Склад |
Таблица |
|---|---|---|
SparePart |
CommonCatalogItem |
common_catalog_items |
SparePartOrder |
StockOrder |
stock_orders |
Reservation |
StockReservation |
stock_reservations |
InventoryMovement |
StockMovement |
stock_movements |
Отдельная таблица остатков не создаётся: физическое наличие, активная бронь, доступный остаток и заказанное количество рассчитываются из заказов и броней. Заказ связан с общей позицией по common_catalog_item_id; при импорте позиция разрешается по уникальному артикулу общего каталога.
Ядро склада, финальная схема таблиц и постоянные permissions входят в текущую реализацию.
Запчасти.Запчасти -> Склад.Заказы.Наличие.Склад.Наличие и Заказы.Наличие доступно всем пользователям.Заказы доступны админу и помощнику руководителя.помощник руководителя соответствует роли assistant_head.Каталог общий.