CR 2026-08-14. Ввод без плана ввода

Запрос на изменение Версия: 0.1 draft

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

⟨/⟩ Исходник

1. Суть изменения

Ввод перестаёт идти по заранее выбранному плану. Пользователь снимает или загружает кадры страниц подряд; каждому новому кадру присваивается очередной номер страницы, порядок правится перетаскиванием. Ввод карты завершается командой «Сохранить и перейти к следующей»; сверху действует настраиваемый предел числа кадров в пакете, по умолчанию пять.

Экран очереди упрощается следом: вместо пяти вкладок по этапам обработки остаются две — «Пакет ввода» со списком кадров и «Проверка карты», где пользователь проверяет, правит и принимает данные. Подсказка поиска — «№ пакета · шифр · инв. № · заглавие».

Вид документа и редакцию бланка определяет Сервис. Если при проверке вид оказался распознан неверно, пользователь отклоняет его и может указать верный: пакет уходит на повторную обработку с контекстом «такой-то вид отвергнут, верным считать такой-то», а пользователь берёт следующий пакет, не дожидаясь результата. Пакет, в котором не опознан ни один вид, помечается как ошибочный.

2. Разбор

2.1. Что меняется по существу

Выбор плана ввода исчезает из работы пользователя. Вместо последовательности шагов, заданной заранее, ввод сводится к съёмке страниц подряд; номер страницы присваивается по порядку съёмки и правится перетаскиванием. Определение вида документа и редакции бланка переносится с пользователя на Сервис.

Ошибка распознавания вида правится не редактированием значений, а возвратом на повторную обработку: пользователь сообщает, что вид неверен, и может указать правильный. Тогда контекст повторной обработки содержит обе части — какой вид отвергнут и какой считать верным. Пользователь не ждёт результата, а берёт следующий пакет.

Если не опознан ни один вид, пакет помечается как ошибочный: обрабатывать нечего, и дальше он идёт в ручной разбор, а не по кругу.

Полнота пакета ввода определяется не Сервисом, а пользователем: ввод завершается командой «Сохранить и перейти к следующей». Сверху действует настраиваемое ограничение — наибольшее число кадров в пакете, по умолчанию пять.

2.2. Почему это ускоряет ввод

Из работы уходят два действия на каждую карту: выбор плана и следование его шагам. При объёме архива около 50 тыс. карт это заметно. Дополнительно снимается ошибка, которую план допускал: оператор мог выбрать план, не соответствующий бумаге, и заметить это только на проверке.

2.3. Чем платим

Распознавание становится обязательным звеном ввода. Раньше план гарантировал, что Сервис знает, что за карта; теперь это гипотеза модели. Пакет с неопознанным видом не может быть разобран в значения вообще, а не только частично.

Появляется цикл повторной обработки с обратной связью. Это новое поведение очереди: пакет возвращается в неё с контекстом «вид такой-то отвергнут, верным считать такой-то». От бесконечного хождения по кругу защищает не счётчик попыток, а то, что пользователь вправе указать верный вид, а неопознанный вовсе пакет уходит в ошибку.

Пользователь теряет подсказку. План говорил, что снимать следующим; без него полнота пакета определяется только распознанной формой, то есть постфактум.

2.4. Что переживает переделку

Эти решения не связаны с планом и должны сохраниться: три источника изображения, доступные одновременно; накопитель с правкой и удалением кадров до постановки в очередь; список созданных пакетов с возвратом к любому; немедленный переход к следующей карте; автоматическая постановка в очередь без отдельной кнопки.

3. Очередь обработки: две вкладки вместо пяти этапов

3.1. Что должно остаться на вкладке «Пакет ввода»

Кроме того, что названо в запросе — пересъёмка, повторная обработка, отметка включения кадра в обработку, — на этой вкладке живёт то, что было на прежних этапах «Предобработка» и «Проверка файлов»:

Что Зачем
Полноэкранный просмотр с переключателем «оригинал / обработанное» годность кадра видна только после нормализации; это и было смыслом проверки файлов
Удаление кадра и добавление недостающего доснять страницу, пропущенную при вводе
Назначение кадра странице формы Сервис распределяет кадры по страницам опознанной формы, пользователь переназначает; изменение требует повторной обработки
Состояние кадра: обработан, в обработке, ошибка нормализации иначе непонятно, чего ждать и что переснимать
Признак «пакет изменён после обработки» добавили или переснили кадр — результаты распознавания устарели; пересборка ручная, чтобы не затереть правки полей

3.2. Полнота пакета и полнота карты

Сервис определяет вид формы, а значит и число её страниц, и распределяет кадры по страницам. Из этого следуют три случая.

Кадров больше, чем страниц. Лишние помечаются «не относится к форме», галочка включения снимается — в обработку они не идут. Пользователь может удалить их, но не обязан: удалить всегда успеется, восстановить снятое — нет.

Кадров не хватает. Сервис показывает, для каких страниц нет кадров. Пользователь либо добавляет кадр, либо переснимает лишний нужной страницей — второе короче и не упирается в предел пакета.

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

Единственный контроль на выходе — обязательные поля: карта не создаётся, пока они не заполнены. Обязательность задаётся составом вида документа и от того, сколько кадров в пакете, не зависит.

3.3. Поведение вкладок

Пакет ввода. Список кадров, опознанный вид карты и опознанные страницы. Действия над кадрами: пересъёмка, повторная обработка, отметка включения кадра в обработку, удаление, добавление недостающего, порядок страниц. Кнопка подтверждения переводит на «Проверку карты». Кнопка «Вид документа не распознан» отклоняет вид с указанием верного и отправляет пакет на повторную обработку.

Проверка карты. Показывает результат распознавания и даёт его править. Распознанные значения при этом сохраняются и остаются доступны для показа: пользователь должен видеть, что прочла модель, даже после того как исправил.

3.4. Повторная обработка после правки кадров

Пакет с изменёнными кадрами возвращается в очередь по кнопке «Поставить в очередь», а не автоматически. Момент повторной обработки выбирает человек — иначе каждое движение кадра запускало бы распознавание заново. После постановки Сервис предлагает сразу взять следующий пакет.

Новые результаты распознавания не затирают введённое пользователем. Отсюда же требование к хранению: у значения два набора — то, что видит и правит пользователь, и то, что вернула модель.

3.5. Состояния пакета

Вместо пяти этапов у пакета четыре состояния: в очереди, проверка, завершён, ошибка. По ним же фильтруется очередь.

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

3.6. Что схлопывание вкладок меняет по существу

Пять этапов (ADR-003 «Статус пакета из подтверждённых этапов») были не пятью экранами, а моделью подтверждения: из последнего подтверждённого этапа выводился статус пакета, на этапах строились фильтры очереди и каскадный отзыв. Всё это заменяется четырьмя состояниями, поэтому переделка задевает не только экран.

Проверка карты становится единым действием: поля, экземпляр, экспертиза и вид документа проверяются на одной вкладке, а результат — принятие карты либо отклонение вида с отправкой на повторную обработку.

4. Blast radius

4.1. Отменяется целиком

Артефакт Что в нём
ADR-001 «План ввода определяется видом ИК» решение, ради которого вводился план; замещается новым ADR
FR-008 «Свободное формирование пакета кадров» требование о ведении планов; переписано в «Свободное формирование пакета кадров»
Сценарий «Ввод ИК по плану» сценарий пошагового ввода; заменён на сценарий «Ввод информационной карты»
План ввода, Операция ввода сущности и одноимённые термины глоссария

4.2. Переделывается

Артефакт Что меняется
видение Сервиса, 4.2.1 ввод перестаёт идти по плану; появляется автоопределение вида и формы
видение Сервиса, 4.2.3 в проверку добавляется отказ «вид документа распознан неверно»
эпик «Ввод информационных карт» тонкая нить без плана
Пакет ввода вместо ссылки на план — распознанные вид документа и форма
Кадр изображения вместо роли кадра — номер страницы с возможностью переупорядочить
экран «Ввод данных» и его прототип степпер по плану заменяется лентой кадров с перетаскиванием
ADR-006 «Структура данных информационной карты», вариант 5 на схеме нарисован план ввода с операциями
ADR-003 «Статус пакета из подтверждённых этапов» замещается решением о четырёх состояниях: ADR-008 «Четыре состояния пакета и две вкладки проверки»
Этапы обработки пакета перечисление из пяти значений сокращается
FR-005 «Верификация» последовательность этапов проверки
экран «Очередь обработки» и его прототип пять вкладок заменяются двумя; подсказка поиска
состояния пакета ввода состояния строились на подтверждении этапов
эпик «Обработка пакетов» границы и критерии приёмки описывали пять этапов с подтверждением
сценарий «Проверка пакета» сценарий вёл пользователя по этапам с отзывом подтверждений
Термины «План ввода», «Операция ввода» понятий больше нет в модели

4.3. Затрагивается косвенно

Артефакт Почему
ADR-002 «Идентичность пакета и имена файлов» в ключе файла сидит вид кадра — станет номер страницы
ADR-005 «Привязка значения к странице формы и области» привязка к виду кадра заменяется привязкой к странице формы
FR-003 «Сегментация и извлечение атрибутов» извлечение идентификации из запасного пути становится основным
FR-009 «Очередь обработки» появляется повторная обработка с контекстом отрицания вида

5. План проработки

Шаг Что даёт
1 Прототип экрана ввода: лента кадров, автонумерация страниц, перетаскивание, завершение карты закрывает вопрос, чем заменить подсказку плана
2 Прототип очереди: две вкладки, отклонение вида с указанием верного, ошибочный пакет в списке показывает цикл возврата целиком
3 Закрыть открытые вопросы по итогам прототипов предел кадров, кадры вне формы, судьба ошибочного пакета
4 ADR-007 «Ввод без плана» с замещением ADR-001 «План ввода определяется видом ИК» фиксирует решение и его цену
5 Домен: пакет ввода, кадр изображения; удаление плана и операций приводит модель в соответствие
6 Требования и видение: FR-008 отменить, FR-001, FR-003, FR-009 и разделы 4.2.1, 4.2.3 переписать убирает противоречия в тексте
7 Эпик и use-case: заменить «Ввод карты по плану» тонкая нить без плана
8 Итог в этом CR статус по каждому пункту

5.1. Почему прототип первым

Из пяти неясностей четыре — про поведение экрана: чем заменить подсказку плана, что показывать до того, как вид распознан, как выглядит отклонение вида, куда девается ошибочный пакет. На прототипе это решается за вечер, в тексте — обсуждается неделю и всё равно проверяется прототипом.

Обратный порядок — сначала ADR, потом макет — оправдан, когда решение диктует поведение. Здесь наоборот: решение почти принято, а его цена выяснится только на экране.

5.2. Что придётся трогать в прототипах

Экран ввода переписывается целиком: степпер по шагам плана заменяется лентой кадров. Экран очереди — частично: на этапе проверки добавляется отклонение вида с выбором верного, в список пакетов — состояние ошибки.

Старый прототип не копируем: он в истории репозитория, и этого достаточно.

6. Прототип экрана ввода

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

Открыть в новой вкладке

Прежний вариант со степпером по плану удалён: он остаётся в истории репозитория.

7. Прототип очереди

Две вкладки вместо пяти этапов, четыре состояния пакета, отклонение вида с указанием верного, повторная обработка по кнопке «Поставить в очередь».

Открыть в новой вкладке

8. Вопросы, закрытые заказчиком

Вопрос Ответ
Чем ограничен цикл повторной обработки Пользователь при отказе может указать верный вид — тогда повторная обработка идёт с подсказкой. Пакет, где не опознан ни один вид, помечается как ошибка
Что делать, если вид не опознан вовсе Пометить пакет как ошибочный
Как определяется полнота пакета при вводе Решает пользователь: ввод завершается командой «Сохранить и перейти к следующей». Сверху — настраиваемый предел числа кадров, по умолчанию пять
Что если страницы не хватает Ничего не блокируется: поля этой страницы не предзаполняются, пользователь вносит их сам
Что считается полной картой Карта, где заполнены обязательные поля; состав кадров на это не влияет
Нужен ли выбор вида как подсказка Сервису Да, при отказе от распознанного вида
Какие состояния остаются у пакета В очереди, проверка, завершён, ошибка; по ним же фильтруется очередь
Сохраняется ли каскадный отзыв подтверждений Не требуется: проверка заканчивается созданием карты, дальше пакет не правится
Кто запускает повторную обработку после правки кадров Пользователь, кнопкой «Поставить в очередь»; следом предлагается взять следующий пакет
Как называется вкладка с кадрами «Пакет ввода»
Кадры, не относящиеся к странице формы Отдельного вида кадра нет: снимаются только страницы карты. Кадр, который Сервис не отнёс к странице, считается лишним — не распознаётся и удаляется без повторной обработки
Что считает предел кадров Размер пакета целиком: пять кадров, и все они — страницы формы. Ничего лишнего в пакете не ожидается
Попытка добавить кадр сверх предела Кадр не добавляется, показывается сообщение «Достигнуто максимальное количество кадров пакета ввода»
Судьба ошибочного пакета Остаётся в очереди с признаком ошибки; отдельного списка разбора нет
Предел при повторной обработке Тот же: кадры заменяются, добавить сверх предела нельзя

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

Открытых вопросов нет.

10. Итог

10.1. Сделано

Пункт плана Статус Что получилось
Прототип экрана ввода выполнено лента кадров, автонумерация, перетаскивание, предел кадров, завершение одной командой
Прототип очереди выполнено две вкладки, четыре состояния, отклонение вида, повторная обработка по кнопке
Закрыть открытые вопросы выполнено все вопросы CR закрыты ответами заказчика
ADR с замещением ADR-001 выполнено ADR-007 «Ввод без плана»
Домен выполнено пакет, кадр, отклонение вида; удалены план, операция ввода, роли изображения, этапы обработки
Требования и видение выполнено FR-001 «Ввод изображений», FR-003 «Сегментация и извлечение атрибутов», FR-005 «Верификация», FR-009 «Очередь обработки»; FR-008 «Свободное формирование пакета кадров» переписано; видение 4.2.1–4.2.3, 4.2.5
Эпик и сценарий выполнено эпик «Ввод информационных карт» и сценарий «Ввод информационной карты»; эпик «Обработка пакетов» и сценарий «Проверка пакета»
Итог выполнено этот раздел

10.2. Сверх плана

Работа вскрыла то, чего в blast radius не было.

Понадобилось второе решение. Схлопывание пяти этапов в две вкладки отменяло ADR-003 «Статус пакета из подтверждённых этапов», а отменить решение можно только другим решением — появился ADR-008 «Четыре состояния пакета и две вкладки проверки». В первоначальном разборе я этого не увидел: считал схлопывание вкладок правкой экрана.

Эпик обработки и сценарий проверки остались на старой модели и нашлись только проверкой на документы-сироты — их не было в blast radius.

Ссылки в спеке рендерились именами классов. Механизм отображаемых имён был заполнен у трёх страниц из ста; проставлен двадцати семи артефактам, теперь упоминания читаются по-русски по всей спеке.

10.3. Что изменилось в объёме

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

10.4. Что осталось незакрытым

FR-008 «Свободное формирование пакета кадров» не удалено и не отменено, а переписано в «Свободное формирование пакета кадров»: номер требования сохраняет след — планы рассматривались, от них отказались осознанно, — а содержание описывает действующий порядок ввода. ADR-001 «План ввода определяется видом ИК» и ADR-003 «Статус пакета из подтверждённых этапов» остаются в спеке как замещённые — их аргументация понадобится, если новый подход не оправдается.

Открытые вопросы, поднятые переделкой, живут в своих документах: предел кадров на вид ИК и возврат к созданному пакету — в эпик «Ввод информационных карт»; порог уверенности определения вида и число возвратов в очередь — в эпик «Обработка пакетов».

Связанные артефакты

Документы

Термины