Документы и Печать · 10 мин
Как вывести штрихкод в 1С: пошаговая инструкция
Как вывести штрихкод в 1С: установка компоненты, вставка в макет, печать этикеток в УТ, ERP и Бухгалтерии. Пошаговая инструкция и разбор ошибок.
Штрихкоды в 1С используются повсеместно: на ценниках и этикетках товаров, в накладных, на упаковочных листах и в складских документах. Чтобы вывести штрихкод на печатную форму, недостаточно просто вставить картинку — нужна компонента, которая преобразует строку цифр в графическое изображение кода, понятное сканеру.
В типовых конфигурациях на управляемых формах (Управление торговлей 11, ERP, Комплексная автоматизация, Розница) механизм печати этикеток уже встроен, и в большинстве случаев штрихкод выводится штатными средствами без доработок. В старых конфигурациях и при создании собственных печатных форм потребуется установить компоненту и настроить макет.
Ниже разобраны оба сценария: штатная печать этикеток из карточки номенклатуры и вывод штрихкода в произвольный макет через компоненту 1С:Печать штрихкодов. Отдельно рассмотрены типичные ошибки, из-за которых код не печатается или не читается сканером.
Какой штрихкод нужен: типы кодов и где они хранятся в 1С
Перед выводом определите тип кода. Для товарного учёта в рознице чаще всего применяется EAN-13 — тринадцатизначный код, который сканируют на кассах. Для внутреннего учёта, где нужны буквы и переменная длина, используют Code128. Для маркировки «Честный знак» и DataMatrix-кодов действуют отдельные правила, а QR-коды выводят на чеках и платёжных документах.
В 1С штрихкоды номенклатуры хранятся в регистре сведений «Штрихкоды номенклатуры» (в Бухгалтерии — «Штрихкоды номенклатуры» в разделе «Справочники»). У одного товара может быть несколько штрихкодов: для разных упаковок, характеристик и единиц измерения. Если код в карточке не заполнен, печатать будет нечего — сначала добавьте его вручную или сгенерируйте внутренний код.
Штатная печать этикеток в УТ 11, ERP и Рознице
Самый быстрый способ вывести штрихкод без программирования — обработка «Печать этикеток и ценников». В УТ 11 и ERP она находится в разделе «Закупки» → «Сервис» → «Печать этикеток и ценников» либо вызывается из документа «Приобретение товаров и услуг» по кнопке печати. В Рознице обработка доступна в разделе «Закупки» и из карточки товара.
Порядок работы: добавьте товары в табличную часть обработки (вручную, по документу или по отбору), выберите шаблон этикетки, укажите количество копий и нажмите «Печать». Шаблон определяет, что попадёт на этикетку: наименование, цену, артикул и штрихкод. Если штатный шаблон не подходит, его можно скопировать и отредактировать в редакторе шаблонов — там штрихкод вставляется специальным полем «Штрихкод» с выбором типа кода.
- 1Откройте «Закупки» → «Сервис» → «Печать этикеток и ценников»
- 2Добавьте товары кнопкой «Подобрать» или заполните по документу поступления
- 3Установите режим «Печать этикеток» и выберите шаблон со штрихкодом
- 4Укажите количество копий для каждой позиции
- 5Нажмите «Печать» и проверьте предварительный просмотр
- 6Просканируйте напечатанный код сканером — он должен считаться с первого раза
Для печати этикеток обычно используют принтер этикеток (например, термопринтеры Zebra, TSC, АТОЛ). Убедитесь, что в шаблоне задан правильный размер этикетки в миллиметрах и что в настройках принтера выбран тот же размер носителя — иначе этикетка «уедет» или обрежется.
Установка компоненты «1С:Печать штрихкодов»
Для вывода штрихкода в собственные печатные формы и в конфигурации, где штатной печати нет, используется внешняя компонента «1С:Печать штрихкодов» (Barcode). В современных типовых решениях она входит в состав Библиотеки стандартных подсистем и распространяется вместе с конфигурацией — при первом обращении платформа предложит установить её автоматически.
Если компонента не установилась автоматически (типично для тонкого клиента с ограниченными правами или веб-клиента), установите её вручную: файл компонента поставляется в макете конфигурации или с дистрибутивом. Для 64-разрядного сервера 1С нужна 64-битная версия компоненты — смешение разрядности является частой причиной ошибки «Компонента не обнаружена».
Вывод штрихкода в макет печатной формы
Чтобы вывести штрихкод в произвольный табличный документ, в конфигураторе добавьте в макет элемент «Картинка» и задайте ему имя, например «Штрихкод». В модуле менеджера объекта или обработки печати сформируйте изображение кода и поместите его в область. В типовых конфигурациях для этого есть готовая функция общего модуля МенеджерОборудованияВызовСервера или подсистемы печати.
Логика такая: функция получает строку штрихкода и тип кода, возвращает объект «Картинка», который присваивается области макета. Пример кода для формирования изображения:
СтруктураКартинки = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
// ПараметрыШтрихкода: Штрихкод (строка), ТипКода (число), Ширина, Высота
ОбластьМакета.Рисунки.Штрихкод.Картинка = СтруктураКартинки.Картинка;
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Штрихкод", "4601234567893");
ПараметрыШтрихкода.Вставить("ТипКода", 0); // 0 - EAN-13, 1 - Code128
ПараметрыШтрихкода.Вставить("Ширина", 200);
ПараметрыШтрихкода.Вставить("Высота", 100);
Результат = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
Если Результат.Результат Тогда
Область.Рисунки.Штрихкод.Картинка = Результат.Картинка;
КонецЕсли;Обратите внимание на пропорции: штрихкод должен занимать достаточную площадь, иначе линии сольются при печати. Для EAN-13 минимальная ширина изображения на этикетке — примерно 25–30 мм, высота — от 10 мм. Слишком мелкий код сканер не прочитает, особенно на термопринтере с низким разрешением.
Вывод штрихкода в Бухгалтерии 3.0 и на обычных формах
В Бухгалтерии предприятия 3.0 штатной печати этикеток нет, но штрихкод можно вывести на печатные формы документов — например, в счёт на оплату для оплаты по QR-коду или в накладную. Проще всего это сделать через механизм внешних печатных форм: подключите обработку в «Администрирование» → «Печатные формы, отчеты и обработки», предварительно включив использование дополнительных отчетов и обработок.
В конфигурациях на обычных формах (УТ 10.3, УПП 1.3) компонента подключается напрямую в модуле: создаётся объект «Barcode» и вызывается метод формирования изображения. Там же проще контролировать вывод — картинка вставляется в табличный документ стандартным способом через рисунок области.
Проверка результата и типичные ошибки
После вывода штрихкода обязательно проверьте его сканером, а не только визуально. Код может выглядеть нормально, но не читаться из-за нарушения контрольной цифры, сжатия изображения или недостаточного контраста. Проверяйте печать именно на том принтере и той бумаге, которые будут использоваться в работе.
Как проверить результат
Код читается с первого раза под разными углами
Сканер молчит или пищит ошибку
В 1С подставляется именно тот товар, что на этикетке
Находится другой товар или «штрихкод не найден»
Линии чёткие, вокруг кода есть светлое поле
Линии размыты, код упирается в край
Часто задаваемые вопросы
Можно ли вывести штрихкод без установки компоненты?
Да, в конфигурациях на базе БСП генерация изображения выполняется штатными средствами подсистемы печати штрихкодов, и компонента устанавливается автоматически при первом обращении. Полностью без компоненты можно вывести код шрифтом со штрихкодом (например, EAN-13-шрифтом), но такой способ капризен к масштабированию и плохо подходит для печати этикеток.
Почему штрихкод печатается, но сканер его не читает?
Чаще всего причины три: неверная контрольная цифра EAN-13, слишком мелкий размер кода на этикетке или отсутствие светлого поля вокруг линий. Проверьте код на сайте проверки штрихкодов, увеличьте размер рисунка в макете и оставьте поля по краям.
Как вывести QR-код в счёте на оплату?
Используйте типовую подсистему формирования платёжного QR-кода: строка формируется по банковскому стандарту из реквизитов счёта, затем передаётся в ту же функцию генерации изображения с типом кода QR. В Бухгалтерии 3.0 такая возможность встроена в печатную форму счёта — достаточно включить вывод QR-кода в настройках печати.
Можно ли сгенерировать штрихкод для товара без кода производителя?
Да. Для внутреннего учёта 1С может сгенерировать собственный код с внутренним префиксом (обычно начинается с 2). Такие коды работают только внутри вашей системы — на кассах и складах вашей компании, но не подходят для продажи через маркетплейсы, требующие зарегистрированный EAN.
Компонента не устанавливается в веб-клиенте. Что делать?
В веб-клиенте установка внешних компонент ограничена настройками браузера и правами пользователя. Проверьте, что браузер поддерживает технологию расширений 1С, разрешите установку компоненты в диалоге платформы и при необходимости установите расширение для работы с файлами. Если ограничения снять нельзя, формируйте изображение штрихкода на сервере — тогда клиенту компонента не нужна.
Что важно запомнить
В типовых конфигурациях штрихкод выводится через «Печать этикеток и ценников» без доработок. Для собственных макетов используйте компоненту «1С:Печать штрихкодов»: картинка формируется кодом и вставляется в область макета. Всегда проверяйте напечатанный код сканером и следите за размером изображения и контрольной цифрой EAN-13.