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