Настройка генерации и печати этикеток из 1С-Битрикс

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

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

Этапы разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    947
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    694
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    830
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    732
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1075

Представьте склад, обрабатывающий 300 заказов в день. Каждую этикетку менеджер печатает вручную из Word-шаблона: копирует адрес, название товара, вес. На одну уходит 2–3 секунды. В масштабе дня — это более 2 часов монотонной работы плюс неизбежные ошибки (около 5% заказов с неверным адресом). При увеличении объёмов до 500 заказов ручное этикетирование становится критическим узким местом: сотрудники отвлекаются, растёт процент возвратов из-за неправильных адресов. Настройка генерации и печати этикеток из 1С-Битрикс позволяет автоматизировать этот процесс: генерация нажатием одной кнопки из карточки заказа или пакетно из списка. Опыт наших инженеров — более 10 лет в Битрикс-разработке, поэтому решаем задачу «под ключ» с учётом вашего оборудования.

Поддерживаемые форматы: PDF и ZPL

Этикетки генерируются в двух основных форматах: PDF — для термопечати и стандартных принтеров — используем библиотеку mPDF (лучше всего справляется с кириллицей и CSS-стилизацией); ZPL (Zebra Programming Language) — для промышленных принтеров Zebra, TSC, Honeywell. Отправляем ZPL-команды напрямую на принтер по TCP/IP без генерации PDF — максимальная скорость печати (до 4 этикеток в секунду). Выбор формата зависит от имеющегося оборудования: для офисных принтеров подойдёт PDF, для конвейерной печати — ZPL.

Установка mPDF и генератора штрихкодов через Composer:

composer require mpdf/mpdf
composer require picqer/php-barcode-generator

Сравнение форматов:

Параметр PDF ZPL
Совместимость Любые принтеры Zebra, TSC, Honeywell
Скорость Средняя (преобразование HTML→PDF) Максимальная (прямая отправка)
Кастомизация Через HTML/CSS Через ZPL-команды
Штрихкоды Встраиваются как PNG Генерируются командами ^BC

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

Этикетка — это HTML-шаблон с подстановкой данных. Хранится в /local/templates/.default/labels/:

<!-- shipping_label.html -->
<div class="label" style="width:100mm; height:150mm; font-family: Arial;">
    <div class="sender">
        <strong>ООО Магазин</strong><br>
        г. Москва, ул. Ленина, 1
    </div>
    <div class="barcode">
        <img src="barcode_{ORDER_ID}.png" width="200">
    </div>
    <div class="recipient">
        <strong>{RECIPIENT_NAME}</strong><br>
        {RECIPIENT_ADDRESS}<br>
        {RECIPIENT_PHONE}
    </div>
    <div class="order-info">
        Заказ #{ORDER_ID} | {ORDER_DATE}<br>
        Вес: {WEIGHT} кг | Мест: {ITEMS_COUNT}
    </div>
</div>

Генератор этикеток

Код генератора (нажмите, чтобы развернуть)
namespace Custom\Warehouse;

class LabelGenerator {

    public function generateShippingLabel(int $orderId): string {
        $order = \Bitrix\Sale\Order::load($orderId);
        if (!$order) throw new \Exception("Order $orderId not found");

        $shipment = $this->getMainShipment($order);
        $propertyCollection = $order->getPropertyCollection();

        $data = [
            '{ORDER_ID}'        => $order->getId(),
            '{ORDER_DATE}'      => $order->getDateInsert()->format('d.m.Y'),
            '{RECIPIENT_NAME}'  => $propertyCollection->getPayerName()->getValue(),
            '{RECIPIENT_PHONE}' => $propertyCollection->getPhone()->getValue(),
            '{RECIPIENT_ADDRESS}' => $this->buildAddress($propertyCollection),
            '{WEIGHT}'          => $this->calculateWeight($order),
            '{ITEMS_COUNT}'     => $order->getBasket()->count(),
        ];

        $template = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/local/templates/.default/labels/shipping_label.html');
        $html = str_replace(array_keys($data), array_values($data), $template);

        // Generate barcode
        $this->generateBarcode($orderId);

        return $this->htmlToPdf($html, $orderId);
    }

    private function generateBarcode(int $orderId): void {
        $generator = new \Picqer\Barcode\BarcodeGeneratorPNG();
        $barcode = $generator->getBarcode((string)$orderId, $generator::TYPE_CODE_128);
        file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/labels/barcode_' . $orderId . '.png', $barcode);
    }

    private function htmlToPdf(string $html, int $orderId): string {
        $mpdf = new \Mpdf\Mpdf([
            'mode' => 'utf-8',
            'format' => [100, 150], // 100mm x 150mm
            'margin_top' => 5,
            'margin_bottom' => 5,
            'margin_left' => 5,
            'margin_right' => 5,
        ]);

        $mpdf->WriteHTML($html);

        $outputPath = '/upload/labels/label-' . $orderId . '.pdf';
        $mpdf->Output($_SERVER['DOCUMENT_ROOT'] . $outputPath, 'F');

        return $outputPath;
    }
}

Как добавить кнопку печати в админку Битрикс?

Кнопка «Печать этикетки» добавляется в карточку заказа через обработчик OnAdminContextMenuShow или через кастомный action в sale/order_detail.php. При нажатии генерируется PDF и открывается в новой вкладке браузера.

Для пакетной печати (несколько заказов из списка) — action «Распечатать этикетки» через checkbox-selection в sale/order_list.php. Генерируется один многостраничный PDF. Пример кода для добавления action:

// событие OnAdminSaleOrderListMenu
function addPrintLabelsAction(\Bitrix\Main\Event $event) {
    $items = &$event->getParameter('items');
    $items[] = [
        'TEXT' => 'Распечатать этикетки',
        'ACTION' => 'printLabels()',
        'ICON' => 'adm-btn-print',
    ];
}

Прямая печать без PDF (ZPL)

Для Zebra-принтеров этикетка формируется в ZPL и отправляется напрямую:

function printZebraLabel(int $orderId, string $printerIp, int $printerPort = 9100): void {
    $zpl = "^XA\n^FO50,50^A0N,30,30^FD Заказ #$orderId ^FS\n^XZ";

    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    socket_connect($socket, $printerIp, $printerPort);
    socket_send($socket, $zpl, strlen($zpl), 0);
    socket_close($socket);
}

Как генерируется штрихкод?

Штрихкод генерируется на основе идентификатора заказа с помощью библиотеки picqer/php-barcode-generator. Поддерживаются форматы Code 128, QR и другие. PNG-файл сохраняется в /upload/labels/ и подставляется в HTML-шаблон. В случае ZPL штрихкод формируется командами ^BC, что не требует генерации изображений.

Почему автоматизация печати экономит деньги?

Ошибки при ручном заполнении этикеток обходятся дорого: неправильный адрес — возврат товара, потерянного клиента, повторная отправка. Наш кейс: интернет-магазин с 300 заказами в день до автоматизации тратил 2 часа на этикетирование и имел 5% брака. После внедрения время сократилось до 5 минут, ошибки — до 0.5%. Экономия на логистике составила 18% за счёт снижения возвратов. Средняя стоимость возврата (логистика + упущенная выручка) составляла значительные суммы — после внедрения эта сумма упала в разы. Автоматизация печати окупается в среднем за 2 месяца.

Пошаговая настройка для вашего проекта

  1. Собираем требования: объём заказов, типы принтеров, формат этикетки, необходимость штрихкодов.
  2. Разрабатываем HTML-шаблон этикетки под ваш дизайн (требуется макет или пример).
  3. Внедряем генератор PDF и/или ZPL, интегрируем с вашими принтерами.
  4. Добавляем кнопку печати в карточку заказа и/или пакетную печать.
  5. Тестируем на 50-100 заказах, обучаем сотрудников.

Сроки выполнения

Объём работ Срок
HTML-шаблон + PDF-генерация + кнопка в заказе 1–2 дня
Штрихкоды + пакетная печать +1 день
ZPL для Zebra + сетевая печать +1 день
Интеграция с транспортными ярлыками СДЭК/Почты отдельная задача

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

  • Разработка HTML-шаблона этикетки под ваш дизайн
  • Генерация PDF и/или ZPL
  • Штрихкоды (Code 128, QR)
  • Кнопка печати в карточке заказа
  • Пакетная печать из списка заказов
  • Интеграция с сетевыми принтерами (Zebra, TSC и др.)
  • Документация по настройке и поддержке
  • Обучение сотрудников (удалённо или на месте)

Гарантируем стабильную работу решения после внедрения. Финализируем проект в течение 3–5 дней в зависимости от сложности. Свяжитесь с нами для оценки вашего проекта — подберём оптимальное решение под ваш склад. Закажите консультацию, и мы пришлём коммерческое предложение в течение 24 часов.

Что включает профессиональная установка 1С-Битрикс

Мы начинаем установку 1С-Битрикс с проверки innodb_buffer_pool_size. Дефолтное значение MySQL (128 МБ) — приговор для интернет-магазина с каталогом на 10 000+ товаров. Мы ставим 70–80% от доступной RAM на выделенном сервере, 50% на VPS. Одна эта настройка ускоряет сайт в 2–3 раза по сравнению с дефолтом. Оценим ваш проект за один день — получите консультацию. Обращайтесь, чтобы заказать установку под ключ с гарантией производительности.

Как выбрать хостинг и редакцию для установки 1С-Битрикс?

BitrixVM — виртуальная машина с предустановленным стеком: nginx + Apache, PHP-FPM, MySQL/MariaDB, Sphinx, Push‑сервер. Для VPS — лучший старт. Всё уже сконфигурировано под Битрикс, включая OPcache, логротацию и firewall. Управление через веб‑панель на порту 8890.

VPS/VDS — золотая середина. Минимальная конфигурация для среднего интернет‑магазина: 2 vCPU, 4 ГБ RAM, SSD. Оптимальная: 4 vCPU, 8 ГБ RAM. ОС: Ubuntu 22.04 или Debian 12. Если не BitrixVM — настраиваем стек вручную под задачу. Виртуальный хостинг — только для визиток и лендингов. Требования: PHP 8.0+, MySQL 5.7+ / MariaDB 10.0+, 512 МБ RAM, .htaccess. Хостинг‑партнёры 1С-Битрикс — гарантия совместимости. Выделенный сервер — для highload. Типичная архитектура: веб‑сервер отдельно, база данных отдельно, Redis/Memcached отдельно. На редакции «Энтерпрайз» — веб‑кластер с балансировщиком. Облако (Yandex Cloud, VK Cloud, Selectel) — когда нагрузка скачет: распродажи, сезонные пики. Автомасштабирование через Managed Kubernetes или просто вертикальное масштабирование VM.

Выбор редакции — не менее важный шаг. Частая ошибка: берут «Малый бизнес» для магазина, который через полгода вырастает до B2B с оптовыми ценами и тремя складами. Переход на «Бизнес» — доплата разницы, данные не теряются, но лучше предусмотреть заранее. Наши специалисты подберут редакцию под текущие задачи и с запасом на рост. Например, лицензия «Бизнес» (около 35 000 ₽) окупается за счёт мультисклада и обмена с 1С, а неправильный выбор приводит к потере до 30 000 ₽ ежемесячно на избыточных ресурсах.

Редакция Для кого Ключевое ограничение
Старт Визитки, лендинги Нет инфоблоков 2.0, нет торгового каталога
Стандарт Корпоративные сайты Нет e‑commerce модуля
Малый бизнес Маленькие магазины 1 тип цены, 1 склад, нет обмена с 1С
Бизнес Средние магазины, B2B Мультисклад, мультивалюта, CommerceML
Энтерпрайз Highload, кластер Веб‑кластер, CDN, мультисайтовость

Какие настройки сервера критичны для 1С-Битрикс?

Веб‑сервер и PHP

nginx как reverse proxy + Apache (mod_php) или nginx + PHP-FPM напрямую. Второй вариант экономит память — Apache не нужен. Но некоторые модули Битрикс используют .htaccess, поэтому для совместимости иногда оставляем Apache. Конфигурация nginx: fastcgi_read_timeout 300 — для долгих операций (импорт из 1С), client_max_body_size 1024m — загрузка больших файлов. Закрываем доступ к .settings.php, .settings_extra.php, bitrix/.settings.php — там пароли к базе. Rewrite‑правила из urlrewrite.php — Битрикс сам генерирует, но при nginx + PHP-FPM нужно продублировать. PHP 8.0–8.2 с расширениями: mbstring, curl, gd, xml, json, opcache, redis/memcached. Ключевые настройки php.ini: opcache.memory_consumption=256, opcache.max_accelerated_files=20000, max_execution_time=300, memory_limit=512M, upload_max_filesize=100M, post_max_size=128M.

База данных и кэширование

MySQL/MariaDB. Ключевые параметры my.cnf: innodb_buffer_pool_size — 70–80% RAM, innodb_log_file_size=256M, tmp_table_size=256M, max_heap_table_size=256M, thread_pool_size — по количеству ядер CPU. Кодировка utf8mb4 обязательно, иначе эмодзи и спецсимволы ломаются. Redis предпочтительнее Memcached для Битрикс — поддерживает persistent connections и более надёжен. Настраиваем в .settings_extra.php:

'cache' => ['value' => ['type' => ['class_name' => '\\Bitrix\\Main\\Data\\CacheEngineRedis']]]
'session' => ['value' => ['mode' => 'default', 'handlers' => ['general' => ['type' => 'redis']]]]

SSL, почта и cron

SSL — Let's Encrypt через certbot в 90% случаев. Редирект HTTP → HTTPS (301), HSTS, TLS 1.2/1.3, OCSP Stapling. В Битрикс переключаем на HTTPS в настройках главного модуля. Почта: отказываемся от mail() — подключаем SMTP (Яндекс.Почта для домена, Mail.ru для бизнеса). Обязательно настраиваем SPF, DKIM, DMARC. Без SPF письма уходят в спам. Тестируем доставляемость через mail‑tester.com — оценка 9+/10. Cron: агенты Битрикс переводим на системный cron — * * * * * /usr/bin/php /var/www/bitrix/modules/main/tools/cron_events.php. На cron вешаем обмен с 1С (15–60 мин), поисковую переиндексацию, бэкапы (mysqldump + rsync, ротация 7+4), очистку временных файлов.

Безопасность и администрирование

Файловая система: владелец www-data, директории 755, файлы 644, upload 775. nginx блокирует доступ к файлам конфигурации. Включаем Проактивную защиту Битрикс — WAF, контроль активности (блокировка после 5 неудачных попыток), проверку целостности ядра. Для админ‑панели: двухфакторная аутентификация через Google Authenticator или OTP, ограничение доступа по IP через nginx для параноиков.

Сколько времени занимает установка 1С-Битрикс и настройка?

Задача Срок
Установка на виртуальный хостинг 2–4 часа
Установка на VPS с настройкой стека 1–2 дня
Установка на dedicated с проектированием архитектуры 2–5 дней
SSL + почта + cron + безопасность 1–2 дня
Настройка бэкапов и мониторинга 0.5–1 день

Проверка после установки (пошаговый чек‑лист)

  1. Монитор производительности (/bitrix/admin/perfmon_panel.php) — целимся в 30+ баллов. Ниже 20 — есть серьёзные проблемы с конфигурацией.
  2. Проверка системы — автоматическая проверка всех параметров. Красные пункты — исправляем обязательно, жёлтые — по ситуации.
  3. Сканер безопасности — проверка на типичные уязвимости.
  4. PageSpeed Insights — TTFB < 200мс на VPS, LCP < 2.5с.
  5. Тестовый обмен с 1С — если планируется интеграция, проверяем CommerceML‑обмен до запуска.

Дополнительно проверяем версии ПО, настройки кэширования, работу cron, SSL‑сертификат, SPF/DKIM/DMARC, права доступа, удаление дефолтных пользователей и страниц. Для проектов с 54‑ФЗ убеждаемся, что настроена фискализация через ОФД‑провайдера.

Что входит в работу (deliverables)

  • Полностью настроенный сервер под 1С-Битрикс с оптимизацией MySQL, PHP, nginx.
  • Установленная и активированная лицензия нужной редакции.
  • SSL‑сертификат, почтовые настройки, cron и бэкапы.
  • Документация: все параметры конфигурации, доступы, cron‑задачи.
  • Обучение контент‑менеджера: как заходить в админку, добавлять товары, загружать изображения.
  • Поддержка после установки в течение 30 дней — консультации по настройкам.

Почему стоит доверить установку профессионалам?

Неправильная установка — потеря времени и денег. Мы видели проекты, где магазин на «Старте» не мог выдержать 50 посетителей, потому что не был настроен innodb_buffer_pool_size. После переноса на VPS с правильной конфигурацией сайт «полетел». Неправильная конфигурация может обходиться в 30 000 ₽ ежемесячно из‑за избыточного потребления ресурсов. Вы получаете готовую архитектуру, которая масштабируется. Закажите установку 1С-Битрикс под ключ — и получите надёжную платформу для роста бизнеса. Свяжитесь с нами — рассчитаем стоимость под ваш проект. Опыт более 7 лет, реализовано 120+ проектов на Битрикс, включая highload‑магазины с миллионными каталогами. Обращайтесь — мы поможем настроить Битрикс под ваш проект.