Документы и Печать · 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Откройте обработку «Печать этикеток и ценников» и добавьте любой товар
- 2Нажмите «Печать» — появится предложение установить компоненту
- 3Подтвердите установку и дождитесь сообщения об успехе
- 4Полностью закройте клиент 1С и запустите его снова
- 5Повторите печать и убедитесь, что штрихкод отображается
Ручная установка и регистрация компоненты
Если автоматическая установка не срабатывает, компоненту подключают вручную. Файл Barcode.dll можно извлечь из макета конфигурации (в конфигураторе: общие макеты, макет с компонентой печати штрихкодов) или взять из комплекта поставки конфигурации. Сохраните DLL в доступный каталог, например в папку профиля пользователя или в Program Files.
Далее компоненту регистрируют в операционной системе. Для COM-варианта используется команда regsvr32, запущенная от имени администратора. Для компонент по технологии Native API регистрация в системе не требуется — достаточно, чтобы конфигурация могла загрузить файл из макета или с диска.
После регистрации перезапустите 1С и проверьте печать. Если конфигурация использует подключение по имени из макета, ручная регистрация может вообще не понадобиться — достаточно положить DLL туда, откуда код её загружает, и разблокировать файл в свойствах (Windows помечает файлы, полученные извне, как заблокированные).
regsvr32 "C:\Components\Barcode.dll"Установка в терминальном режиме и на сервере
Если пользователи работают через удалённый рабочий стол (RDP), компонента должна быть установлена на терминальном сервере, а не на локальных компьютерах — код клиента выполняется именно там. Установку выполняет администратор сервера, при этом важно учитывать, что регистрация COM-компоненты может потребоваться для каждого пользовательского профиля или для всей системы.
При файловом режиме с веб-сервером или при работе через веб-клиент действуют ограничения: в браузере внешние компоненты подключаются через специальное расширение для браузера, и не все функции доступны. Если печать этикеток критична, надёжнее использовать тонкий или толстый клиент.
В клиент-серверном варианте уточните, где выполняется код формирования этикетки. Если макет формируется в серверной процедуре, компонента должна быть установлена на сервере 1С под учётной записью агента сервера — у этой учётной записи должны быть права на каталог с DLL.
Настройка печати этикеток после подключения
После успешного подключения компоненты настройте шаблон этикетки. В обработке печати этикеток и ценников откройте «Редактировать шаблон этикетки (ценника)»: в редакторе доступны поля штрихкода, наименования, цены, артикула. Штрихкод добавляется специальным элементом, у которого задаётся тип кода — EAN-13 для розничных товаров, Code 128 для внутренних кодов, DataMatrix для маркировки.
Проверьте, что у номенклатуры заполнены штрихкоды в карточке товара: если штрихкода нет, на этикетке будет пустое поле либо программа сгенерирует внутренний код — в зависимости от настроек. Для весового и штучного товара без заводского кода в типовых конфигурациях предусмотрена автоматическая генерация штрихкодов по заданному префиксу.
Перед массовой печатью распечатайте одну пробную этикетку и отсканируйте её рабочим сканером. Совпадение считанного кода с кодом в карточке товара — главный признак того, что вся цепочка (компонента, шаблон, принтер) работает правильно.
Как проверить результат
Штрихкод чёткий, без смазывания и обрезки
Пустое поле, искажённые полосы, обрезанный код
Сканер считывает код, совпадающий с карточкой товара
Код не читается или считывается другой номер
Печать работает у всех пользователей после перезапуска
Ошибка возвращается у части пользователей
Типовые ошибки и их устранение
Ошибка «Не удалось подключить внешнюю компоненту» почти всегда означает одно из трёх: несовпадение разрядности, отсутствие прав на каталог с DLL или блокировку файла антивирусом. Проверяйте в этом порядке — так быстрее локализовать причину.
Если компонента установилась, но штрихкод не печатается только в конкретном шаблоне, проблема в самом шаблоне: элемент штрихкода мог быть удалён или у него сбито свойство «Тип кода». Откройте редактор шаблона и убедитесь, что элемент присутствует и связан с полем штрихкода.
Отдельный случай — обновление конфигурации, после которого печать перестала работать. В новом релизе может поставляться обновлённая версия компоненты, а на компьютере осталась старая. Удалите ранее установленную версию и дайте программе установить компоненту заново при следующей печати.
Альтернативы штатной компоненте
Если штатная компонента по каким-то причинам не подходит, существуют обходные пути. Часть конфигураций поддерживает печать штрихкодов шрифтами: в макет подставляется специальный шрифт (например, для EAN-13), и строка цифр отображается как штрихкод. Способ не требует установки компоненты, но поддерживает ограниченный набор типов кодов и капризен к настройкам принтера.
Другой вариант — формирование этикеток во внешних программах (редакторы этикеток производителей принтеров) с выгрузкой данных из 1С. Это оправдано при сложном дизайне этикеток, но добавляет лишний шаг в процесс. Для типовых задач торговли штатная компонента остаётся самым простым и поддерживаемым решением.
Сравнение вариантов
Подходит для типовых конфигураций; требует корректной установки на каждое рабочее место или сервер
Не требуют компоненты, но ограничены по типам кодов и чувствительны к принтеру
Гибкий дизайн, но нужен обмен данными и отдельное обучение персонала
Что важно запомнить
Компонента печати штрихкодов подключается автоматически при первой печати этикетки либо вручную через регистрацию Barcode.dll из макета конфигурации. Ключевые условия успеха: совпадение разрядности компоненты и платформы, права на установку, перезапуск сеанса и проверка результата сканером. При работе через RDP компонента ставится на терминальный сервер.
Частые вопросы
Где взять файл компоненты, если его нет под рукой?
Файл хранится внутри конфигурации: откройте конфигуратор, найдите в общих макетах макет с компонентой печати штрихкодов и сохраните его содержимое в файл. Также компонента входит в комплект поставки типовой конфигурации. Сторонние источники использовать небезопасно.
Почему компонента устанавливается заново после каждого обновления?
Новый релиз конфигурации может содержать обновлённую версию компоненты, и программа заменяет старую. Это нормальное поведение. Если установка запрашивается при каждом запуске без обновлений — проверьте права пользователя на каталог установки.
Работает ли компонента в веб-клиенте?
В веб-клиенте внешние компоненты подключаются через расширение работы с файлами и внешние компоненты для браузера, и поддержка зависит от браузера. Для стабильной печати этикеток рекомендуется тонкий клиент.
Штрихкод печатается, но сканер его не читает. В чём причина?
Чаще всего виноваты настройки шаблона: слишком мелкий размер кода, отсутствие свободных полей по краям, неверный тип кода. Также проверьте качество печати принтера — выцветшие полосы на термоэтикетке сканер не распознаёт.
Нужно ли устанавливать компоненту каждому пользователю?
Да, если пользователи работают на разных компьютерах — компонента ставится на каждое рабочее место. При работе через терминальный сервер достаточно установки на сервере, но с учётом регистрации для всех профилей.
Можно ли печатать DataMatrix для маркировки этой же компонентой?
Да, компонента поддерживает двумерные коды, включая DataMatrix. Убедитесь, что в шаблоне этикетки для элемента штрихкода выбран соответствующий тип, а версия компоненты актуальна — старые версии могли не поддерживать часть форматов.