ADR-012. Незавершённая карта живёт в пакете ввода
Где хранится работа над картой, которую не удалось закончить: в карте со статусом «черновик» или в пакете ввода.
1. Контекст
Часть обязательных полей может быть не заполнена на самом бумажном бланке. Заказчик просит не терять работу: сохранить проверенное, дособрать недостающие сведения и вернуться, чтобы дозаполнить. Выгружать такую карту в АБИС нельзя.
Значения полей уже хранятся в пакете ввода — вместе с уверенностью распознавания, кадром-источником и областью на нём; у пакета есть состояния и очередь, через которую к нему возвращаются. Информационная карта — результат проверки, состояния не имеет.
2. Решение
Незавершённая работа остаётся в пакете ввода. Проверка завершается либо созданием карты, в которой заполнены все обязательные поля, либо ничем: пакет остаётся в состоянии «Проверка» за оператором вместе с внесёнными значениями.
Карта состояния не имеет. Она создаётся только полной, и другой не бывает. «Черновик» — слово для описания ситуации, а не сущность модели и не элемент интерфейса.
3. Обоснование
Требование звучит как «не терять работу», а не как «завести неполную карту». Работа — это распознанные и поправленные значения, и они уже лежат в пакете. Дать карте статус «черновик» значит скопировать их туда же второй раз и держать один факт в двух местах, нарушив принятое правило: значения принадлежат пакету, потому что уверенность, кадр и область суть данные о распознавании, а не о результате.
Полнота карты становится инвариантом вместо проверки. Запрет «не выгружать неполную карту» — правило, которое нужно всюду помнить и можно забыть: допустить существование объекта, а потом везде оговаривать, что с ним нельзя. Когда неполной карты не существует, запрещать нечего.
Реестр карт остаётся реестром готовых карт, и ни выгрузке, ни поиску, ни отчётности не приходится различать два сорта записей.
4. Следствия
- Новых сущностей и состояний не появляется; миграций схемы не требуется.
- Возврат к отложенной работе идёт через очередь тем же экраном проверки — второй экран редактирования карты не нужен.
- Пакет живёт дольше обычного: занимает место в хранилище и остаётся закреплённым за оператором, пока тот не создаст карту или не вернёт пакет в очередь.
- Жёсткое удаление пакета уничтожает и внесённые значения — это осознанная цена, такое удаление доступно не всякому.
- Поле, которое нельзя установить в принципе, — повод пересмотреть перечень обязательных атрибутов вида, а не повод заводить карту-исключение.
5. Отвергнутые варианты
Карта со статусом «черновик». Проверка всегда завершается созданием карты; неполная получает статус, к ней возвращаются и дозаполняют. Отвергнут: у карты появляется жизненный цикл, значения хранятся дважды, реестр карт смешивает черновики с готовыми картами, выгрузка обязана проверять статус, и требуется второй экран редактирования — с изображениями бланка, то есть та же проверка заново.
Структурные связи
Использует
- Запрос на изменение CR 2026-08-25. Обязательные поля информационной карты
Используется
- Запрос на изменение Выгрузка в АБИС без отбора выборки
- Запрос на изменение CR 2026-08-25. Обязательные поля информационной карты
Связанные артефакты
Термины
- Термин Пакет ввода