Штрих-коды давно стали неотъемлемой частью торговли, логистики и складского учета. В 1С:Предприятие печать этикеток со штрих-кодами реализована через стандартные механизмы, но их настройка часто вызывает вопросы у пользователей. Без правильной конфигурации вы рискуете получить нечитаемые коды, ошибки при сканировании или проблемы с интеграцией с оборудованием.
Эта статья охватывает все этапы — от выбора принтера и настройки 1С:Управление торговлей 11, 1С:ERP или 1С:Розница 2.4 до программной генерации штрих-кодов через встроенный язык. Мы разберем типичные ошибки, оптимизацию для разных форматов (EAN-13, Code 128, DataMatrix) и автоматизацию печати при проведении документов.
Особое внимание уделим двум ключевым сценариям: печать на термотрансферные принтеры (например, Zebra или TSC) и вывод на обычные лазерные принтеры через шаблоны .mxl. Также рассмотрим, как интегрировать печать штрих-кодов с мобильными терминалами сбора данных (ТСД) и избежать распространенных проблем с кодировками.
Если вы работаете с маркировкой товаров (Честный ЗНАК), в конце статьи найдете отдельный раздел с нюансами печати кодов DataMatrix для обязательной маркировки (лекарства, обувь, табак и др.).
1. Выбор оборудования для печати штрих-кодов
Перед настройкой 1С определитесь с принтером. От его типа зависит метод интеграции и формат шаблонов этикеток. Основные варианты:
- 🖨️ Термотрансферные принтеры (Zebra ZD420, TSC TE200, Godex EZ-2300) — оптимальны для массовой печати этикеток. Поддерживают языки
ZPL/EPLи прямое подключение к 1С через драйвер илиCOM-порт. - 📄 Лазерные/струйные принтеры — подходят для печати на бумажных листах (например, ценники с штрих-кодами). Требуют шаблоны в формате
.mxlили.xls. - 📱 Мобильные принтеры (Brother QL-800, Roland B-ST1) — используются с ТСД для печати этикеток прямо на складе.
Для 1С:Розница 2.4 и УТ 11 рекомендуем принтеры с поддержкой ZPL — они обеспечивают высокую скорость печати и совместимость с большинством конфигураций. Если бюджет ограничен, можно использовать лазерные принтеры, но учтите: качество штрих-кодов будет зависеть от разрешения печати (оптимально — 600 dpi и выше).
Критические параметры при выборе:
- 📏 Разрешение — от
203 dpi(для простых кодов) до600 dpi(для мелкихDataMatrix). - 🔄 Скорость печати — для складов с высоким документооборотом нужны модели от
150 мм/с. - 🔌 Интерфейсы —
USB,EthernetилиWi-Fi(для сетевых принтеров).
⚠️ Внимание: Принтеры с интерфейсомLPT(параллельный порт) не поддерживаются современными версиями 1С и Windows. Если у вас старое оборудование, потребуется переходник наUSBили замена принтера.
2. Настройка 1С для печати штрих-кодов
Стандартные конфигурации 1С (УТ 11, ERP 2, Розница 2.4) уже содержат механизмы для работы со штрих-кодами, но их нужно активировать и настроить. Основные шаги:
2.1. Включение функционала штрих-кодирования
Перейдите в Администрирование → Настройки программы → Торговля и убедитесь, что включены опции:
- ✅ Использовать штрих-коды номенклатуры
- ✅ Печать штрих-кодов на документах
- ✅ Вести учет по сериям (если нужны штрих-коды для серийных номеров)
В 1С:Розница 2.4 дополнительно проверьте настройки в Администрирование → Настройки розничной торговли → Оборудование.
2.2. Подключение принтера
Для термотрансферных принтеров:
- Установите драйвер принтера (скачайте с сайта производителя).
- В 1С перейдите в
Администрирование → Печатные формы, отчеты и обработки → Оборудование. - Добавьте новый принтер, выбрав модель из списка или настроив
COM-порт/IP-адрес.
Для лазерных принтеров достаточно стандартного драйвера Windows, но потребуется настроить шаблон этикетки в Конфигураторе.
⚠️ Внимание: Если принтер подключен по сети, убедитесь, что в настройках 1С указан корректныйIP-адреси порт (9100для большинства сетевых принтеров). Проверьте доступность принтера черезPingв командной строке.
2.3. Настройка форматов штрих-кодов
В 1С поддерживаются следующие форматы:
| Формат | Описание | Применение |
|---|---|---|
EAN-13 | 13-значный код, стандарт для розничной торговли | Ценники, упаковки товаров |
Code 128 | Переменная длина, поддерживает буквы и цифры | Логистические этикетки, паллеты |
DataMatrix | 2D-код, высокий уровень защиты | Маркировка Честный ЗНАК |
QR-code | 2D-код для быстрого сканирования | Промо-акции, ссылки на сайт |
Чтобы добавить новый формат, перейдите в Справочники → Штрих-коды → Форматы штрих-кодов и создайте новый элемент. Для EAN-13 укажите длину 13 и маску проверки (например, #############).
Установлен драйвер принтера|Включен функционал штрих-кодов в 1С|Принтер добавлен в список оборудования|Выбран правильный формат штрих-кода (EAN-13, Code 128 и др.)|Проверена связь с принтером (тестовая печать)-->
3. Генерация штрих-кодов для номенклатуры
Штрих-коды можно создавать автоматически или вручную. Рассмотрим оба варианта.
3.1. Автоматическая генерация
В 1С:УТ 11 и ERP 2 штрих-коды генерируются по алгоритму:
- Откройте карточку номенклатуры (
Справочники → Номенклатура). - Перейдите на вкладку Штрих-коды.
- Нажмите Сгенерировать — система создаст код по шаблону (например,
2#############дляEAN-13).
Для массовой генерации используйте обработку ПечатьШтрихКодов.epf (доступна в стандартных поставках 1С). Загрузите ее через Файл → Открыть и выберите нужные товары.
3.2. Ручное задание штрих-кодов
Если вы используете существующие коды (например, от производителя), введите их вручную:
- В карточке номенклатуры на вкладке Штрих-коды нажмите Добавить.
- Укажите тип кода (
EAN-13,Code 128и др.). - Введите значение (например,
4607001234567). - Сохраните изменения.
Для импорта штрих-кодов из Excel используйте обработку ЗагрузкаШтрихКодовИзExcel.epf. Формат файла:
Артикул;Штрих-код;Тип кода
А001;4607001234567;EAN-13
А002;2001234567894;EAN-13
⚠️ Внимание: При ручном вводеEAN-13последняя цифра должна быть контрольной. Ее можно рассчитать с помощью онлайн-калькуляторов или функцииКонтрольнаяЦифраШКв 1С.
Чтобы избежать дублирования штрих-кодов, перед массовой загрузкой выполните проверку через отчет Анализ штрих-кодов (Отчеты → Торговля → Анализ штрих-кодов).
4. Печать штрих-кодов на этикетках
После настройки оборудования и генерации кодов можно приступить к печати. Рассмотрим два основных способа.
4.1. Печать через стандартные обработки
В 1С:Розница 2.4 и УТ 11 есть встроенные обработки для печати:
- Откройте документ (например,
Поступление товаровилиИнвентаризация). - Выделите строки с номенклатурой, для которой нужны этикетки.
- Нажмите Печать → Штрих-коды и выберите шаблон.
Стандартные шаблоны:
- 🏷️ Этикетка на товар — для ценников с названием, ценой и штрих-кодом.
- 📦 Этикетка на короб — для логистических меток с
Code 128. - 📄 Лист штрих-кодов — несколько кодов на одном листе (для лазерных принтеров).
4.2. Печать через внешние обработки
Если стандартные шаблоны не подходят, используйте внешние обработки:
- 🔧 Атол: Печать этикеток — поддерживает
ZPLиEPL, интеграция с ТСД. - 🖼️ 1С:Печать этикеток и ценников — гибкие шаблоны для лазерных принтеров.
- 📊 BarTender — профессиональное ПО для дизайна этикеток (интегрируется с 1С через
COM).
Пример кода для печати на Zebra через ZPL:
^XA
^FO50,50^BY3^BCN,100,Y,N,N^FD4607001234567^FS
^FO50,150^A0N,50,50^FDНазвание товара^FS
^FO50,200^A0N,30,30^FD1 000 руб.^FS
^XZ
Чтобы отправить этот код на принтер из 1С, используйте функцию:
ТекстЗPL ="^XA...^XZ"; Принтер = Новый COMОбъект("Zebra.ZPLPrinter"); Принтер.Print(ТекстЗPL);
Для распределенной печати (например, на складе и в магазине) настройте в 1С несколько профилей оборудования. В обработке печати добавьте логику выбора принтера по подразделению или типу документа. Пример кода: Если ТекущийДокумент.Склад.Подразделение ="Склад 1" Тогда Принтер = НайтиПринтерПоИмени("Zebra_Sklad1"); Иначе Принтер = НайтиПринтерПоИмени("Zebra_Magazin"); КонецЕсли;
Как печатать на нескольких принтерах одновременно?
5. Автоматизация печати штрих-кодов
Ручная печать этикеток отнимает время, особенно при большом документообороте. Автоматизируйте процесс с помощью следующих методов:
5.1. Печать при проведении документов
Настройте печать штрих-кодов при сохранении документов:
Процедура ПередЗаписью(Отказ, РежимЗаписи) Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда ПечатьШтрихКодов(ЭтотОбъект); КонецЕсли; КонецПроцедуры 5.2. Фоновая печать через РИБ
В распределенных базах (РИБ 5.3. Интеграция с ТСД
Для работы с терминалами сбора данных (Атол SMART, CipherLab):
Автоматизация печати сокращает время обработки документов на 40-60% и снижает количество ошибок при ручном вводе штрих-кодов. С 2026 года обязательная маркировка распространяется на большинство групп товаров (лекарства, обувь, табак, молоко и др.). Для печати 6.1. Подключение к Убедитесь, что в 1С настроен обмен с системой маркировки:
6.2. Печать Для печати кодов маркировки:
Пример кода для генерации КодDataMatrix = Новый ШтрихкодDataMatrix; КодDataMatrix.УстановитьДанные("010463001234567821uHJd8s1"); КодDataMatrix.Размер = 20; // мм Изображение = КодDataMatrix.ПолучитьИзображение; Для печати на Zebra используйте команду ^XA ^FO20,20^BXN,20,200,0,0,0,~FD010463001234567821uHJd8s1^FS ^XZ Перед массовой печатью маркированных кодов выполните тестовую печать на 1-2 этикетках и проверьте их через мобильное приложение Честный ЗНАК. Это поможет избежать брака всей партии. При печати штрих-кодов пользователи часто сталкиваются счными проблемами. Разберем самые распространенные и способы их устранения.
7.1. Штрих-код не сканируется
Причины и решения:
7.2. Принтер не печатает из 1С
Проверьте:
7.3. Медленная печать
Оптимизация:
7.4. Ошибки при печати Частые проблемы:
90% проблем со сканированием штрих-кодов связаны с низким качеством печати или неверным форматом данных. Всегда тестируйте этикетки на реальном оборудовании перед массовой печатью. Если стандартные механизмы 1С не подходят, можно генерировать штрих-коды программно с помощью встроенного языка или внешних библиотек.
8.1. Генерация через встроенные объекты
В 1С 8.3 есть объект Штрихкод = Новый Штрихкод; Штрихкод.Тип = ТипШтрихкода.EAN13; Штрихкод.УстановитьДанные("4607001234567"); Изображение = Штрихкод.ПолучитьИзображение(200, 100); // Ширина, высота в пикселях Изображение.Записать("C:\temp\barcode.png"); 8.2. Использование внешних компонент
Для расширенных форматов (
Файл → Конфигуратор).ПоступлениеТоваровУслуг).ПередЗаписью добавьте код для печати:
Администрирование → Поддержка и обслуживание → Регламентные задания.
автоматически печатается этикетка на подключенном принтере.
Администрирование → Оборудование).⚠️ Внимание: При автоматической печати проверьте настройки лимитов в драйвере принтера. Некоторые модели (Zebra) блокируются после печати большого количества этикеток (например, >1000 за сессию). Решение — разбивать задачи на пакеты.
6. Печать штрих-кодов для маркировки (Честный ЗНАК)
DataMatrix в 1С требуются дополнительные настройки.
Честный ЗНАК
Администрирование → Настройки программы → Маркировка товаров.Честный ЗНАК (логин, пароль, сертификат).DataMatrix
10×10 мм).A или B).≥120 г/м²).DataMatrix в 1С:
ZPL:
⚠️ Внимание: Коды
DataMatrix для маркировки должны содержать криптографическую подпись (параметр cryptoTail). Без нее код считается недействительным. Подпись формируется системой Честный ЗНАК при регистрации товара.7. Типичные ошибки и их решение
≥203 dpi) и качество тонера/ленты.EAN-13 минимальная высота — 15 мм, ширина — 37 мм.70%).КонтрольнаяЦифраШК.
USB/Ethernet).1cv8.exe).ZPL для Zebra).
Ethernet вместо Wi-Fi.Spool print documents).DataMatrix
Ошибка Причина Решение Код не читается сканером Низкое разрешение печати Установите ≥300 dpi и увеличьте размер кода до 15×15 ммОшибка проверки подписи Отсутствует cryptoTailПолучите подпись в Честный ЗНАК и повторите печатьИскажение кода Неправильный шаблон ZPLИспользуйте команду ^BXN вместо ^BXA8. Программная генерация штрих-кодов (для разработчиков)
Штрихкод, который поддерживает основные форматы:
QR, PDF417) подключите библиотеки:
— бесплатная библиотека для генерации QR, DataMatrix.
1D и 2D коды, интегрируется через HTTP-Сервисы.100+ форматов.Пример подключения BarcodeLib:
ПутьКDLL ="C:\BarcodeLib\BarcodeLib.x86.dll"; BarcodeLib = Новый COMОбъект("BarcodeLib.Barcode"); BarcodeLib.Symbology = 16; // EAN13 BarcodeLib.Data ="4607001234567"; BarcodeLib.BarWidth = 2; BarcodeLib.Height = 50; BarcodeLib.SaveImage("C:\temp\ean13.bmp"); 8.3. Печать через
HTML/CSS
Для веб-клиента 1С можно генерировать штрих-коды с помощью JavaScript-библиотек (например, JsBarcode):
&НаКлиенте
Процедура ПечатьШтрихКодаНаКлиенте(Штрихкод)
ВыполнитьJavaScript("JsBarcode('#barcode','" + Штрихкод +"', {format:'EAN13'});");
КонецПроцедуры
⚠️ Внимание: При использовании внешних библиотек убедитесь, что они совместимы с версией платформы 1С. Например, BarcodeLib не работает в 1С:Предприятие 8.3.20+ без обновления.
Как интегрировать печать штрих-кодов с мобильным приложением?
Для интеграции с мобильным приложением (например, на Android) используйте REST API:
1. Разверните HTTP-Сервис в 1С для генерации штрих-кодов.
2. В мобильном приложении отправляйте GET-запрос вида:
http://server/barcode?type=EAN13&data=4607001234567
3. Сервис возвращает изображение в формате PNG, которое можно отобразить или напечатать.
Пример кода для сервиса:
Функция ПолучитьШтрихкод(Тип, Данные) Экспорт
Штрихкод = Новый Штрихкод;
Штрихкод.Тип = ТипШтрихкода[Тип];
Штрихкод.УстановитьДанные(Данные);
Возврат Штрихкод.ПолучитьИзображение;
КонецФункции
FAQ: Частые вопросы по печати штрих-кодов в 1С
Как напечатать штрих-код на ценнике с ценой и названием товара?
Используйте стандартную обработку Печать ценников и этикеток (Отчеты → Торговля → Печать ценников). В настройках шаблона добавьте поля: