При переносе файловой базы данных 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 платформа определяет несоответствие и блокирует запуск. Проанализируем возможные варианты решения этой задачи.
Начиная с 27-го релиза (а также на 26-м релизе) платформы 1С 7.7, разработчики добавили механизм отключения проверки системного порядка сортировки. Для этого используется сервисный файл-заглушка OrdNoChk.prm.
Разберем по шагам, как применить данное решение:
OrdNoChk.prm (обратите внимание, что расширение файла должно быть именно .prm, а не .txt).BIN (по умолчанию путь: C:\Program Files\1Cv77\BIN или C:\Program Files (x86)\1Cv77\BIN).OrdNoChk.prm непосредственно в корневую папку базы данных.Важные нюансы при использовании OrdNoChk.prm:
Рассмотрим порядок действий для настройки соответствия системных установок через штатный интерфейс платформы:
+Текущая системная установка или укажем конкретное значение 1251 - Русский, белорусский, болгарский и сербский языки.Важно учитывать: если в сети одновременно работают ПК с Windows 7 и Windows 10, выбор текущей системной установки на Windows 7 позволит работать компьютерам с Win7, но вызовет ошибку на Win10, и наоборот. В таких гетерогенных сетях данный способ эффективен только в сочетании с корректировкой системных настроек самой Windows.
Частой причиной сбоев 1С 7.7 в Windows 10 является включенный экспериментальный режим Юникода. Проверим этот параметр на всех компьютерах с Windows 10:
Бета-версия: Использовать Юникод UTF-8 для поддержки языков во всем мире.При работе с файловой базой 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).