Автоматизация · 11 мин
Как вывести штрихкод в 1С: пошаговая инструкция
Как вывести штрихкод в 1С: установка компоненты, генерация EAN-13 и Code128, вывод на этикетки и документы, типичные ошибки и проверка результата.
Вывод штрихкода в 1С нужен в двух типовых ситуациях: печать этикеток для товаров на складе и в рознице, а также размещение кода на печатных формах документов — накладных, заказах, прайс-листах. В большинстве типовых конфигураций (Управление торговлей, Розница, Комплексная автоматизация, ERP) механизм уже встроен, и задача сводится к установке компоненты печати, заполнению штрихкодов в карточках номенклатуры и настройке шаблона этикетки.
Если конфигурация самописная или штрихкод нужен в нестандартной форме, потребуется программная генерация — через компоненту «1С:Печать штрихкодов» или через шрифтовое решение. Оба подхода рабочие, но различаются по надежности считывания и требованиям к настройке.
Ниже разобраны оба пути: штатный сценарий для типовых конфигураций и программный вывод для доработанных решений, а также проверка результата сканером и типичные ошибки, из-за которых штрихкод печатается, но не читается.
Какой тип штрихкода выбрать
До настройки печати определите формат кода — от этого зависит, что именно можно закодировать и как будет работать сканер. В торговом учете чаще всего применяются три стандарта.
EAN-13 — стандарт розничной торговли, 13 цифр, последняя — контрольная. Подходит для маркировки товаров, которые продаются на кассе. Если товар пришел от поставщика уже со штрихкодом, используйте его, а не генерируйте свой.
Code 128 — кодирует цифры и латинские буквы, удобен для внутренних артикулов, номеров документов, складских ячеек. EAN-8 — укороченный вариант для мелких упаковок, где не помещается полноразмерный код.
Установка компоненты печати штрихкодов
Типовые конфигурации используют внешнюю компоненту «1С:Печать штрихкодов» (BarCode.dll). Без нее при попытке распечатать этикетку появляется ошибка «Компонента печати штрихкодов не установлена» или вместо кода выводится пустое место.
В современных версиях конфигураций компонента устанавливается автоматически при первом обращении — система предложит установить её из макета. Подтвердите установку и перезапустите сеанс 1С. Если автоматическая установка не сработала (обычно из-за прав пользователя или политики безопасности), компоненту устанавливают вручную из дистрибутива платформы или с диска ИТС.
Для веб-клиента и тонкого клиента на Linux или macOS поведение отличается: компонента должна быть доступна именно на том компьютере, где выполняется печать. При работе через сервер печать формируется на стороне клиента, поэтому проверяйте установку на каждом рабочем месте кладовщика или кассира.
Заполнение штрихкодов в карточках номенклатуры
Печатать этикетки можно только для товаров, у которых штрихкод записан в базе. В типовых конфигурациях штрихкоды хранятся в регистре сведений «Штрихкоды номенклатуры» и привязываются к товару, а иногда — к характеристике и единице измерения.
Откройте карточку номенклатуры и перейдите на вкладку или по ссылке «Штрихкоды». Код можно ввести тремя способами: отсканировать сканером с упаковки производителя, ввести вручную с клавиатуры или сгенерировать новый внутренний код для товара без заводской маркировки.
При генерации внутреннего кода используйте префикс, который не пересекается с кодами производителей — в торговых сетях для этого традиционно резервируют диапазоны, начинающиеся с цифры 2. Это исключает коллизию, когда сгенерированный вами код случайно совпадет со штрихкодом стороннего товара.
- 1Откройте карточку номенклатуры и перейдите к списку штрихкодов
- 2Добавьте код: отсканируйте сканером или сгенерируйте новый
- 3Укажите тип штрихкода (EAN-13, Code 128) — обычно определяется автоматически
- 4При необходимости привяжите код к характеристике и упаковке
- 5Сохраните и проверьте, что код читается сканером в поле поиска
Печать этикеток и ценников
Штатный инструмент вывода штрихкодов на бумагу — обработка «Печать этикеток и ценников». В Управлении торговлей она находится в разделе «Закупки» или «Продажи» (подменю «Сервис»), в Рознице — в разделе «Склад» или на начальной странице.
Обработка работает по единой схеме: вы добавляете товары в табличную часть (вручную, по документу поступления или подбором), указываете количество этикеток для каждой позиции, выбираете шаблон этикетки и отправляете на печать. Удобный сценарий — печать этикеток прямо из документа «Поступление товаров»: весь пришедший товар попадает в обработку одной кнопкой «Печать этикеток».
Шаблон этикетки определяет, что будет на бумаге: название товара, цена, артикул, сам штрихкод и его размер. Типовые шаблоны рассчитаны на распространенные размеры этикеток (например, 58×40 мм для термопринтеров). Если стандартный не подходит, шаблон редактируется во встроенном редакторе — там можно изменить размер штрихкода, добавить поля и переместить элементы.
Вывод штрихкода на печатные формы документов
Вторая задача — разместить штрихкод на печатной форме накладной, счета или заказа, чтобы документ можно было быстро найти сканером. В типовых конфигурациях такая возможность есть не везде, поэтому часто применяется доработка макета.
Технически это делается так: в макет печатной формы добавляется область-картинка, а в модуле менеджера печати в неё выводится объект штрихкода, сформированный компонентой. В качестве данных берется номер документа (для Code 128) или уникальный идентификатор.
Упрощенный вариант без программирования — шрифтовое решение: устанавливается специальный шрифт штрихкода, и текстовое поле в макете форматируется этим шрифтом. Для Code 128 это требует расчета контрольных символов, поэтому надежнее всё же компонента. Шрифтовой способ оправдан только для простых форматов и небольших объемов.
// Пример: вывод штрихкода в табличный документ
Компонента = ПодключитьКомпонентуПечати();
Если Компонента <> Неопределено Тогда
Компонента.Ширина = 200;
Компонента.Высота = 80;
Компонента.ТипКода = 1; // EAN-13
Компонента.Штрихкод = "4601234567893";
ОбластьМакета.Рисунки.Штрихкод.Картинка = Компонента.ПолучитьКартинку();
КонецЕсли;Программная генерация в нестандартных формах
Если штрихкод нужен на экранной форме (например, на карточке товара для сканирования с монитора) или в отчете, используется программный вывод. Логика та же: компонента формирует изображение кода, которое помещается в элемент формы типа «Поле картинки» или в область табличного документа.
Ключевые параметры при генерации — тип кода, ширина и высота в пикселях, отображение текста под кодом и прозрачность фона. Слишком маленькая высота штрихов — самая частая причина нечитаемости: сканеру нужна достаточная длина линий, чтобы уверенно захватить код при быстром движении.
Для управляемых форм вместо прямого обращения к DLL используются функции общих модулей подсистемы печати штрихкодов (в конфигурациях на БСП это модуль «МенеджерОборудования» или «ГенерацияШтрихкода»). Они сами заботятся о подключении компоненты и возвращают готовую картинку или двоичные данные.
Перед массовой печатью этикеток распечатайте одну пробную и проверьте её сканером на реальном рабочем месте — на том расстоянии и при том освещении, в которых будет работать кладовщик. Код, идеально читающийся вблизи, может не сканироваться с полуметра, если напечатан слишком мелким.
Проверка результата и типичные ошибки
Единственный надежный способ проверить штрихкод — отсканировать его. Визуально отличить читаемый код от нечитаемого почти невозможно. Откройте в 1С любое поле поиска по штрихкоду (например, подбор товара) и отсканируйте напечатанную этикетку: система должна найти именно тот товар, который вы маркировали.
Проверяйте и обратную ситуацию: код не должен находить «чужой» товар. Такое бывает при дублях в регистре штрихкодов, когда один код привязан к двум позициям — 1С в этом случае обычно выдает список для выбора, что на кассе недопустимо.
Как проверить результат
Находится ровно один нужный товар
Товар не найден или предложен список из нескольких позиций
Четкие черные штрихи на белом фоне, без размытия и полос
Бледные линии, разрывы штрихов, код обрезан краем этикетки
Сканер срабатывает с первого раза на обычной дистанции
Код читается только вплотную или под определенным углом
FAQ
Почему вместо штрихкода печатается пустое место?
Чаще всего не установлена или не подключилась компонента «1С:Печать штрихкодов». Переустановите её, перезапустите сеанс 1С и убедитесь, что установка выполнялась на том компьютере, с которого идет печать. В веб-клиенте проверьте, что браузеру разрешена установка расширения для работы с компонентами.
Можно ли печатать штрихкоды без сканера?
Да, сканер не обязателен для печати — коды можно вводить вручную или генерировать. Но без сканера вы не сможете проверить читаемость этикеток, поэтому для постоянной работы со штрихкодированием сканер фактически необходим.
Как вывести QR-код вместо линейного штрихкода?
Компонента печати штрихкодов поддерживает двумерные коды, включая QR. В типовых механизмах тип кода выбирается в шаблоне этикетки, при программной генерации — параметром типа кода. Учтите, что для считывания QR-кодов нужен двумерный (2D) сканер, линейные лазерные сканеры их не читают.
Что делать, если у товара несколько штрихкодов?
Заведите все коды в карточку товара — регистр штрихкодов позволяет хранить несколько кодов для одной позиции, например код производителя и внутренний. При сканировании любого из них будет находиться один и тот же товар. Главное — не допускать, чтобы один код числился за разными товарами.
Этикетка печатается, но код не читается сканером. В чем причина?
Проверьте три вещи: размер штрихкода в шаблоне (увеличьте высоту штрихов), качество печати (чистая головка термопринтера, достаточная темность) и корректность самого кода (особенно контрольную цифру EAN-13). Также убедитесь, что сканер настроен на распознавание нужного типа кода.
Можно ли вывести штрихкод на экран, а не на бумагу?
Да, программно сгенерированный штрихкод можно вывести в элемент формы «Поле картинки» — например, чтобы курьер сканировал код заказа с экрана планшета. Учтите, что дешевые сканеры хуже считывают коды с глянцевых экранов, поэтому делайте код крупным и с высоким контрастом.
Что важно запомнить
В типовых 1С штрихкоды выводятся через обработку «Печать этикеток и ценников» после установки компоненты печати и заполнения кодов в карточках товаров. Для нестандартных форм используйте программную генерацию. Любой результат проверяйте сканером: читаемость кода нельзя оценить на глаз.