Настройка печати этикеток и штрихкодов на 1С-Битрикс

При приёмке товара на склад часто возникает проблема: каждый товар нужно промаркировать этикеткой со штрихкодом. Вручную это делает ошибки: перепутанный артикул, неверный штрихкод, разный формат. При объёме 200 позиций в день ошибки неизбежны. Мы автоматизируем печать этикеток и штрихкодов прямо из
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка печати этикеток и штрихкодов на 1С-Битрикс
Простой
~1 день

Наши компетенции:

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1460
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    810
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1166

При приёмке товара на склад часто возникает проблема: каждый товар нужно промаркировать этикеткой со штрихкодом. Вручную это делает ошибки: перепутанный артикул, неверный штрихкод, разный формат. При объёме 200 позиций в день ошибки неизбежны. Мы автоматизируем печать этикеток и штрихкодов прямо из 1С-Битрикс: от хранения кодов до отправки на принтер. В этой статье расскажем, как настроить такую систему, какие инструменты используем и как это ускоряет работу склада. Средняя экономия на материалах и времени составляет до $4.5k–6.5k. в год (по данным наших проектов). Кроме того, автоматизация исключает перепечатку и снижает количество возвратов.

Почему автоматизация печати этикеток критична для склада?

Ручная подготовка этикеток ведёт к ошибкам: перепутанный артикул, неверный штрихкод, разный формат. При объёмах от 100 товаров в день это критично. Автоматизация исключает человеческий фактор и ускоряет процесс в 5–10 раз. Кроме того, маркировка товаров — требование многих розничных сетей и маркетплейсов. Без штрихкода товар не примут на реализацию. Поэтому автоматизация — не прихоть, а необходимость.

Как мы храним и генерируем штрихкоды в Битриксе

Штрихкоды хранятся в таблице b_catalog_product_barcode: PRODUCT_ID, BARCODE, TYPE (EAN-13, Code128, QR и т.д.). Одному товару может соответствовать несколько штрихкодов.

Получение штрихкодов товара:

$barcodes = \Bitrix\Catalog\ProductBarcodeTable::getList([ 'filter' => ['PRODUCT_ID' => $productId], 'select' => ['BARCODE', 'TYPE'], ])->fetchAll(); 

Если штрихкод отсутствует, генерируем его алгоритмически. Например, EAN-13 на основе ID товара с контрольной цифрой:

function generateEan13FromId(int $productId): string { $code = str_pad($productId, 12, '0', STR_PAD_LEFT); $sum = 0; for ($i = 0; $i < 12; $i++) { $sum += (int)$code[$i] * ($i % 2 === 0 ? 1 : 3); } $checkDigit = (10 - ($sum % 10)) % 10; return $code . $checkDigit; } 

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

Генерация изображения штрихкода

Для генерации изображений используем проверенные PHP-библиотеки. Чаще всего берём php-barcode-generator. Установка через Composer — composer require picqer/php-barcode-generator.

Генерация EAN-13 в SVG для печати:

$generator = new \Picqer\Barcode\BarcodeGeneratorSVG(); $svg = $generator->getBarcode('4607134392015', $generator::TYPE_EAN_13, 3, 60); 

SVG предпочтительнее PNG — масштабируется без потери качества при любом DPI.

Шаблон этикетки

Этикетка собирается как HTML-страница с @media print и отправляется на печать через браузер или конвертируется в PDF. Минимальный шаблон 58×40 мм:

<!DOCTYPE html> <html> <head> <style> @page { size: 58mm 40mm; margin: 2mm; } body { font-family: Arial; font-size: 8pt; } .label { width: 54mm; height: 36mm; display: flex; flex-direction: column; } .barcode { text-align: center; } .name { font-size: 7pt; overflow: hidden; max-height: 12mm; } .price { font-size: 14pt; font-weight: bold; text-align: right; } </style> </head> <body> <div class="label"> <div class="name"><?= htmlspecialchars($product['NAME']) ?></div> <div class="price"><?= $price ?> руб.</div> <div class="barcode"><?= $svg ?></div> <div style="text-align:center; font-size:7pt"><?= $barcode ?></div> </div> </body> </html> 

Размер 58×40 мм — стандарт для этикеточных принтеров Zebra/Godex.

Сравнение способов печати: HTML vs ZPL

Параметр HTML + @media print Прямая отправка ZPL
Качество печати Зависит от драйвера принтера Оптимизировано для термопринтеров
Скорость пакетной печати Низкая (каждый лист OK) Высокая (пакет команд)
Гибкость дизайна Высокая (CSS) Средняя (ZPL команды)
Поддержка принтеров Любые (с драйвером) Только ZPL-совместимые

Для 1–10 этикеток подойдёт HTML-печать через браузер. Для 100+ этикеток прямая отправка ZPL на принтер (сокет на порт 9100) сокращает время в разы.

Как настроить пакетную печать через административный интерфейс?

В административном интерфейсе Битрикса можно вывести список товаров, отметить нужные и запустить пакетную печать. Мы реализуем кнопку, которая собирает все этикетки в один PDF или отправляет ZPL-пакет на принтер. Для A4 делаем grid-раскладку с break-inside: avoid. Встраиваем кастомную страницу в /bitrix/admin/. Она принимает PRODUCT_ID[] через GET (из списка товаров через массовые действия), рендерит этикетки и вызывает window.print().

Как организовать прямую отправку на принтер

Для Zebra и аналогов:

$socket = fsockopen('192.168.1.100', 9100, $errno, $errstr, 5); if ($socket) { $zpl = buildZplLabel($product, $barcode); fwrite($socket, $zpl); fclose($socket); } 

Это работает без браузерного окна и быстрее для больших объёмов.

Пример конфигурации для Zebra GK420d
^XA ^FO50,50^A0N,30,30^FDMyLabel^FS ^FO50,100^BY2^B3N,N,100,Y,N^FD1234567890128^FS ^XZ 

Сравнение типов штрихкодов

Тип Применение Длина Особенности
EAN-13 Розничная торговля 13 цифр Стандарт для большинства сетей
Code128 Логистика, маркировка коробов Переменная Высокая плотность кодирования
QR Маркировка, ссылки на доп. информацию До 177×177 Может содержать URL

Что входит в нашу работу

  • Анализ текущего процесса маркировки и требований к этикеткам.
  • Проектирование структуры хранения штрихкодов в инфоблоках и HL-блоках.
  • Разработка компонента генерации штрихкодов (EAN-13, Code128, QR).
  • Создание шаблонов этикеток под ваше оборудование (Zebra, Godex, Citizen).
  • Настройка административного интерфейса печати (по одной или пакетом).
  • Интеграция с типовыми принтерами (через ZPL/EPL или браузер).
  • Тестирование и отладка на вашем тестовом складе.
  • Документация и обучение сотрудников (2 часа онлайн-созвона).
  • Гарантия 6 месяцев на разработанный модуль.

Наша команда — опытные битрикс-разработчики с 10+ годами опыта и более 50 проектов по автоматизации складов. Свяжитесь с нами, чтобы обсудить вашу задачу. Получите консультацию по автоматизации печати на вашем складе. Наши инженеры оценят текущие процессы и предложат решение под ваш бюджет.