Как запустить 32-разрядную платформу 1С на 64-разрядном сервере для печати штрихкода PDF417?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При формировании и выводе на печать регламентированной отчетности пользователи часто сталкиваются с сообщением: «Внимание! Печать бланка формы с двухмерным штрихкодом PDF417 поддерживается только в 32-разрядной версии платформы». Данная ситуация обычно возникает после перевода серверной инфраструктуры или клиентских рабочих мест на 64-разрядную версию платформы «1С:Предприятие 8.3». Разберем причины возникновения этой ошибки и пошагово рассмотрим способы принудительного запуска 32-разрядного клиента 1С.

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

Выясним причину такого поведения системы. Библиотечный модуль печати двухмерных штрихкодов PDF417 разработан специалистами ФНС России (ГНИВЦ) исключительно в виде 32-разрядной внешней компоненты. Архитектура операционных систем не позволяет 64-разрядному процессу напрямую загружать и исполнять 32-битные динамические библиотеки (DLL).

При этом кластер серверов «1С:Предприятие» x64 полностью совместим с клиентами разрядности x86 (x32). Толстый и тонкий клиенты разрядности 32-бит могут свободно подключаться к 64-битному серверу 1С и выполнять все операции. Ошибка возникает исключительно на стороне клиентского приложения, если оно запущено как x64.

Когда на компьютере установлены обе версии платформы, стандартный стартер 1cestart.exe может автоматически выбирать 64-битную разрядность по умолчанию, игнорируя ярлык. Рассмотрим подробнее способы настройки запуска нужного клиента.

Способ 1. Указание разрядности в параметрах информационной базы

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

  1. Откроем диалоговое окно запуска «1С:Предприятия».
  2. Выделим нужную информационную базу в списке и нажмем кнопку «Изменить…».
  3. В открывшемся мастере редактирования нажмем кнопку «Далее» до перехода на последнюю страницу с дополнительными параметрами.
  4. Найдем поле «Разрядность» (по умолчанию там установлено значение «Авто»).
  5. Из выпадающего списка выберем вариант «32 (x86)».
  6. Нажмем кнопку «Готово» для сохранения параметров.

Теперь при каждом запуске данной базы через стартер будет принудительно вызываться 32-разрядный исполняемый файл клиента.

Способ 2. Настройка параметров запуска по умолчанию в 1CEStart

Если требуется, чтобы все базы по умолчанию открывались в 32-разрядном режиме, настроим приоритет стартера платформы:

  1. В окне со списком информационных баз нажмем кнопку «Настройка…».
  2. В блоке параметров разрядности переключим режим на «32 (x86)» или «Приоритет 32 (x86)».
  3. Сохраним изменения нажатием кнопки «ОК».

Также этот параметр можно задать централизованно через файл конфигурации 1cestart.cfg, расположенный в каталоге %APPDATA%\1C\1CEStart или %PROGRAMDATA%\1C\1CEStart, указав строку:

DefaultVersion=8.3;x86

Способ 3. Использование ключа командной строки /AppArch

Разберем вариант принудительного выбора разрядности с помощью параметров командной строки. Этот способ полезен при пакетном создании ярлыков или централизованном администрировании через групповые политики:

  1. Откроем окно редактирования базы в окне запуска (кнопка «Изменить…»).
  2. На последней странице мастера найдем поле «Дополнительные параметры запуска».
  3. Пропишем следующий ключ:

/AppArch i386

Также данный параметр можно прописать напрямую в свойствах ярлыка на рабочем столе пользователя.

Способ 4. Создание прямого ярлыка к исполняемому файлу x86

Если механизм общего запуска 1cestart.exe дает сбой или перенаправляет вызов на 64-битный клиент, запустим требуемый исполняемый файл напрямую из каталога 32-разрядных программ.

  1. Перейдем в каталог установки платформы: C:\Program Files (x86)\1cv8\<НомерРелиза>\bin\.
  2. Для тонкого клиента найдем файл 1cv8c.exe, для толстого клиента — 1cv8.exe.
  3. Создадим ярлык к этому файлу на рабочем столе.
  4. В свойствах ярлыка укажем строку запуска с параметрами подключения к серверу:

"C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\1cv8c.exe" ENTERPRISE /S "Server1C\BaseName"

Альтернативные варианты решения

Если переключение на 32-разрядную платформу нецелесообразно или требуется быстро распечатать документ, рассмотрим другие варианты:

  1. Печать бланка без штрихкода: В форме регламентированного отчета по кнопке «Печать» выберем вариант формирования бланка без двухмерного штрихкода (для внутреннего использования или сверки данных).
  2. Электронная сдача отчета: При отправке отчетности в контролирующие органы в электронном виде через встроенные сервисы или путем выгрузки в формате XML физическая печать листа с кодом PDF417 не требуется.
← На главную