Как исправить ошибку «Порядок сортировки, установленный для базы данных, отличается от системного» в 1С 7.7?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

При переносе или совместной эксплуатации баз данных 1С:Предприятия 7.7 на компьютерах с современными версиями Windows (Windows 7, 8.1, 10, 11) пользователи часто сталкиваются с критической ошибкой: «Порядок сортировки, установленный для базы данных, отличается от системного». Проанализируем природу этой ошибки, разберем причины ее появления и пошагово рассмотрим все способы решения проблемы.

Причины возникновения ошибки сортировки

Выясним причину такого поведения платформы. Встроенный в 1С 7.7 табличный движок работы с DBF (библиотека CodeBase) жестко сопоставляет порядок сортировки в индексных файлах таблиц (*.cdx) с алгоритмами текущей операционной системы. Начиная с Windows Vista и Windows 7, компания Microsoft изменила таблицы национальных языковых стандартов (NLS) и правила сопоставления символов по сравнению с Windows 2000 и XP.

Когда одна рабочая станция работает под управлением Windows 8.1, а вторая под Windows 7, каждая система считывает системную локаль с небольшими внутренними различиями в таблицах сопоставления. В результате 1С 7.7 считает, что порядок сортировки не совпадает, и блокирует вход пользователя для предотвращения порчи индексов.

Способ 1. Отключение проверки с помощью файла OrdNoChk.prm

Фирма «1С» предусмотрела официальный механизм подавления проверки порядка сортировки. Разберем по шагам, как его применить и почему он иногда не срабатывает:

  1. Убедимся, что используется релиз платформы не ниже 7.70.026 (рекомендуется использовать последний официальный релиз 7.70.027). В более ранних релизах механизм отключения проверки не поддерживается.
  2. Создадим пустой текстовый файл и переименуем его в OrdNoChk.prm.
  3. Разместим данный файл в каталоге с исполняемыми файлами платформы (папка BIN, где расположен файл 1cv7s.exe или 1cv7.exe) либо непосредственно в каталоге конкретной информационной базы данных.

Если после размещения файла ошибка сохраняется, проверим типичные проблемы:

  1. Двойное расширение файла: если в проводнике Windows включена опция скрытия расширений зарегистрированных типов файлов, созданный Блокнотом файл может получить имя OrdNoChk.prm.txt. Проверим имя через свойства файла или командную строку.
  2. Механизм VirtualStore и UAC: при установке 1С в каталог C:\Program Files (x86)\ система контроля учетных записей (UAC) может перенаправлять запись в изолированное хранилище пользователя, и платформа фактически не увидит файл в системной папке. В этом случае разместим файл OrdNoChk.prm прямо в каталоге базы данных или перенесем каталог программы за пределы защищенных папок Windows.

Способ 2. Проверка региональных стандартов и настроек реестра Windows

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

  1. Откроем Панель управления и перейдем в раздел «Региональные стандарты».
  2. Перейдем на вкладку «Дополнительно» и найдем блок «Язык программ, не поддерживающих Юникод».
  3. Убедимся, что в качестве текущего языка системы выбран Русский (Россия). Если выбран другой язык, изменим его на русский и выполним перезагрузку компьютера. Если русский уже стоит, иногда помогает временно сменить его на английский, перезагрузить ПК, вернуть русский и перезагрузить снова.
  4. Проверим соответствие кодовых страниц в системном реестре Windows. Откроем редактор реестра и перейдем в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage. Убедимся, что строковые параметры 1250, 1251 и 1252 ссылаются на файл c_1251.nls.

Способ 3. Переиндексация и настройка кодовой страницы в Конфигураторе

Рассмотрим порядок правильной смены кодовой страницы внутри самой информационной базы:

  1. Запустим Конфигуратор в монопольном режиме от имени администратора на компьютере, где база открывается корректно.
  2. Перейдем в главное меню: «Администрирование» → «Кодовая страница таблиц ИБ...».
  3. В выпадающем списке выберем вариант «+ Текущая системная установка» или «1251 — Русский, белорусский, болгарский и др. языки» и нажмем кнопку «ОК».
  4. Дождемся завершения полной реиндексации всех таблиц информационной базы.
  5. Если ошибка сохраняется, закроем 1С на всех компьютерах, зайдем в папку с базой данных и вручную удалим все индексные файлы с расширением *.cdx. После этого запустим базу в монопольном режиме — платформа автоматически пересоздаст индексные файлы с актуальными параметрами.

Способ 4. Альтернативные способы организации работы

При гетерогенной сетевой среде (когда в одной локальной сети работают клиенты с разными версиями ОС от XP до Windows 11) отключение проверки индексов не гарантирует абсолютную стабильность. Рассмотрим более надежные архитектурные решения:

  1. Терминальный сервер (RDP / RemoteApp): развернем базу данных и клиентскую часть 1С на одной машине (сервере). Все пользователи подключаются к базе через удаленный рабочий стол. В этом случае все сеансы работают в единой системной среде, что полностью исключает конфликты сортировки.
  2. Перевод базы данных на MS SQL Server: при использовании клиент-серверного варианта 1С 7.7 правила сортировки определяются параметрами сервера баз данных (Collation базы, например Cyrillic_General_CI_AS), а не локальными библиотеками клиентских Windows.

Риски и ограничения отключения проверки сортировки

Помним о важных ограничениях при использовании файла OrdNoChk.prm:

  1. Риск разрушения индексов: при одновременной интенсивной записи данных из операционных систем с разными системными сортировками повышается вероятность повреждения файлов *.cdx. Рекомендуется регулярно выполнять процедуру «Тестирование и исправление ИБ» и делать резервные копии.
  2. Особенности сортировки строк: символы с диакритическими знаками, спецсимволы и буква «Ё» в отчетах и динамических списках справочников могут выстраиваться не по строгому алфавитному порядку.
← На главную