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

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

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

Как вывести штрихкод в 1С: установка компоненты, вставка в макет, печать этикеток в УТ, ERP и Бухгалтерии. Пошаговая инструкция и разбор ошибок.

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

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

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

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

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

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

Штатная печать этикеток в УТ 11, ERP и Рознице

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

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

Печать этикетки со штрихкодом в УТ 11
  1. 1
    Откройте «Закупки» → «Сервис» → «Печать этикеток и ценников»
  2. 2
    Добавьте товары кнопкой «Подобрать» или заполните по документу поступления
  3. 3
    Установите режим «Печать этикеток» и выберите шаблон со штрихкодом
  4. 4
    Укажите количество копий для каждой позиции
  5. 5
    Нажмите «Печать» и проверьте предварительный просмотр
  6. 6
    Просканируйте напечатанный код сканером — он должен считаться с первого раза

Для печати этикеток обычно используют принтер этикеток (например, термопринтеры Zebra, TSC, АТОЛ). Убедитесь, что в шаблоне задан правильный размер этикетки в миллиметрах и что в настройках принтера выбран тот же размер носителя — иначе этикетка «уедет» или обрежется.

Установка компоненты «1С:Печать штрихкодов»

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

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

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

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

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

СтруктураКартинки = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);

// ПараметрыШтрихкода: Штрихкод (строка), ТипКода (число), Ширина, Высота

ОбластьМакета.Рисунки.Штрихкод.Картинка = СтруктураКартинки.Картинка;

bsl
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Штрихкод", "4601234567893");
ПараметрыШтрихкода.Вставить("ТипКода", 0); // 0 - EAN-13, 1 - Code128
ПараметрыШтрихкода.Вставить("Ширина", 200);
ПараметрыШтрихкода.Вставить("Высота", 100);
Результат = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
Если Результат.Результат Тогда
    Область.Рисунки.Штрихкод.Картинка = Результат.Картинка;
КонецЕсли;

Обратите внимание на пропорции: штрихкод должен занимать достаточную площадь, иначе линии сольются при печати. Для EAN-13 минимальная ширина изображения на этикетке — примерно 25–30 мм, высота — от 10 мм. Слишком мелкий код сканер не прочитает, особенно на термопринтере с низким разрешением.

Вывод штрихкода в Бухгалтерии 3.0 и на обычных формах

В Бухгалтерии предприятия 3.0 штатной печати этикеток нет, но штрихкод можно вывести на печатные формы документов — например, в счёт на оплату для оплаты по QR-коду или в накладную. Проще всего это сделать через механизм внешних печатных форм: подключите обработку в «Администрирование» → «Печатные формы, отчеты и обработки», предварительно включив использование дополнительных отчетов и обработок.

В конфигурациях на обычных формах (УТ 10.3, УПП 1.3) компонента подключается напрямую в модуле: создаётся объект «Barcode» и вызывается метод формирования изображения. Там же проще контролировать вывод — картинка вставляется в табличный документ стандартным способом через рисунок области.

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

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

Типичные ошибки
01
Неверная контрольная цифра EAN-13 — код печатается, но сканер его отклоняет; пересчитайте цифру или используйте код целиком из базы поставщика
02
Слишком мелкий масштаб картинки в макете — линии сливаются при печати на термопринтере; увеличьте размер рисунка
03
32-битная компонента на 64-битном сервере — ошибка «Компонента не обнаружена»; установите версию нужной разрядности
04
Штрихкод не заполнен в регистре — на этикетке пустое место; проверьте карточку номенклатуры перед печатью
05
Вплотную к краю этикетки — сканеру нужна свободная зона (тихая зона) вокруг кода; оставьте поля минимум 3–5 мм
Контрольные точки

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

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

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

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

Сканер молчит или пищит ошибку

Данные после сканирования
Норма

В 1С подставляется именно тот товар, что на этикетке

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

Находится другой товар или «штрихкод не найден»

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

Линии чёткие, вокруг кода есть светлое поле

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

Линии размыты, код упирается в край

Часто задаваемые вопросы

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

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

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

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

Как вывести QR-код в счёте на оплату?

Используйте типовую подсистему формирования платёжного QR-кода: строка формируется по банковскому стандарту из реквизитов счёта, затем передаётся в ту же функцию генерации изображения с типом кода QR. В Бухгалтерии 3.0 такая возможность встроена в печатную форму счёта — достаточно включить вывод QR-кода в настройках печати.

Можно ли сгенерировать штрихкод для товара без кода производителя?

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

Компонента не устанавливается в веб-клиенте. Что делать?

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

Итог

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

В типовых конфигурациях штрихкод выводится через «Печать этикеток и ценников» без доработок. Для собственных макетов используйте компоненту «1С:Печать штрихкодов»: картинка формируется кодом и вставляется в область макета. Всегда проверяйте напечатанный код сканером и следите за размером изображения и контрольной цифрой EAN-13.