DocFlow

Номера с буквенным префиксом сортируются неправильно

Как это выглядит

Отсортировали реестр по номеру документа — и порядок получился странный: СЧ-1, СЧ-10, СЧ-100, СЧ-2. Найти нужный документ в таком списке невозможно.

Коротко

Номер с буквами — текст, а текст сортируется посимвольно: «1» идёт раньше «2», поэтому «10» оказывается раньше «2». Это не ошибка таблицы, а нормальное поведение текстовой сортировки; лечится вынесением числовой части в отдельную колонку.

Почему так происходит

  1. 01Текстовая сортировка сравнивает посимвольно

    Строки сравниваются слева направо по кодам символов. «СЧ-10» и «СЧ-2» совпадают до третьего знака, а дальше «1» меньше «2» — значит, вся строка меньше.

  2. 02Номера без ведущих нулей

    Если бы номера писались как СЧ-002 и СЧ-010, текстовая сортировка совпала бы с числовой. Проблема появляется именно у номеров переменной длины.

  3. 03Разные префиксы у одного поставщика

    Часть документов пронумерована СЧ-, часть С-, часть без префикса. Сортировка разложит их тремя группами, и хронология развалится внутри каждой.

Как понять, что причина именно эта

Как починить

Вынести числовую часть в отдельную колонку

  1. 1.Добавьте колонку и извлеките в неё цифры из номера
  2. 2.Приведите её к числовому типу
  3. 3.Сортируйте по префиксу, затем по числовой колонке

не чинит: Требует, чтобы формат номера был единым. Если у поставщиков разные схемы, извлечение придётся настраивать под каждого.

Сортировать по дате, а не по номеру

  1. 1.Используйте дату документа как основной ключ
  2. 2.Номер оставьте для поиска, а не для порядка

не чинит: Не работает, если в один день несколько документов и нужен их внутренний порядок.

Договориться о ведущих нулях

  1. 1.Попросите поставщика нумеровать с фиксированной длиной: СЧ-0001
  2. 2.В своей нумерации сделайте так же

не чинит: Влияет только на будущие документы; архив останется отсортированным по-старому.

Когда мы не нужны

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

Что с этим делает наша выгрузка

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

Вопросы

Почему бы вам не вынести число из номера сразу?

Потому что схем нумерации много: СЧ-10/2026, 10-СЧ, 2026/10. Разобрать их одним правилом нельзя, а неверное разбиение хуже отсутствующего — оно выглядит правильным.

Ведущие нули в номере сохранятся?

Да, номер выгружается текстом. Именно поэтому СЧ-0001 не превратится в СЧ-1 — потеря нулей ломает и сортировку, и поиск.

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/bukvennyi-prefiks-slomal-sortirovku.