Налаштування друку етикеток і штрихкодів на 1С-Бітрікс

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

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

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1460
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1165

При прийманні товару на склад часто виникає проблема: кожен товар потрібно промаркувати етикеткою зі штрихкодом. Вручну це призводить до помилок: переплутаний артикул, невірний штрихкод, різний формат. При обсязі 200 позицій на день помилки неминучі. Ми автоматизуємо друк етикеток і штрихкодів прямо з 1С-Бітрікс: від зберігання кодів до відправки на принтер. У цій статті розповімо, як налаштувати таку систему, які інструменти використовуємо і як це прискорює роботу складу. Середня економія на матеріалах та часі становить до 500 000 грн на рік (за даними наших проєктів). Крім того, автоматизація виключає передрук та знижує кількість повернень.

Чому автоматизація друку етикеток критична для складу?

Ручна підготовка етикеток призводить до помилок: переплутаний артикул, невірний штрихкод, різний формат. При обсягах від 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 проєктів з автоматизації складів. Зв'яжіться з нами, щоб обговорити ваше завдання. Отримайте консультацію з автоматизації друку на вашому складі. Наші інженери оцінять поточні процеси та запропонують рішення під ваш бюджет.