CR 2026-08-25. Обязательные поля информационной карты

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

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

⟨/⟩ Исходник

1. Источник (как есть)

Обсуждалось на Совещании с БАН 2026-08-25; список полей передан 2026-08-26:

Есть список полей, обязательных к заполнению в информационной карте:

  • Шифр;
  • Инвентарный номер;
  • Дата;
  • Заглавие
  • Место издания, рядом указано "если нет города, то Б.м." ;
  • Издательство, рядом указано "если нет издательства, то Б.и."
  • Год издания;
  • Количество страниц;
  • Формат.

Это список для карты для книг. Для рукописей и рисунков свои метки, но они большей частью будут дублироваться с метками полей книг. Потом отдельно пришлю/

Список должен визуально выделяться (возможно иконкой), должно быть понятно, что пустое обязательное поле требуется заполнить.

Возможен вариант, когда на бумажном бланке не заполнены все обязательные поля. В этом случае пользователь должен иметь возможность сохранить результаты распознавания бумажного бланка как черновик ИК, иметь возможность дособрать информацию, вернуться к обработке ИК и дозаполнить её. ИК в статусе черновик не может быть выгружена в файл для АБИС.

Уточнение заказчика в тот же день:

Это карта информационная для книг. Для рукописей и рисунков свои метки, но они большей частью будут дублироваться с метками полей книг. Потом отдельно пришлю

Я ошиблась, конечно. Должно быть так:

  • Шифр;
  • Инвентарный номер;
  • Дата;
  • Заглавие
  • Место издания, рядом указано "если нет города, то Б.м." ;
  • Издательство, рядом указано "если нет издательства, то Б.и."
  • Год издания;
  • Количество страниц;
  • Формат.

2. Разбор

2.1. Требование

Требуется:

2.2. Где живёт незавершённая работа

Рассмотрены два варианта: карта со статусом «черновик» и хранение незавершённого в пакете ввода. Выбран второй; сравнение и обоснование — ADR-012 «Незавершённая карта живёт в пакете ввода».

2.3. Что меняется на экране проверки

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

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

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

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

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

2.4. Как устанавливается обязательность

Возможность установить обязательность предусмотрена в модели данных: признак стоит у вхождения атрибута в состав вида документа (атрибут вида документа). Это настройка, а не код: изменить перечень значит изменить данные справочника, сборка и выкладка для этого не нужны, новых сущностей — тоже.

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

Сценарий, экран и контракт её ведения не специфицированы.

2.5. Принятые решения

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

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

Отсутствие значения записывается явно, а не оставляется пустым. У двух полей есть принятая на бланке заглушка: «Б.м.» вместо места издания и «Б.и.» вместо издательства. Вписывает её пользователь, Сервис не подставляет ничего: пустое поле означает «значение не указано» и обязательное поле незаполненным. Заглушку Сервис принимает как обычное значение и не разбирает.

3. Blast radius

Документ Что меняется
видение Сервиса пункт «Проверка карты»: проверку можно отложить, не создавая карту; создание по-прежнему требует полноты
FR-005 «Верификация» визуальная пометка незаполненных обязательных полей при проверке
FR-006 «Создание карты» условие создания карты — заполненность обязательных полей; проверка откладывается сохранением пакета
пакет ввода пакет хранит проверенные значения и ждёт дозаполнения
экран «Очередь обработки» пометка обязательных полей на вкладке «Проверка карты»; действие «Взять следующий»
сценарий «Проверка пакета» появляется выход из сценария без создания карты и возврат к отложенному пакету
вид документа наполнение состава вида: какие атрибуты обязательны

FR-007 «Выгрузка в АБИС» и FR-011 «Реестр информационных карт» не затрагиваются: неполной карты не существует, значит запрещать выгрузку нечему, а реестр карт остаётся реестром готовых карт.

Реализация: пометка обязательных полей на проверке, действие «Взять следующий», сохранение правок по мере ввода, наполнение справочника атрибутов вида. Миграций схемы не требуется — ни новых сущностей, ни новых состояний.

4. План

  1. Завести ADR о том, где живёт незавершённая карта. Выполнено: ADR-012 «Незавершённая карта живёт в пакете ввода».
  2. Завести документ обязательных атрибутов по видам ИК. Выполнено: обязательные атрибуты по видам ИК.
  3. Решить, нужен ли экран ведения состава видов и атрибутов или перечень меняется силами сопровождения. Вопрос не к заказчику: ему безразлично, как ведётся настройка, — важно, чтобы карты оцифровывались. Решается при планировании реализации.
  4. Правки требований. Выполнено: FR-005 «Верификация» (выделение обязательных полей, откладывание проверки), FR-006 «Создание карты» (условие создания карты).
  5. Поправить видение. Выполнено: видение Сервиса, пункт «Проверка карты».
  6. Описать в сценарии проверки выход без создания карты и возврат к отложенному пакету. Выполнено: сценарий «Проверка пакета».
  7. Обновить прототип и согласовать вид. Выполнено: макет и спека экран «Очередь обработки» обновлены и согласованы.
  8. Реализация: интерфейс, сохранение правок по мере ввода, наполнение справочника.

5. Итог

Пункт Статус
Вопросы разбора сняты (вид ИК, место хранения, «Б.и.») выполнено
Место незавершённой карты: пакет ввода, а не состояние карты решено, ADR-012
Список обязательных полей зафиксирован выполнено для книги; рукопись и графика — ждём заказчика
Пометка незаполненных полей описана и показана на макете; реализация в работе
Возврат к отложенному пакету в работе

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

Документы

Термины