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

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

Как вывести штрихкод на печать в 1С

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

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

Ключевой момент: 1С не рисует штрихкод сама, а использует внешнюю компоненту (обычно «1С:Библиотека штрихкодов» / Barcode.dll), которая преобразует строку цифр в графическое изображение. Если компонента не установлена на том компьютере, где выполняется печать, вместо штрихкода вы увидите пустое место или сообщение об ошибке. Это самая частая причина проблем.

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

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

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

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

Третье условие — определитесь с типом штрихкода. Для розничных товаров стандартно используется EAN-13, для внутреннего учёта и перемаркировки часто применяют Code128, потому что он допускает буквы и переменную длину. Для табачной и обувной продукции по «Честному знаку» нужен DataMatrix — это отдельный механизм, обычная печать этикеток его не заменяет.

Печать этикеток и ценников в типовой конфигурации

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

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

Если шаблона под ваш размер этикетки нет, его создают или редактируют прямо в обработке: откройте список шаблонов, скопируйте ближайший по размеру и откорректируйте. В редакторе шаблона штрихкод — это отдельное поле, которое можно растянуть, переместить и настроить (тип кода, отображение цифр под полосками, поворот на 90 градусов для узких этикеток).

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

Как добавить штрихкод в макет документа через конфигуратор

Когда штрихкод нужен на нестандартной печатной форме — например, на заказе, накладной или карточке склада — его добавляют в табличный макет. Откройте конфигуратор, найдите нужный макет (Общие → Макеты или макет конкретного документа), выделите область, где должен быть штрихкод, и через меню «Таблица» → «Рисунки» добавьте элемент типа «Штрихкод» (в новых версиях платформы — объект «Элемент управления: штрихкод»).

Дальше в модуле менеджера печати или формы документа при выводе области заполняют свойства рисунка: присваивают значение штрихкода (строку из регистра «Штрихкоды номенклатуры»), тип кода (EAN13, Code128 и т.д.), ширину и высоту. Типичный фрагмент кода выглядит так: получить рисунок по имени из области, установить Рисунок.Значение = ШтрихКод; и Рисунок.ТипКода = 1; (для EAN-13), затем вывести область в табличный документ.

Важный нюанс: если код выводится в тонком или веб-клиенте, формирование картинки происходит на сервере — значит, компонента должна быть установлена на сервере 1С, а не на компьютере пользователя. В файловой базе и толстом клиенте достаточно компоненты на рабочем месте. Это частая причина ситуации «у бухгалтера печатает, у менеджера — нет».

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

Термопринтеры этикеток (Zebra, TSC, АТОЛ и аналоги) работают с 1С как обычные принтеры Windows: этикетка уходит на печать как картинка. Чтобы результат был чётким, в свойствах принтера задайте реальный размер этикетки (например, 58×40 мм) и отключите масштабирование «под размер страницы» — иначе штрихкод растянется и перестанет читаться.

В шаблоне этикетки следите за шириной штрихкода. Для EAN-13 не делайте поле уже 25–30 мм: при слишком плотной печати полоски сливаются, и сканер не считывает код. Также оставляйте свободные поля (тихие зоны) слева и справа от штрихкода — это требование стандарта, а не оформительская деталь.

Если принтер печатает бледно, увеличьте температуру печати (darkness) в настройках драйвера и проверьте, что установлена термолента правильного типа: для термотрансферной печати нужна красящая лента, для прямой термопечати — нет. Бледный штрихкод сканер читает нестабильно, особенно под углом.

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

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

Чтение сканером
Норма

Сканер считывает код с первого раза под разными углами

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

Код читается через раз или не читается вовсе

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

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

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

Полоски размыты, сливаются, штрихкод упирается в край этикетки

Соответствие данных
Норма

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

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

Сканер показывает другие цифры или лишние символы

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

Самая распространённая проблема — пустое место вместо штрихкода или сообщение «Компонента печати штрихкода не установлена». Лечится установкой компоненты на нужный компьютер (или сервер) с совпадающей разрядностью. В тонком клиенте иногда помогает переустановка через настройку «Администрирование» → «Печать этикеток и ценников», где конфигурация сама предлагает установить компоненту.

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

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

Типичные ошибки
01
Печать без установленной компоненты — вместо штрихкода пустая рамка или ошибка
02
Использование EAN-13 для кода с буквами — ошибка формата, нужно переключить тип на Code128
03
Масштабирование «по размеру страницы» в драйвере — штрихкод растягивается и не читается сканером
04
Слишком узкое поле штрихкода в шаблоне — полоски сливаются при печати
05
Установка компоненты только на клиент при серверной печати — у части пользователей штрихкод не выводится

Когда нужен программист, а когда хватит настройки

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

Помощь разработчика потребуется, когда штрихкод нужно вывести на нестандартную форму (например, на маршрутный лист производства), сформировать код автоматически по правилу (префикс + артикул + контрольная цифра) или интегрировать печать с оборудованием через драйвер, а не через Windows-печать. Также программная доработка нужна для массовой генерации штрихкодов по диапазону.

Маршрут решения

Как выбрать действие

Нужно печатать этикетки на товары в типовой конфигурацииИспользуйте обработку «Печать этикеток и ценников» и настройте шаблон
Штрихкод должен быть на самодельной печатной форме документаДобавьте объект штрихкода в макет через конфигуратор и заполните его в коде
Штрихкод не печатается ни на одной формеПроверьте установку и разрядность компоненты печати на клиенте и сервере
Нужны коды DataMatrix для маркировкиИспользуйте механизмы обмена с «Честным знаком», а не обычную печать этикеток
Итог

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

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

Частые вопросы о печати штрихкодов в 1С

Можно ли печатать штрихкоды без принтера этикеток?

Да, этикетки можно вывести на обычный лазерный или струйный принтер на листы самоклеящейся бумаги с разметкой. В шаблоне задаётся размер одной этикетки и их количество на листе. Качество печати обычно достаточно для сканера, но расходники обходятся дороже, а скорость ниже, чем у термопринтера.

Как сгенерировать штрихкод для товара, у которого его нет?

В карточке номенклатуры по ссылке «Штрихкоды» создайте новую запись: код можно ввести вручную или сгенерировать автоматически кнопкой создания. Для внутреннего учёта обычно используют диапазон кодов, начинающийся с цифр 200–299 (по соглашению EAN это зона внутреннего применения магазина), чтобы не конфликтовать с заводскими штрихкодами производителей.

Почему сканер читает штрихкод, но 1С не находит товар?

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

Какой тип штрихкода выбрать для внутреннего складского учёта?

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

Штрихкод печатается у одного пользователя и не печатается у другого — в чём причина?

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

Можно ли вывести на этикетку два штрихкода — товара и упаковки?

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