К статье
Практический материал

Документы и Печать · 12 мин

Как подключить компоненту 1С для печати штрихкодов

Пошаговая инструкция по подключению компоненты 1С:Печать штрихкодов: установка, регистрация, настройка макетов этикеток и решение типовых ошибок.

Компонента «1С:Печать штрихкодов» — это внешняя библиотека, которая формирует изображения штрихкодов (EAN-13, EAN-8, Code 39, DataMatrix и другие) при печати этикеток и ценников из типовых конфигураций. Без неё при попытке распечатать этикетку программа выдаёт сообщение «Компонента печати штрихкодов не установлена на данном компьютере» или печатает макет без кода.

В типовых решениях (Управление торговлей, Розница, Комплексная автоматизация, ERP) компонента обычно поставляется в составе конфигурации и устанавливается автоматически при первом обращении. Однако на практике автоматическая установка часто не срабатывает: мешают права пользователя, антивирус, разрядность платформы или терминальный режим работы. Тогда компоненту нужно подключить вручную.

Ниже разобраны оба сценария — автоматический и ручной, а также настройка печати этикеток, проверка результата и типовые ошибки. Материал ориентирован на типовые конфигурации на управляемых формах, но принцип тот же и для обычных форм.

Что такое компонента печати штрихкодов и когда она нужна

Компонента представляет собой внешнюю DLL-библиотеку (обычно файл Barcode.dll), которая по технологии Native API или COM подключается к платформе 1С и генерирует картинку штрихкода по переданной строке. Встроенными средствами языка 1С сформировать графический штрихкод нельзя, поэтому без компоненты печать этикеток невозможна.

Компонента требуется в типовых сценариях: печать этикеток и ценников в «Рознице» и «Управлении торговлей», печать штрихкодов номенклатуры на складских документах, маркировка товаров кодами DataMatrix. Если вы используете только стандартные печатные формы документов без штрихкодов — компонента не нужна.

Важно понимать различие: компонента печати штрихкодов работает на том компьютере, где выполняется клиент 1С. Если база опубликована на сервере и печать идёт из тонкого клиента, компонента должна быть установлена на стороне клиента или сервера — в зависимости от того, где выполняется код формирования макета.

Проверка: установлена ли компонента

Прежде чем что-то устанавливать, убедитесь, что проблема действительно в отсутствии компоненты. Откройте обработку печати этикеток и ценников (в «Рознице» — раздел «Закупки» или «Номенклатура», команда «Печать этикеток и ценников»), добавьте товар и нажмите «Печать». Если компоненты нет, появится характерное сообщение об ошибке подключения или установки компоненты.

Дополнительный признак — этикетка печатается, но вместо штрихкода виден пустой прямоугольник или текстовая строка с цифрами кода. Это значит, что макет сформирован, но картинка не сгенерирована: компонента либо отсутствует, либо подключилась с ошибкой.

Также проверьте разрядность клиента 1С. Компонента поставляется в версиях для 32- и 64-разрядной платформы; если установлена не та версия, подключение завершится ошибкой. Разрядность видна в заголовке окна «О программе» или в диспетчере задач по имени процесса.

Ошибка «Компонента не установлена»Компоненты нет на компьютере

Установить компоненту вручную или дождаться автоустановки

Пустое место вместо штрихкодаКомпонента есть, но не сработала

Проверить разрядность платформы и версию компоненты

Ошибка только у одного пользователяПроблема локальная, на его ПК

Проверить права, антивирус, профиль пользователя

Ошибка в терминале у всехКомпонента не установлена на сервере

Установить компоненту на терминальный сервер

Автоматическая установка из конфигурации

В типовых конфигурациях компонента хранится внутри информационной базы в виде макета. При первом обращении к печати штрихкодов программа предлагает установить её: появляется диалог «Установка внешней компоненты» с вопросом о подтверждении. Нужно нажать «Установить» и дождаться завершения.

Для успешной автоматической установки пользователю операционной системы нужны права на запись в каталог установки компонент (обычно это профиль пользователя) и на регистрацию библиотеки. Если 1С запущена из-под ограниченной учётной записи, установка может завершиться ошибкой — в этом случае запустите клиент один раз от имени администратора.

После установки обязательно закройте и заново откройте сеанс 1С: компонента подключается при старте или при первом обращении, и в уже открытом сеансе изменения могут не подхватиться. Затем повторите печать тестовой этикетки.

Порядок автоматической установки
  1. 1
    Откройте обработку «Печать этикеток и ценников» и добавьте любой товар
  2. 2
    Нажмите «Печать» — появится предложение установить компоненту
  3. 3
    Подтвердите установку и дождитесь сообщения об успехе
  4. 4
    Полностью закройте клиент 1С и запустите его снова
  5. 5
    Повторите печать и убедитесь, что штрихкод отображается

Ручная установка и регистрация компоненты

Если автоматическая установка не срабатывает, компоненту подключают вручную. Файл Barcode.dll можно извлечь из макета конфигурации (в конфигураторе: общие макеты, макет с компонентой печати штрихкодов) или взять из комплекта поставки конфигурации. Сохраните DLL в доступный каталог, например в папку профиля пользователя или в Program Files.

Далее компоненту регистрируют в операционной системе. Для COM-варианта используется команда regsvr32, запущенная от имени администратора. Для компонент по технологии Native API регистрация в системе не требуется — достаточно, чтобы конфигурация могла загрузить файл из макета или с диска.

После регистрации перезапустите 1С и проверьте печать. Если конфигурация использует подключение по имени из макета, ручная регистрация может вообще не понадобиться — достаточно положить DLL туда, откуда код её загружает, и разблокировать файл в свойствах (Windows помечает файлы, полученные извне, как заблокированные).

cmd
regsvr32 "C:\Components\Barcode.dll"

Установка в терминальном режиме и на сервере

Если пользователи работают через удалённый рабочий стол (RDP), компонента должна быть установлена на терминальном сервере, а не на локальных компьютерах — код клиента выполняется именно там. Установку выполняет администратор сервера, при этом важно учитывать, что регистрация COM-компоненты может потребоваться для каждого пользовательского профиля или для всей системы.

При файловом режиме с веб-сервером или при работе через веб-клиент действуют ограничения: в браузере внешние компоненты подключаются через специальное расширение для браузера, и не все функции доступны. Если печать этикеток критична, надёжнее использовать тонкий или толстый клиент.

В клиент-серверном варианте уточните, где выполняется код формирования этикетки. Если макет формируется в серверной процедуре, компонента должна быть установлена на сервере 1С под учётной записью агента сервера — у этой учётной записи должны быть права на каталог с DLL.

Настройка печати этикеток после подключения

После успешного подключения компоненты настройте шаблон этикетки. В обработке печати этикеток и ценников откройте «Редактировать шаблон этикетки (ценника)»: в редакторе доступны поля штрихкода, наименования, цены, артикула. Штрихкод добавляется специальным элементом, у которого задаётся тип кода — EAN-13 для розничных товаров, Code 128 для внутренних кодов, DataMatrix для маркировки.

Проверьте, что у номенклатуры заполнены штрихкоды в карточке товара: если штрихкода нет, на этикетке будет пустое поле либо программа сгенерирует внутренний код — в зависимости от настроек. Для весового и штучного товара без заводского кода в типовых конфигурациях предусмотрена автоматическая генерация штрихкодов по заданному префиксу.

Перед массовой печатью распечатайте одну пробную этикетку и отсканируйте её рабочим сканером. Совпадение считанного кода с кодом в карточке товара — главный признак того, что вся цепочка (компонента, шаблон, принтер) работает правильно.

Контрольные точки

Как проверить результат

Внешний вид этикетки
Норма

Штрихкод чёткий, без смазывания и обрезки

Тревожный признак

Пустое поле, искажённые полосы, обрезанный код

Сканирование
Норма

Сканер считывает код, совпадающий с карточкой товара

Тревожный признак

Код не читается или считывается другой номер

Повторная печать
Норма

Печать работает у всех пользователей после перезапуска

Тревожный признак

Ошибка возвращается у части пользователей

Типовые ошибки и их устранение

Ошибка «Не удалось подключить внешнюю компоненту» почти всегда означает одно из трёх: несовпадение разрядности, отсутствие прав на каталог с DLL или блокировку файла антивирусом. Проверяйте в этом порядке — так быстрее локализовать причину.

Если компонента установилась, но штрихкод не печатается только в конкретном шаблоне, проблема в самом шаблоне: элемент штрихкода мог быть удалён или у него сбито свойство «Тип кода». Откройте редактор шаблона и убедитесь, что элемент присутствует и связан с полем штрихкода.

Отдельный случай — обновление конфигурации, после которого печать перестала работать. В новом релизе может поставляться обновлённая версия компоненты, а на компьютере осталась старая. Удалите ранее установленную версию и дайте программе установить компоненту заново при следующей печати.

Типичные ошибки
01
Установка 32-разрядной компоненты на 64-разрядный клиент — ошибка подключения сохраняется
02
Печать без перезапуска сеанса после установки — компонента не подхватывается
03
Установка только на локальный ПК при работе через RDP — на терминальном сервере компоненты нет
04
Скачивание DLL из интернета — риск заражения и несовместимость версии
05
Печать без тестового сканирования — нечитаемые этикетки обнаруживаются уже на кассе

Альтернативы штатной компоненте

Если штатная компонента по каким-то причинам не подходит, существуют обходные пути. Часть конфигураций поддерживает печать штрихкодов шрифтами: в макет подставляется специальный шрифт (например, для EAN-13), и строка цифр отображается как штрихкод. Способ не требует установки компоненты, но поддерживает ограниченный набор типов кодов и капризен к настройкам принтера.

Другой вариант — формирование этикеток во внешних программах (редакторы этикеток производителей принтеров) с выгрузкой данных из 1С. Это оправдано при сложном дизайне этикеток, но добавляет лишний шаг в процесс. Для типовых задач торговли штатная компонента остаётся самым простым и поддерживаемым решением.

Сравнение вариантов

Штатная компонента 1С

Подходит для типовых конфигураций; требует корректной установки на каждое рабочее место или сервер

Штрихкод-шрифты

Не требуют компоненты, но ограничены по типам кодов и чувствительны к принтеру

Внешний редактор этикеток

Гибкий дизайн, но нужен обмен данными и отдельное обучение персонала

Итог

Что важно запомнить

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

Частые вопросы

Где взять файл компоненты, если его нет под рукой?

Файл хранится внутри конфигурации: откройте конфигуратор, найдите в общих макетах макет с компонентой печати штрихкодов и сохраните его содержимое в файл. Также компонента входит в комплект поставки типовой конфигурации. Сторонние источники использовать небезопасно.

Почему компонента устанавливается заново после каждого обновления?

Новый релиз конфигурации может содержать обновлённую версию компоненты, и программа заменяет старую. Это нормальное поведение. Если установка запрашивается при каждом запуске без обновлений — проверьте права пользователя на каталог установки.

Работает ли компонента в веб-клиенте?

В веб-клиенте внешние компоненты подключаются через расширение работы с файлами и внешние компоненты для браузера, и поддержка зависит от браузера. Для стабильной печати этикеток рекомендуется тонкий клиент.

Штрихкод печатается, но сканер его не читает. В чём причина?

Чаще всего виноваты настройки шаблона: слишком мелкий размер кода, отсутствие свободных полей по краям, неверный тип кода. Также проверьте качество печати принтера — выцветшие полосы на термоэтикетке сканер не распознаёт.

Нужно ли устанавливать компоненту каждому пользователю?

Да, если пользователи работают на разных компьютерах — компонента ставится на каждое рабочее место. При работе через терминальный сервер достаточно установки на сервере, но с учётом регистрации для всех профилей.

Можно ли печатать DataMatrix для маркировки этой же компонентой?

Да, компонента поддерживает двумерные коды, включая DataMatrix. Убедитесь, что в шаблоне этикетки для элемента штрихкода выбран соответствующий тип, а версия компоненты актуальна — старые версии могли не поддерживать часть форматов.