В современной ИТ-инфраструктуре использование 64-разрядных операционных систем и серверов 1С является стандартом. Однако часто возникают ситуации, когда пользователю необходимо запустить именно 32-битный (x86) клиент 1С. Основными причинами этого являются требования внешних компонентов, драйверов торгового оборудования (сканеров, касс, весов) или работа с COM-объектами (например, выгрузка в Excel или интеграция через v83.COMConnector), которые существуют только в 32-битной реализации. Рассмотрим подробнее, как корректно управлять разрядностью клиентского приложения.
Начиная с версии платформы 8.3.12, разработчики 1С реализовали механизмы управления разрядностью запускаемого приложения. Важно понимать, что система проверяет настройки в определенном порядке. Разберем иерархию этих настроек от самого высокого приоритета к самому низкому:
/AppArch. Если он указан, все остальные настройки игнорируются.ibases.v8i).1CEStart.cfg).Проанализируем каждый из этих способов и выясним причины, по которым настройки могут не срабатывать.
Этот метод является самым надежным, так как имеет наивысший приоритет. Если вы запускаете 1С через ярлык или программно, вы можете принудительно указать разрядность. Рассмотрим правильный синтаксис ключа /AppArch. Обратите внимание, что формат написания критически важен: между ключом и значением не должно быть пробелов или знака равенства. Для формирования строки с нужными ключами и параметрами можно использовать конструктор параметров командной строки 1С.
Доступные значения ключа:
/AppArchx86 — использовать строго 32-разрядную версию./AppArchx86_prt — отдавать приоритет 32-разрядной версии, но если установлена более свежая 64-разрядная, будет запущена она./AppArchx86_64 — использовать строго 64-разрядную версию./AppArchx86_64_prt — приоритет 64-разрядной версии (стандартное поведение на x64 ОС).Пример полной строки запуска для ярлыка:
"C:\Program Files (x86)\1cv8\common\1cestart.exe" ENTERPRISE /S "ServerName\BaseName" /AppArchx86
Если нам нужно, чтобы конкретная база всегда открывалась в 32-битном клиенте, мы можем изменить её свойства прямо в списке информационных баз. Разберем по шагам, как это сделать:
8.3.18.1520), а использовать маску 8.3.Важное замечание: Если в поле «Версия платформы» указан жесткий номер версии, а в системе установлена и 32-битная, и 64-битная версии этой сборки, загрузчик иногда может игнорировать параметр AppArch из файла ibases.v8i, отдавая предпочтение разрядности ОС. Использование маски 8.3 позволяет механизму 1cestart.exe более гибко выбирать исполняемый файл нужной архитектуры.
Для управления поведением запуска для всех баз пользователя или для всех пользователей сервера сразу, мы можем использовать файл конфигурации 1CEStart.cfg. Рассмотрим, где он находится:
C:\ProgramData\1C\1CEStart\1CEStart.cfg%AppData%\1C\1CEStart\1CEStart.cfgВыясним, какие параметры можно прописать в этом файле для принудительного использования x86. Мы можем добавить строку DefaultVersion с указанием архитектуры:
DefaultVersion=8.3;x86_prt
Также, если система упорно не видит 32-битную платформу, можно явно указать каталоги поиска установленных версий с помощью параметра InstalledLocation. Это особенно полезно, если платформа установлена в нестандартные папки:
InstalledLocation=C:\Program Files (x86)\1cv8
InstalledLocation=C:\Program Files\1cv8
Иногда, несмотря на все проделанные настройки, в диспетчере задач мы видим процесс 1cv8.exe без пометки «*32». Проанализируем возможные причины такой ситуации:
C:\Program Files (x86)\1cv8\ и убедитесь, что там есть папка с номером версии, а внутри неё в папке bin присутствует файл 1cv8.exe.HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\1C:Enterprise\8.3 могут содержать некорректные пути. Загрузчик 1С ориентируется на эти данные при поиске доступных версий.ibases.v8i.В некоторых случаях на современных версиях платформы помогает использование параметра UseNative83Launcher=0 в файле 1CEStart.cfg. Этот флаг заставляет 1cestart.exe использовать старый алгоритм поиска и запуска исполняемых файлов, который более строго следует указаниям разрядности в настройках пользователя. Рассмотрим пример содержимого файла с этим флагом:
UseNative83Launcher=0
DefaultVersion=8.3;x86
Для гарантированного результата мы рекомендуем использовать комбинацию методов. Сначала убедитесь в наличии установленной x86 платформы. Затем настройте свойства базы в списке, указав разрядность 32 (x86) и маску версии 8.3. Если это не помогает в условиях терминального сервера, используйте явный ключ запуска /AppArchx86 в ярлыках пользователей. Это исключит влияние любых пользовательских настроек и обеспечит стабильную работу 32-битных внешних компонентов в 64-разрядной среде. В качестве альтернативы ручной настройке ярлыков и конфигурационных файлов подойдёт стартер 1С для управления запуском информационных баз.