Skip to main content

Доработки модуля ввода данных

Бизнес-требования

  • Пользователь должен видеть корректную подпись и форматирование строки итогов, без схлопывания текста и с явным словом «Итого»; ввод и отображение должны соответствовать типу данных полей.
  • При настройке консолидации и сопоставлении полей пользователь может задавать идентификаторы в привычном для данных виде (не только латиница) и при необходимости использовать понятные человеку алиасы.
  • После удаления строк идентификаторы строк должны оставаться последовательными и предсказуемыми для ссылок, формул и интеграций.
  • Наличие комментария к ячейке должно быть заметно в интерфейсе без открытия каждой ячейки.
  • Ограничения видимости столбцов формы, заданные в DIS для пользователя, не должны обходиться при открытии той же формы во Fastboard: пользователь не видит столбцы, которые ему запрещены.
  • В модальных окнах со длинными списками выбора должен быть быстрый поиск по списку.
  • В базовом и режиме редактирования доступность элементов настройки и работы с формой должна соответствовать правилам: выражение настраивается только в режиме редактирования; строка итогов доступна всегда; бизнес-процесс виден в режиме редактирования, но не настраивается; консолидация работает в штатном режиме без лишних ограничений.

Решение

Строка итогов: подпись «Итого», типы данных, отсутствие схлопывания текста

Пользовательский интерфейс

Расположение:

  • Модуль ввода данных ->→ ПКМ по форме → Доба свить/редактировать строкойу итогов. → Модальное окно редактирования строки итогов

Изменения:

  • ВДобавить зонче стркбокс "Показывать подпи итогов отображается словоь «Итого» в первом столи эквивалбцент", по прумолчавнилам локализации продукта) так, чтобы оною не пвыбран
    • Если выбран чекбопкс "Покадзывалоть подпись «Итого» в перивом стиповых ширинах колонокбце"
    • и
    масштабе.
  • Текст подписи и значения итогов не накладывается друг на друга: минимальные отступы, перенос или обрезка с подсказкой — по дизайн-системе, читаемость сохраняется.
  • Значения в ячейках итогов форматируются по типу данных соответствующего столбца (число, дата, текст и т.д.); при несовместимом вводе или вычислении пользователь получает понятную обратную связь.
Системная логика – фронтенд
  • Верстка и стили строки итогов исключают коллапс текста (flex, min-width, white-space или иные приёмы по текущему стеку).
  • Перед отображением итога выполняется проверка или приведение к типу столбца; при невозможности приведения отображается ошибка без «тихого» искажения данных.
  • Локализуемая строка для заголовка зоны итогов содержит «Итого».

Консолидация: сопоставление полей (латиница, алиасы)

Пользовательский интерфейс

Расположение:

  • Модуль ввода данных -> настройки консолидации -> сопоставление полей.

Изменения:

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

Пересчёт идентификаторов строк при удалении

Пользовательский интерфейс

Расположение:

  • Модуль ввода данных -> таблица строк формы (если в интерфейсе отображаются порядковый номер строки или иной идентификатор, зависящий от порядка).

Изменения:

  • После удаления строки нет «дыр» в отображаемой нумерации или в показанных пользователю идентификаторах, если такие выводятся в UI.
  • Целевая модель (строгий пересчёт порядковых id, либо стабильные UUID с отдельным полем порядка) фиксируется в реализации и в описании задачи для согласования с формулами и интеграциями.
Системная логика – фронтенд
  • После успешного ответа на удаление строки состояние таблицы и ключи списка соответствуют данным ответа и последующей загрузке формы, без использования устаревших id удалённых строк.
Системная логика – бэкенд
  • При хранении строк на сервере: пересчёт порядка или sequential id при удалении, либо политика «стабильный id + order» с атомарным обновлением связанных сущностей.
  • Ответ на удаление и последующая выдача формы содержат согласованный набор id и порядка.

Визуальная индикация комментария к ячейке

Пользовательский интерфейс

Расположение:

  • Модуль ввода данных -> ячейки таблицы ввода.

Изменения:

  • Ячейка с комментарием отличается от ячейки без комментария: иконка, маркер угла, цветовая метка или комбинация по гайдлайнам продукта.
  • По наведению или клику доступен просмотр текста комментария (при уже существующем сценарии — дополнить индикацией).
Системная логика – фронтенд
  • Отрисовка индикатора по данным ячейки (наличие комментария); обновление индикатора при добавлении и удалении комментария.

Согласованность ограничений видимости столбцов DIS и Fastboard (CLS)

Пользовательский интерфейс

Расположение:

  • Fastboard -> модуль ввода данных -> форма.

Изменения:

  • Во Fastboard не отображаются столбцы формы, запрещённые для пользователя по правилам DIS, в том числе сразу после загрузки страницы (без кратковременного показа запрещённых столбцов до применения прав).
Системная логика – фронтенд
  • Столбцы рендерятся только из списка, разрешённого данными формы и правами; до получения итоговой схемы с учётом CLS не подставляется полный набор столбцов без фильтрации.
  • При необходимости — состояние загрузки без отображения полной сетки столбцов.
Системная логика – бэкенд
  • Загрузка схемы и данных формы для Fastboard применяет те же правила видимости столбцов (CLS), что и для DIS, в одном месте или с переиспользованием общей логики.
  • Кэш и ответы не отдают пользователю содержимое и метаданные запрещённых столбцов в обход этих правил.

Поиск по спискам в модальных окнах

Пользовательский интерфейс

Расположение:

  • Модуль ввода данных -> модальные окна с длинным списком выбора (конкретный перечень — в подзадаче инвентаризации).

Изменения:

  • Над списком или в шапке модального окна — поле поиска с фильтрацией по подстроке без учёта регистра (или по правилам продукта).
  • Пустой поиск показывает полный список; при отсутствии результатов — понятное сообщение.
Системная логика – фронтенд
  • Реализация поиска для модалок со списком целиком на клиенте: фильтрация уже загруженного списка; при необходимости дебаунс ввода.
  • Для модалок, где список подгружается с сервера страницами, при доработке API — параметр поиска в запросе списка и согласованное поведение пустой выдачи (оформляется отдельным подпунктом при появлении изменений на бэкенде).

Базовый режим и режим редактирования: доступность элементов

Пользовательский интерфейс

Расположение:

  • Модуль ввода данных -> панели и меню настроек формы.

Правила доступности:

  • Выражение: настройка «Выражение» доступна только при включённом режиме редактирования; в базовом режиме скрыта или недоступна.
  • Строка итогов: работает всегда, вне зависимости от режима (отображение и использование итогов; при отдельном редакторе правил итогирования границы базового режима согласовать с продуктовой политикой, см. примечания).
  • Бизнес-процесс: в режиме редактирования секция отображается, элементы настройки привязки и параметров недоступны (только просмотр, read-only или disabled).
  • Консолидация: в обоих режимах без искусственного отключения в базовом режиме, если иное не следует из политики безопасности.
Системная логика – фронтенд
  • Единые флаги режима редактирования для условного рендера и недоступности (disabled) элементов настройки; единые точки входа для меню и панелей настроек.

Критерии приёмки

  • В строке итогов отображается слово «Итого» (или локализованный эквивалент); при стандартных размерах окна и колонок текст не сливается в нечитаемую строку; значения итогов соответствуют типам столбцов, при ошибке типа пользователь видит явную обратную связь.
  • В консолидации при сопоставлении полей допустимы символы, согласованные с бэкендом, без ограничения «только латиница»; алиас задаётся, сохраняется и отображается в интерфейсе настроек и связанных местах.
  • После удаления строк набор идентификаторов или порядковых номеров согласован с зафиксированной в реализации моделью и не ломает консолидацию, ссылки и повторное открытие формы; отображаемая нумерация без «дыр», если нумерация показывается.
  • Ячейка с комментарием визуально отличима сразу после добавления комментария и при последующем просмотре таблицы.
  • Пользователь с запретом на столбцы в DIS не видит эти столбцы во Fastboard при загрузке и дальнейшей работе; для этого пользователя не передаётся содержимое запрещённых столбцов в обход правил CLS.
  • В согласованном перечне модальных окон модуля ввода данных поиск по списку фильтрует элементы ожидаемо; при отсутствии совпадений отображается понятное состояние пустого списка.
  • В базовом режиме настройка выражения недоступна; строка итогов отображается и используется; консолидация работает штатно; в режиме редактирования выражение настраивается; бизнес-процесс виден, но не настраивается.

Примечания для постановки в работу

  • Уточнить у заказчика, относится ли формулировка «строка итогов работает всегда» только к просмотру итогов или также к изменению правил итогирования в базовом режиме — от этого зависит точное правило disabled для редактора итогов.
  • Для поиска в модальных окнах зафиксировать явный список экранов в подзадаче инвентаризации.
  • При необходимости запрета обхода настроек через прямой вызов API добавить проверки на бэкенде и тогда дополнить соответствующий подраздел документа разделом «Системная логика – бэкенд».