Документы и Печать · 11 мин
Как установить компоненту 1С для печати штрихкодов
Пошаговая инструкция по установке компоненты печати штрихкодов в 1С: где взять файл, как подключить в конфигурации, проверить работу и исправить типичные ошибки.
Компонента печати штрихкодов нужна в 1С для вывода линейных и двумерных кодов (EAN-13, Code 128, QR) на этикетки, ценники, накладные и другие печатные формы. Без неё вместо штрихкода на печать выводится пустое место, текстовая строка или сообщение об ошибке «Компонента не установлена». Установка занимает несколько минут, но требует понимания того, какая именно компонента нужна вашей конфигурации и разрядности платформы.
В типовых конфигурациях (Управление торговлей, Розница, ERP, Бухгалтерия) используется внешняя компонента «1С:Библиотека подключаемого оборудования» или аналогичная библиотека Barcode, которая либо уже встроена в конфигурацию, либо подключается из файла. В старых или самописных решениях может применяться компонента Barcode.ocx от сторонних разработчиков. Порядок действий в этих случаях различается, и ниже разобраны оба сценария.
Что такое компонента печати штрихкодов и когда она нужна
Компонента — это внешний программный модуль (файл формата DLL или OCX), который платформа 1С вызывает для формирования графического изображения штрихкода. Сама 1С «из коробки» не рисует штрихкоды: код в макете — это только данные, а преобразованием строки цифр в читаемый сканером рисунок занимается именно компонента.
Компонента требуется в трёх типичных ситуациях: печать ценников и этикеток в торговых конфигурациях, вывод штрихкода на первичных документах для быстрого поиска сканером и формирование QR-кодов (например, для маркировки или платёжных документов). Если ни одна из этих задач у вас не возникает, устанавливать компоненту не обязательно.
Важно различать печать штрихкода и работу со сканером штрихкодов — это разные механизмы. Сканер подключается через драйверы оборудования и работает независимо от компоненты печати. Отсутствие компоненты не мешает сканированию, и наоборот.
Как определить, какая компонента нужна
Первый шаг — выяснить, какую компоненту ожидает ваша конфигурация. В типовых решениях на Библиотеке стандартных подсистем (БСП) используется макет «КомпонентаПечатиШтрихкодов» или аналогичный, хранящийся прямо в конфигурации. Откройте конфигуратор и поищите в общих макетах или макетах обработок двоичные данные с именем, содержащим Barcode, BarcodePrinting или Штрихкод.
Второй критерий — разрядность. Платформа 1С бывает 32-разрядной и 64-разрядной, и компонента должна соответствовать разрядности клиентского приложения, на котором формируется печать. Если печать выполняется на сервере, важна разрядность сервера 1С. Узнать разрядность клиента можно через «Сервис — О программе» или в диспетчере задач по имени процесса.
Третий момент — источник файла. Используйте компоненту из поставки конфигурации, с диска ИТС или от разработчика вашего отраслевого решения. Скачанные с произвольных сайтов DLL-файлы — реальный риск: они могут содержать вредоносный код, который получит те же права, что и процесс 1С.
Установка в типовой конфигурации
В большинстве типовых конфигураций компонента поставляется внутри самой конфигурации и устанавливается автоматически. При первой попытке напечатать этикетку или документ со штрихкодом платформа предложит установить внешнюю компоненту — достаточно подтвердить действие. Установка происходит в каталог пользователя, права администратора обычно не требуются.
Если автоматическая установка не сработала, проверьте настройки безопасности. В файловом режиме у пользователя должны быть права на вывод и на использование внешних компонент. В клиент-серверном варианте компонента может устанавливаться на сервер — тогда установку должен выполнять администратор с доступом к серверу 1С.
После установки перезапустите сеанс 1С и повторите печать. Признак успеха — на предварительном просмотре печатной формы появляется графическое изображение штрихкода вместо пустой области или текста ошибки.
- 1Откройте печатную форму со штрихкодом (ценник, этикетка, документ)
- 2При запросе на установку внешней компоненты нажмите «Установить» или «Да»
- 3Дождитесь завершения установки и перезапустите сеанс 1С
- 4Снова откройте печатную форму и проверьте наличие изображения штрихкода
- 5Отсканируйте напечатанный код сканером для финальной проверки
Ручная установка компоненты из файла
Если конфигурация ожидает внешний файл компоненты (типично для старых и самописных решений), порядок такой. Получите файл компоненты от разработчика решения — обычно это DLL, иногда упакованная в ZIP-архив по правилам Native API или в виде классической COM-компоненты OCX.
Для COM-компоненты (OCX) файл нужно зарегистрировать в операционной системе. Это делает команда regsvr32, запущенная от имени администратора: указывается полный путь к файлу. Учитывайте разрядность: для 32-разрядной компоненты на 64-разрядной Windows используется regsvr32 из каталога SysWOW64. После регистрации 1С сможет создать объект компоненты через подключение внешней компоненты или COM-объект.
Для компонент по технологии Native API регистрация в системе не нужна — файл подключается непосредственно из кода конфигурации через метод подключения внешней компоненты с указанием пути или макета. В этом случае достаточно положить файл в доступный каталог и убедиться, что конфигурация знает, где его искать.
regsvr32 "C:\Components\Barcode.ocx"После ручной установки проверьте журнал регистрации 1С и системный журнал событий: ошибки загрузки компоненты (несовпадение разрядности, отсутствие зависимостей) фиксируются именно там и подсказывают причину сбоя.
Проверка работы компоненты
Надёжный способ проверки — печать тестовой этикетки. В конфигурациях с подсистемой печати этикеток откройте обработку печати этикеток и ценников, добавьте любой товар с заполненным штрихкодом и выведите на предварительный просмотр. Изображение должно быть чётким, без искажений пропорций.
Затем проверьте читаемость сканером. Штрихкод, который выглядит нормально на экране, может не читаться из-за слишком маленького размера, недостаточного качества печати или неверного типа кода. Например, EAN-13 не примет 14 цифр, а Code 128 допускает буквы — несоответствие типа и данных приводит либо к пустому изображению, либо к нечитаемому коду.
Если печать выполняется на сервере, проверяйте компоненту именно в серверном контексте: компонента на клиенте и компонента на сервере — два независимых экземпляра, и установка на одном месте не означает работу на другом.
Как проверить результат
Видно чёткое графическое изображение штрихкода
Пустая область, текст ошибки или строка цифр вместо кода
Сканер уверенно считывает код с распечатки
Сканер не реагирует или считывает неверное значение
Штрихкод выводится стабильно в каждом сеансе
После перезапуска снова появляется запрос на установку
Типичные ошибки и их устранение
Самая частая проблема — сообщение «Не удалось подключить внешнюю компоненту» или «Компонента не обнаружена». Причины: компонента не установлена на том узле, где выполняется код (клиент или сервер), несовпадение разрядности, либо антивирус заблокировал файл при установке. Проверьте разрядность платформы и повторите установку, временно убедившись, что антивирус не удалил файл.
Вторая распространённая ситуация — штрихкод печатается, но не читается. Здесь виновата не компонента, а параметры: слишком мелкий масштаб, низкое разрешение принтера этикеток, неверный тип штрихкода для данных. Увеличьте размер кода в макете и проверьте соответствие типа содержимому.
Третья ошибка — компонента «слётела» после обновления платформы или конфигурации. Обновление может заменить макет компоненты на новую версию, требующую повторной установки, или изменить место выполнения кода. После любых обновлений, затрагивающих печатные формы, выполняйте контрольную печать этикетки.
Ограничения и альтернативы
У внешних компонент есть ограничения. В веб-клиенте классические COM-компоненты не работают — там применяется расширение для браузера или компоненты по Native API с поддержкой веб-клиента, если она предусмотрена разработчиком. На Linux-сервере Windows-компонента (OCX) не запустится: нужен вариант библиотеки под соответствующую ОС.
Альтернатива компоненте — штрихкодовые шрифты. Шрифт преобразует строку в начертание штрихкода без внешних модулей и работает везде, где работает печать. Минусы: нужен контроль контрольных цифр и служебных символов (для Code 128 — стартовые и стоповые знаки), а качество чтения зависит от принтера. Для простых задач с EAN-13 шрифт — рабочий вариант, для сложных сценариев надёжнее компонента.
Ещё один вариант — формирование изображения штрихкода внешним сервисом или отдельной программой и вставка картинки в макет. Это оправдано при массовой печати из веб-приложений, но добавляет зависимость от внешнего сервиса.
Сравнение вариантов
Штатный способ для типовых решений; ограничение — нужна совместимость с разрядностью и ОС
Работает без установки модулей, в том числе в веб-клиенте; ограничение — вручную контролировать служебные символы и контрольные цифры
Подходит для самописных конфигураций под Windows; ограничение — не работает в веб-клиенте и на Linux
Перед обновлением конфигурации или платформы сделайте тестовую этикетку и сохраните её как образец. После обновления сразу напечатайте ту же этикетку и сравните — так сбой компоненты обнаруживается за минуту, а не в момент срочной печати ценников.
Частые вопросы
Где взять компоненту печати штрихкодов?
Для типовых конфигураций компонента входит в поставку и хранится в макетах самой конфигурации — отдельно искать её не нужно. Для отраслевых решений файл предоставляет разработчик. Также официальные компоненты доступны подписчикам на портале 1С в составе библиотек подключаемого оборудования.
Почему 1С пишет «Ошибка подключения внешней компоненты»?
Чаще всего причины три: компонента не установлена на том узле, где выполняется код (клиент или сервер), разрядность компоненты не совпадает с разрядностью платформы, либо файл заблокирован антивирусом. Проверяйте в этом порядке, начиная с разрядности.
Нужны ли права администратора для установки?
Для компоненты из типовой конфигурации обычно нет — она устанавливается в профиль пользователя. Для регистрации COM-компоненты через regsvr32 права администратора обязательны, равно как и для установки на сервер 1С.
Штрихкод печатается, но сканер его не читает. В чём дело?
Компонента здесь исправна — проблема в параметрах печати или данных. Проверьте размер штрихкода в макете (слишком мелкий код не читается), качество печати принтера и соответствие типа кода данным: например, EAN-13 требует ровно 13 цифр.
Работает ли компонента в веб-клиенте?
Классические COM-компоненты — нет. В веб-клиенте работают только компоненты, специально собранные с поддержкой браузеров, либо альтернативные способы — штрихкодовые шрифты и формирование изображения на сервере с вставкой картинки в печатную форму.
Компонента пропала после обновления конфигурации. Что делать?
Обновление могло заменить макет компоненты новой версией, и платформа требует повторной установки. Откройте печатную форму со штрихкодом и подтвердите установку при запросе. Если запроса нет, а ошибка есть — проверьте, не изменилось ли место выполнения кода (клиент/сервер).
Что важно запомнить
В типовых конфигурациях компонента устанавливается автоматически при первой печати — задача сводится к подтверждению установки и проверке. Для ручной установки критичны разрядность платформы, источник файла и место выполнения кода. Финальная проверка — печать этикетки и чтение её сканером.