Как исправить ошибку кодовой страницы и порядка сортировки в 1С 7.7 при работе на Windows 7 и Windows 10?

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

При переносе файловой базы данных 1С:Предприятие 7.7 (DBF) в сетевую папку и подключении к ней пользователей с разным окружением (например, комбинация операционных систем Windows 7 и Windows 10) часто возникает ошибка несовпадения кодовой страницы или порядка сортировки таблиц. Разберем причинно-следственные связи этой проблемы и проанализируем доступные способы её устранения.

Выясним причину возникновения ошибки

Платформа 1С 7.7 контролирует соответствие порядка сортировки, установленного для таблиц базы данных, и региональных установок операционной системы. В Windows 10 компания Microsoft обновила таблицы языковой поддержки (NLS-файлы), из-за чего алгоритм расчета порядка сортировки для русской локализации (CP1251) на Windows 10 стал отличаться от аналога в Windows 7.

Когда пользователь запускает 1С 7.7 на Windows 7 и заходит в базу, система проверяет и фиксирует параметры кодовой страницы. При попытке входа с рабочей станции под управлением Windows 10 платформа определяет несоответствие и блокирует запуск. Проанализируем возможные варианты решения этой задачи.

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

Начиная с 27-го релиза (а также на 26-м релизе) платформы 1С 7.7, разработчики добавили механизм отключения проверки системного порядка сортировки. Для этого используется сервисный файл-заглушка OrdNoChk.prm.

Разберем по шагам, как применить данное решение:

  1. Создадим пустой текстовый файл и переименуем его в OrdNoChk.prm (обратите внимание, что расширение файла должно быть именно .prm, а не .txt).
  2. Для отключения проверки на конкретном рабочем месте поместим данный файл в каталог установки программы BIN (по умолчанию путь: C:\Program Files\1Cv77\BIN или C:\Program Files (x86)\1Cv77\BIN).
  3. Если необходимо отключить проверку для конкретной информационной базы для всех пользователей сразу, поместим файл OrdNoChk.prm непосредственно в корневую папку базы данных.

Важные нюансы при использовании OrdNoChk.prm:

  1. Распределенные базы данных (УРБД): Если используется компонент УРБД, в префиксах и идентификаторах центральной и периферийных баз необходимо применять только символы латинского алфавита. Использование кириллицы приведет к сбоям обмена.
  2. Пути к базам: Все наименования каталогов и сетевых папок рекомендуется задавать исключительно латиницей.
  3. Порядок сортировки в отчетах: Отключение проверки может привести к тому, что выводимые строки в отчетах (например, при сортировке по наименованию) будут располагаться в непривычном порядке.

Способ 2. Изменение кодовой страницы базы данных в Конфигураторе

Рассмотрим порядок действий для настройки соответствия системных установок через штатный интерфейс платформы:

  1. Запустим 1С:Предприятие 7.7 в режиме Конфигуратор с рабочей станции, где установлена основная операционная система.
  2. В главном меню перейдем в пункт Администрирование > Кодовая страница таблиц ИБ....
  3. В нижнем краю выпадающего списка выберем пункт +Текущая системная установка или укажем конкретное значение 1251 - Русский, белорусский, болгарский и сербский языки.
  4. Нажмем ОК и дождемся завершения процесса переиндексации и изменения порядка сортировки таблиц.

Важно учитывать: если в сети одновременно работают ПК с Windows 7 и Windows 10, выбор текущей системной установки на Windows 7 позволит работать компьютерам с Win7, но вызовет ошибку на Win10, и наоборот. В таких гетерогенных сетях данный способ эффективен только в сочетании с корректировкой системных настроек самой Windows.

Способ 3. Проверка параметров Юникода (UTF-8) в Windows 10

Частой причиной сбоев 1С 7.7 в Windows 10 является включенный экспериментальный режим Юникода. Проверим этот параметр на всех компьютерах с Windows 10:

  1. Откроем Панель управления > Региональные стандарты (или Часы и регион).
  2. Перейдем на вкладку Дополнительно.
  3. В разделе Язык программ, не поддерживающих Юникод нажмем кнопку Изменить язык системы.
  4. Убедимся, что снята галочка с пункта Бета-версия: Использовать Юникод UTF-8 для поддержки языков во всем мире.
  5. Если галочка была установлена, снимем её, нажмем ОК и перезагрузим ПК.

Способ 4. Сетевая настройка SMB и предотвращение повреждения DBF

При работе с файловой базой 1С 7.7 по сети без терминального сервера крайне важно защитить файлы индекса (.CDX) от повреждения из-за разницы в кэшировании сетевых протоколов SMB2/SMB3 между Windows 7 и Windows 10.

На компьютере или сервере, где расшарена папка с базой данных, рекомендуется отключить кэширование сетевых файлов (Leasing Mode). Для этого выполним команду в консоли PowerShell от имени администратора:

Set-SmbShare -Name "ИмяСетевойПапки" -LeasingMode None

Также для предотвращения внезапных падений программы при переиндексации на 64-разрядных операционных системах Windows 10 необходимо добавить исполняемые файлы 1cv7.exe или 1cv7s.exe в список исключений системы предотвращения выполнения данных (DEP).

← На главную