Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1cbarcode 1С:Предприятие и СУБД

Компонента 1C:Печать штрихкодов: Установка, настройка и решение проблем (Native API)

Обновлено: 10.09.2026 · Официальная документация ↗

Архитектура внешних компонент (Add-ins) 1С

Компонента 1C:Печать штрихкодов (используется для генерации EAN-13, QR-кодов, DataMatrix) исторически существовала в виде COM-объекта (ActiveX, файл 1cbarcode.dll). Ошибки «Компонента не установлена» или «Тип не определен (AddIn.1CBarcode)» возникают из-за архитектурного конфликта: старая DLL является 32-битной (x86), а сервер 1С:Предприятия или Толстый клиент часто работают в 64-битном (x64) адресном пространстве. 64-битный процесс не может напрямую загрузить 32-битную DLL. Бизнес-риски: остановка отгрузок со склада (не печатаются ТТН, этикетки и маркировка Честный ЗНАК).

Сравнение технологий генерации штрихкодов в 1С

ТехнологияФайлы (ID)СовместимостьРиски
COM / ActiveX (Устарело)1cbarcode.dllТолько x86 (32-bit) Windows.Ломается на x64 серверах. Требует админских прав для regsvr32.
Native API (Современный метод)Встроено в БСП / Макеты 1С (Barcode.dll, Barcode.so)Кроссплатформенно (x86/x64, Win/Linux).Минимальные. Загружается через ПодключитьВнешнююКомпоненту() без реестра ОС.

Алгоритм установки и решения конфликтов разрядности

Сценарий 1: Переход на Native API компоненту (Рекомендуется)

Во всех современных типовых конфигурациях (УТ 11, ERP, БП 3.0) встроена Native API компонента. Вам НЕ нужно устанавливать MSI-инсталляторы. Компонента хранится внутри конфигурации (в Общих Макетах).

 Пример программного подключения Native-компоненты (Код 1С)
ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "Barcode", ТипВнешнейКомпоненты.Native);
Генератор = Новый("AddIn.Barcode.Barcode2D");
Генератор.ТипШтрихкода = 1; // QR-код
Генератор.Значение = "Данные маркировки...";
КартинкаШК = Генератор.ПолучитьКартинкуШтрихкода();

Сценарий 2: Регистрация старой COM-компоненты на x64 ОС (Legacy)

Если используется самописная или старая конфигурация (УТ 10.3), требующая именно COM-объект, регистрируйте DLL через подсистему эмуляции SysWOW64.

  1. Скачайте и установите инсталлятор "1С:Печать штрихкодов". Файл 1cbarcode.dll окажется в системной папке.
  2. Откройте командную строку (cmd) строго от имени Администратора.
  3. Выполните команду для 64-битной Windows:
    %systemroot%\SysWoW64\regsvr32.exe "C:\Program Files (x86)\1C\1CBarCode\1cbarcode.dll"
  4. В 1С подключение выполняется через: Попытка ПодключитьВнешнююКомпоненту("AddIn.1CBarcode") Исключение...

Типовые ошибки администраторов

  • Вызов генерации штрихкода на сервере (x64) через COM: Даже если вы зарегистрировали 32-битную 1cbarcode.dll на сервере, 64-битный процесс rphost.exe не сможет ее использовать. Генерацию через старую COM-компоненту нужно делать строго на Клиенте (директива &НаКлиенте) в 32-битном приложении, либо использовать NativeAPI.
  • Забыли про Linux-серверы: COM/ActiveX технологии не работают в Linux в принципе. NativeAPI компоненты содержат в себе скомпилированные .so библиотеки для Linux x64, что делает код кроссплатформенным.
Проблемы с печатью марок 'Честный ЗНАК' на серверах и ТСД?
Интеграция с оборудованием (ТДС, Принтеры этикеток, Сканеры) — самая хрупкая часть 1С. Эксперты ITSTM проведут рефакторинг старого кода генерации штрихкодов, переведут вашу систему на технологию NativeAPI (или БПО) и обеспечат бесперебойную работу складов на любой ОС.
💡 Практика специалистов: Практика ITSTM: При генерации тысяч этикеток в фоновом задании на сервере (например, при поступлении товара) использование COM-компоненты вызывает зависание процесса (Deadlock), так как COM-модель (STA) исторически однопоточна и требует оконного интерфейса. Native-компонента (AddIn.Barcode2D) является потокобезопасной (Thread-safe) и идеальна для высоконагруженных серверных расчетов.

Частые вопросы (FAQ)

Почему штрихкод печатается в виде цифр без полосок?

В старом механизме ActiveX компонента зависела от наличия специальных шрифтов (например, EAN-13.ttf), установленных в системе. Если шрифта нет, выводятся только символы. NativeAPI компонента лишена этого недостатка — она генерирует картинку на лету, без использования системных шрифтов.

Где скачать NativeAPI компоненту?

Она распространяется в составе 'Библиотеки подключаемого оборудования' (БПО) от 1С или в составе типовых конфигураций. Если у вас самописка, вы можете выгрузить ОбщийМакет с компонентой из любой демо-базы УТ 11 и загрузить в свою конфигурацию.

Можно ли заставить 64-битный rphost работать с 32-битной COM-DLL?

Напрямую — нет. Существуют 'костыли' через COM-Surrogate (dllhost.exe), настраиваемые через Component Services (DCOMCNFG), но для 1С это решение крайне нестабильно и вызывает утечки памяти. Однозначно переходите на Native.

Поддерживает ли компонента 1С печать DataMatrix (Честный Знак)?

Да, актуальные версии компоненты NativeAPI (начиная с 9.x) полностью поддерживают формат GS1 DataMatrix, включая спецсимволы FNC1, необходимые для валидной маркировки ЦРПТ.

Полезные материалы
Рекомендуем