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

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

Как вывести штрихкод в 1С: пошаговая инструкция

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

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

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

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

Проверка и установка компоненты печати штрихкодов

Компонента «1С:Печать штрихкодов» (Barcode.ocx) поставляется на диске ИТС и с дистрибутивами большинства конфигураций. В современных конфигурациях на БСП (библиотека стандартных подсистем) компонента хранится в макете конфигурации и устанавливается автоматически при первой попытке печати — платформа предложит «Установить внешнюю компоненту», нужно подтвердить действие.

Если автоматическая установка не сработала, компоненту регистрируют вручную: файл Barcode.ocx копируют в каталог bin платформы 1С или в профиль пользователя, затем выполняют регистрацию командой regsvr32 от имени администратора. После этого 1С перезапускают и проверяют печать тестовой этикетки.

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

Типовая печать этикеток и ценников без программирования

В конфигурациях «Управление торговлей 11», «Розница», «ERP», «Комплексная автоматизация» есть встроенная обработка «Печать этикеток и ценников». Обычно она находится в разделе «Закупки» или «Склад», а также вызывается из документов поступления, установки цен и оприходования по кнопке печати.

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

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

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

Настройка шаблона этикетки

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

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

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

Вывод штрихкода в произвольную печатную форму

Когда штрихкод нужен в документе, где типового механизма нет (например, в заказе покупателя, инвентаризационной описи или собственном отчёте), его выводят программно. В конфигурациях на БСП есть готовый программный интерфейс: функция модуля менеджера оборудования формирует картинку штрихкода и помещает её в область макета.

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

ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();

ПараметрыШтрихкода.Ширина = 50;

ПараметрыШтрихкода.Высота = 20;

ПараметрыШтрихкода.ТипКода = 1; // Code128

ПараметрыШтрихкода.Штрихкод = "4601234567890";

Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода);

Если Результат.Результат Тогда

Рисунок.Картинка = Результат.Картинка;

КонецЕсли;

Точные имена модулей зависят от конфигурации и версии БСП: в одних это «ГенерацияШтрихкода», в других — «МенеджерОборудованияВызовСервера». Перед доработкой найдите в конфигураторе, как штрихкод формируется в типовой печати этикеток, и повторите тот же вызов.

bsl
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();
ПараметрыШтрихкода.ТипКода = 1;
ПараметрыШтрихкода.Штрихкод = "4601234567890";
Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода);

Выбор формата штрихкода

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

ФорматДопустимые данныеГде применяется
EAN-1313 цифрРозничная торговля, товары с зарегистрированным кодом
EAN-88 цифрМалогабаритные товары, малые этикетки
Code128Латиница, цифры, спецсимволыВнутренние коды, складские и транспортные этикетки
Code39Цифры, заглавная латиница, часть символовСтарые системы учёта, совместимость
QR-кодЛюбой текст, включая кириллицуСсылки, маркировка, оплата

Для маркированных товаров («Честный знак») действуют отдельные правила: код маркировки DataMatrix выводится через механизмы обмена с системой маркировки, а не через стандартное поле штрихкода этикетки. Попытка напечатать код маркировки обычным полем EAN-13 не даст рабочего результата.

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

Типовая обработка «Печать этикеток»

Подходит для товаров и ценников, не требует доработок. Ограничение: работает только с номенклатурой и её шаблонами.

Программный вывод в макет

Позволяет вставить штрихкод в любой документ или отчёт. Требует доступа к конфигуратору и аккуратной доработки.

Внешняя печатная форма

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

Проверка результата и типичные ошибки

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

Если сканер не читает этикетку, причины обычно такие: слишком мелкий масштаб печати, низкая плотность печати на термопринтере, обрезанные края штрихкода, несоответствие типа кода данным. Исправляют в указанном порядке: увеличивают поле в шаблоне, повышают темноту печати в драйвере, проверяют тип штрихкода.

Отдельный случай — веб-клиент и тонкий клиент без установленной компоненты. В веб-клиенте компонента устанавливается как расширение браузера, и без него печать штрихкодов невозможна. Если у части пользователей штрихкод печатается, а у части нет, почти всегда дело в локальной установке компоненты на конкретном рабочем месте.

Типичные ошибки
01
Печать этикетки для товара без заполненного штрихкода в карточке — поле выходит пустым
02
Тип EAN-13 для кода с буквами — компонента не строит изображение, штрихкод пропадает
03
Слишком маленькое поле штрихкода в шаблоне — сканер не считывает обрезанный код
04
Отсутствие компоненты на рабочем месте пользователя — у одних печатает, у других нет
05
Проверка только на экране без пробного считывания сканером — ошибка всплывает уже на кассе
Контрольные точки

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

Отображение в предпросмотре
Норма

Штрихкод виден как графическое изображение

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

Пустая рамка или сообщение о компоненте

Считывание сканером
Норма

Код читается с первого прохода и совпадает с карточкой

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

Сканер молчит или выдаёт другой код

Печать на принтере этикеток
Норма

Штрихи чёткие, края не обрезаны

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

Бледные полосы, размытие, обрезка по краям

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

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

Чаще всего не установлена или не загрузилась компонента печати штрихкодов на конкретном рабочем месте. Проверьте, появляется ли предложение установить компоненту при печати. Вторая причина — несоответствие типа штрихкода данным: например, тип EAN-13 при коде с буквами или неверной длиной.

Можно ли вывести штрихкод в 1С без диска ИТС?

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

Как напечатать штрихкод из документа, где нет кнопки «Этикетки»?

Откройте обработку «Печать этикеток и ценников» напрямую из раздела «Склад» или «Закупки» и добавьте товары вручную или подбором. Если нужен штрихкод в самой печатной форме документа, потребуется доработка макета с программным выводом картинки штрихкода.

Сканер не читает напечатанную этикетку. Что проверить в первую очередь?

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

Работает ли печать штрихкодов в веб-клиенте 1С?

Работает, но компонента должна быть установлена в браузере как расширение для каждого пользователя. При первой печати платформа предложит установку. Если пользователь отказался от установки, штрихкоды у него печататься не будут, пока компоненту не установят.

Как вывести код маркировки «Честный знак» на этикетку?

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

Итог

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

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