11 KiB
Резюме критики ТЗ: учёт номерной тары
Дата: 07.10.2026
Исходный документ: work/ТЗ-учет-номерной-тары.md
Конфигурация: ВесоваяАК (ves2020), версия на момент анализа 0.0.3.21
ТЗ в целом читаемое и привязано к реальным именам (экзТипыФасовки, КоличествоМест, агк_ОбменВесоваяБЭКЗ). Главная проблема — этап A смешивает фиксацию экземпляров в отгрузке и полноценный учёт остатков, при этом ряд решений оставлен «на реализацию», хотя уже влияет на данные и приёмку.
Важно: в исходниках ves2020 объекты и логика уже есть (ТЧ, регистр, движения, проверка обмена), а в ИБ через MCP регистр на момент разбора не находился — постановка и факт могут расходиться. ТЗ стоит либо перевести в статус «as-built / сверка», либо явно пометить, что ещё не внедрено.
Критично (менять в постановке)
1. Регистр остатков без прихода
Сейчас: РН остатков + только Расход по РНК, приход — этап B, минусы не блокировать.
Это даёт хронические отрицательные остатки. Когда на B включат константу и отбор «только с остатком», либо всё «пусто», либо всё «в минусе» — нужна миграция/ввод остатков.
Доработка ТЗ (выбрать одно и зафиксировать):
| Вариант | Суть |
|---|---|
| A′ (рекомендую) | На этапе A: справочник + ТЧ в РНК + права + изоляция БЭКЗ. Регистр и движения — только вместе с приходом на B |
| A″ | Регистр создать, но не писать движения до B |
| A‴ | Движения писать, но явно: «технический минус допустим» + обязательный сценарий выравнивания до включения константы |
Критерий К5 в текущем виде закрепляет худший вариант без оговорки про B.
2. Измерение Контрагент в ключе остатка
В РНК есть Контрагент (владелец зерна), Покупатель, Получатель, ПунктРазгрузки. ТЗ берёт «ПунктРазгрузки, иначе Получатель» — без бизнес-смысла.
Остаток «на складе/весовой» и «у контрагента» — разные модели. В одном ключе с Склад/Весовая это конфликтует с будущим приходом.
Зафиксировать в §4.3 / §9:
- что учитываем: тара на складе отгрузки или у грузополучателя;
- формулу контрагента и поведение, если оба пусты (запрет проведения / пустое измерение);
- для каких
ВидОперацииРНК режим номерной тары вообще действует.
Пока смысл неясен — не включать Контрагент в измерения (оставить реквизитом движения или отложить до B).
3. Избыточность ТипФасовки в измерениях
Экземпляр уже подчинён типу фасовки. Дубль в ключе остатка → риск рассинхрона при смене владельца у элемента.
Предложение: измерение убрать; тип брать из владельца НомернаяТара или только в отчётах.
Высокий приоритет (дыры приёмки)
4. Обмен БЭКЗ (К6)
«Правка только ТЧ не регистрирует» — узко и хрупко:
- не сказано про другие планы (
ПоВесовым, УФ и т.д.); - нет приёмки «на узле обмена нет новой регистрации»;
- не описано, что будет, если документ всё же уйдёт в выгрузку (ТЧ в правилах нет).
Дописать в §5.6:
- только
агк_ОбменВесоваяБЭКЗили все планы РНК; - механизм: правила регистрации, не
АвтоЗаполнение = Ложь«на удачу»; - сценарий: изменить только ТЧ → проверить регистрацию на тестовом узле;
- новые объекты не включать в состав плана.
5. Права — матрица неполная
Есть признак (только ПолныеПрава) и роль справочника. Нет:
- кто заполняет ТЧ в РНК (
Весовая_Весовщик?); - права на регистр (чтение/изменение);
- как ограничить изменение булева реквизита (права на реквизит vs
ТолькоПросмотрна форме — в 1С это разные вещи); - RLS по организации/весовой для нового регистра.
Добавить таблицу «объект × роль × действие» до реализации прав.
6. КоличествоМест ↔ ТЧ
Число — не обязательно целое; места могут пересчитываться из веса; синхронизация только на форме не ловит запись без UI.
Зафиксировать:
- при режиме номерной тары
КоличествоМест— целое ≥ 1 (иначе запрет проведения) — убрать «на реализации»; - синхронизация/проверки в модуле объекта, не только в форме;
- при уменьшении мест — удалять незаполненные с конца, заполненные — с подтверждением;
- при смене
ТипФасовки/ снятии признака — очистка ТЧ с вопросом (один выбранный UX).
7. Константа без поведения
Создавать экзИспользоватьОстаткиНомернойТары на A без эффекта — путаница для админов.
Либо не создавать до B, либо не выводить в интерфейс и явно в К7: «заготовка, UI не меняет».
Средний приоритет
| Тема | Что дописать |
|---|---|
| Двойной расход одной тары в разных РНК | На A: запрет / предупреждение / ничего — сейчас только дубль внутри одного документа |
| Уникальность в справочнике | Уникальность наименования в пределах владельца + индекс/контроль при Excel |
| Excel | xls/xlsx, лист, строка заголовка, кодировка, «создать vs обновить», лимит строк, права на обработку |
| Копирование / ввод на основании РНК | копировать ТЧ или очищать |
| Печать | номерная тара в печатных формах — да/нет (вне A — явно) |
| Имена | синоним регистра = синоним справочника → путаница в отчётах; развести |
| К4 | «запись/проведение» — проверки только при проведении или ещё при записи |
| Срок 07.10.2026 = дата документа | обновить статус этапа A (done / in progress / postponed) |
Предлагаемая правка структуры ТЗ
- §1.2 — разделить критерии: «фиксация в документе» vs «остатки»; К5 либо смягчить, либо перенести на B.
- §3 — этап A′ без движений по регистру (или A‴ с явной политикой минусов).
- §4.3 — таблица «модель остатков» + решение по
Контрагент/ТипФасовки; ресурсКоличество— целое, точность 0. - §4.4 — константу вынести из Must этапа A.
- §5.3 — закрыть открытые ветки из §9 (места = 0, смена типа, дробь).
- §5.6 — измеримый тест К6 + другие планы обмена.
- §7 — добавить: двойной расход; дробные места; смена типа с заполненной ТЧ; права весовщика на ТЧ; константа не влияет на выбор.
- §9 — превратить «рекомендации» в принятые решения или вопросы заказчику.
- Шапка — статус относительно кода в
ves2020/ версии ИБ.
Минимальный Must для этапа A (если цель — «в отгрузке указать номера»)
- Признак у типа фасовки.
- Справочник + Excel.
- ТЧ в РНК: видимость, N = места, без дублей, отбор по владельцу, проверки при проведении.
- Матрица прав.
- Изоляция от БЭКЗ с приёмкой на узле.
Регистр, константа, отчёт, отбор по остаткам — один пакет на B с согласованной аналитикой.
Вопросы заказчику (без ответа — не закрывать регистр)
- Тара после отгрузки числится на складе или у контрагента? Нужен ли возврат?
- Можно ли одну номерную тару отгрузить дважды, пока нет прихода?
- Режим нужен для всех видов операций РНК или только для части?
- Достаточно ли на A записи номеров в документе без регистра остатков?
Основано на критическом разборе ТЗ от 07.10.2026; сверка имён — MCP user-1c / исходники ves2020.