Виды номера и источник выдачи

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

В учебном примере внутренняя заявка Z812 связана с номером клиента 0042 и документом доставки D90. У другой компании тоже есть 0042. Поиск по номеру клиента ограничен текущей организацией; внутренний идентификатор не становится разрешением прочитать объект.

Нормализация ввода

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

Словарь номеров и сценарии поиска:

Таблица 1 · Учебный артефакт
ВидИсходный номерРазрешённое преобразованиеОбласть
Клиентский0042Убрать пробелы по краямОрганизация и источник
ВнутреннийZ812Согласованный регистр буквОбъекты с доступом
ДоставкаD90Без удаления префиксаПеревозчик и документ

Ввод 42 не приравнивают к 0042, пока владелец нумерации не подтвердил такую эквивалентность.

Неоднозначные совпадения

Если допустимы несколько совпадений, поиск возвращает список с безопасными признаками выбора: датой, собственным подразделением и типом документа. Автоматически открывать первый результат опасно для понимания пользователем ситуации. Порядок сортировки не устраняет неоднозначность.

У клиента два заказа 0042 в разных годах. Кабинет предлагает уточнить год или показывает оба доступных заказа. Для приёмки используют точное совпадение, похожий номер и повтор в другом периоде. Отсутствие результата после уточнения не заменяют ближайшей похожей заявкой без обозначения этого факта.

Защита от раскрытия чужой заявки

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

Пользователь компании А ищет 0042, который существует только у Б. Он получает ответ в пределах своей области поиска без названия компании Б, суммы и контактов. Отдельная проверка прямого адреса подтверждает то же ограничение. Полезный результат — поиск, который помогает найти свои данные, сохраняя ясность номера и границы организации.

Обсудить поиск по номеру заявки.