При формировании и выводе на печать регламентированной отчетности пользователи часто сталкиваются с сообщением: «Внимание! Печать бланка формы с двухмерным штрихкодом PDF417 поддерживается только в 32-разрядной версии платформы». Данная ситуация обычно возникает после перевода серверной инфраструктуры или клиентских рабочих мест на 64-разрядную версию платформы «1С:Предприятие 8.3». Разберем причины возникновения этой ошибки и пошагово рассмотрим способы принудительного запуска 32-разрядного клиента 1С.
Выясним причину такого поведения системы. Библиотечный модуль печати двухмерных штрихкодов PDF417 разработан специалистами ФНС России (ГНИВЦ) исключительно в виде 32-разрядной внешней компоненты. Архитектура операционных систем не позволяет 64-разрядному процессу напрямую загружать и исполнять 32-битные динамические библиотеки (DLL).
При этом кластер серверов «1С:Предприятие» x64 полностью совместим с клиентами разрядности x86 (x32). Толстый и тонкий клиенты разрядности 32-бит могут свободно подключаться к 64-битному серверу 1С и выполнять все операции. Ошибка возникает исключительно на стороне клиентского приложения, если оно запущено как x64.
Когда на компьютере установлены обе версии платформы, стандартный стартер 1cestart.exe может автоматически выбирать 64-битную разрядность по умолчанию, игнорируя ярлык. Рассмотрим подробнее способы настройки запуска нужного клиента.
Проанализируем самый простой и удобный способ фиксации разрядности для конкретной информационной базы в общем списке запуска:
Теперь при каждом запуске данной базы через стартер будет принудительно вызываться 32-разрядный исполняемый файл клиента.
Если требуется, чтобы все базы по умолчанию открывались в 32-разрядном режиме, настроим приоритет стартера платформы:
Также этот параметр можно задать централизованно через файл конфигурации 1cestart.cfg, расположенный в каталоге %APPDATA%\1C\1CEStart или %PROGRAMDATA%\1C\1CEStart, указав строку:
DefaultVersion=8.3;x86
Разберем вариант принудительного выбора разрядности с помощью параметров командной строки. Этот способ полезен при пакетном создании ярлыков или централизованном администрировании через групповые политики:
/AppArch i386
Также данный параметр можно прописать напрямую в свойствах ярлыка на рабочем столе пользователя.
Если механизм общего запуска 1cestart.exe дает сбой или перенаправляет вызов на 64-битный клиент, запустим требуемый исполняемый файл напрямую из каталога 32-разрядных программ.
C:\Program Files (x86)\1cv8\<НомерРелиза>\bin\.1cv8c.exe, для толстого клиента — 1cv8.exe.
"C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\1cv8c.exe" ENTERPRISE /S "Server1C\BaseName"
Если переключение на 32-разрядную платформу нецелесообразно или требуется быстро распечатать документ, рассмотрим другие варианты: