Почему возникает ошибка «Компонента 1С:Печать штрихкодов не установлена на данном компьютере» и как её исправить?

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

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

Выясним причину: разрядность клиента 1С и ActiveX

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

Даже если сервер «1С:Предприятие» работает в 64-разрядном режиме, а внешняя компонента вызывается непосредственно на стороне клиента, разрядность клиентского приложения играет решающую роль.

Способ 1. Принудительный запуск 32-битного клиента 1С

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

  1. Убедимся, что на компьютере пользователя установлена 32-битная платформа 1С (дистрибутив Windows x86).
  2. Откроем стартер 1С и выделим в списке нужную информационную базу.
  3. Нажмем кнопку «Изменить» и перейдем на последнюю страницу настроек подключения.
  4. В поле «Разрядность» сменим значение с «Авто» или «64 (x64)» на «32 (x86)» или «Приоритет 32 (x86)».
  5. Сохраним настройки и перезапустим 1С.

Способ 2. Запуск от имени администратора и регистрация DLL

Иногда при установке компоненты обычным пользователем в терминальном режиме COM-объект регистрируется только в ветке реестра текущего пользователя HKCU. Из-за этого другие сеансы не видят установленный модуль. Посмотрим, как корректно зарегистрировать библиотеку:

  1. Запустим ярлык 1С через правый клик мыши в режиме «Запустить от имени администратора».
  2. Если компонента все равно не определяется, откроем командную строку (cmd.exe) от имени Администратора.
  3. Выполним команду ручной регистрации библиотеки:

regsvr32 "C:\Program Files (x86)\1C\1CBarCode\1CBarCode.dll"

Способ 3. Переход на нативную компоненту из БПО (рекомендуемый вариант)

Наиболее современным и надежным решением является отказ от устаревшего ActiveX-модуля 1CBarCode в пользу нативной компоненты из Библиотеки подключаемого оборудования (БПО). Нативная компонента Native одинаково хорошо работает как в 32-битных, так и в 64-битных клиентах, а также на стороне сервера 1С и в веб-клиенте.

Посмотрим на пример кода, который позволяет подключить компоненту печати штрихкодов из общего макета конфигурации КомпонентаПечатиШтрихкодов и сгенерировать изображение штрихкода на сервере:


ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);

Если ПодключениеВыполнено Тогда
    Компонента = Новый("AddIn.КартинкаШтрихкода.Barcode");
    
    // Настройка параметров штрихкода (тип, текст, размеры)
    Компонента.ТипКода = 16; // EAN-13
    Компонента.Текст = "4600000000000";
    Компонента.Ширина = 300;
    Компонента.Высота = 150;
    
    // Получение картинки в формате двоичных данных
    КартинкаДвоичныеДанные = Компонента.ПолучитьШтрихкод();
КонецЕсли;

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

← На главную