К статье
Практический материал

Документы и Печать · 8 мин

Как распечатать QR-код в 1С

Как вывести и распечатать QR-код в 1С: типовые механизмы, печать СБП, чеков, этикеток, внешние компоненты и программная генерация. Пошаговые инструкции.

Печать QR-кода из 1С требуется в самых разных сценариях: оплата счетов через СБП, чеки с кодом маркировки, этикетки на товары, платёжные документы с реквизитами. В зависимости от задачи используются разные механизмы — от штатных кнопок «Печать» в типовых конфигурациях до программной генерации картинки через внешние компоненты.

Главное, что нужно понять сразу: в платформе 1С нет универсальной встроенной функции «сделать QR-код из любой строки» для всех случаев. Типовые конфигурации (БП, УТ, УНФ, Розница) уже содержат готовые решения для типичных сценариев, а нестандартные задачи решаются подключением компоненты генерации штрихкодов или обработкой.

Определите, какой именно QR-код нужно напечатать

Прежде чем искать кнопку печати, уточните назначение кода. От этого зависит весь дальнейший путь, потому что механизмы в 1С разделены по подсистемам и не пересекаются.

Типичные сценарии: платёжный QR-код СБП на счёте покупателю, QR-код с данными маркировки (DataMatrix формально, но пользователи часто называют его QR) на чеке или этикетке, QR-код на платёжном поручении по ГОСТ для банков, произвольный QR со ссылкой или текстом на макете документа.

Маршрут решения

Как выбрать действие

Нужен QR для оплаты счёта через СБПИспользуйте подсистему «Оплата через СБП» в БП, УТ или УНФ — код формируется автоматически
Нужен код маркировки на чеке или этикеткеРаботайте через Розницу/УТ с подключённым оборудованием и обработкой печати этикеток
Нужен произвольный QR на печатной формеПодключите компоненту генерации штрихкодов и добавьте картинку в макет
Нужен платёжный QR по ГОСТ на счётеПроверьте наличие макета с QR в типовой форме счёта или добавьте через внешнюю печатную форму

Печать QR-кода СБП на счёте покупателю

В конфигурациях «Бухгалтерия предприятия», «Управление торговлей» и «УНФ» есть штатная подсистема оплаты через Систему быстрых платежей. Сначала её нужно настроить: указываются реквизиты организации, банк, договор с банком-участником СБП. Без настройки QR-код формироваться не будет.

После настройки откройте документ «Счёт покупателю». В форме документа появится команда, связанная с оплатой через СБП (название зависит от конфигурации — например, «Оплатить через СБП» или отдельная печатная форма). При выборе команды программа формирует платёжную ссылку и выводит печатную форму счёта с QR-кодом, который клиент сканирует приложением банка.

Проверьте результат перед отправкой клиенту: отсканируйте код своим телефоном. Должны подтянуться корректные получатель, сумма и назначение платежа. Если сумма не совпадает со счётом — проверьте, не менялся ли документ после формирования ссылки.

Печать QR-кода на чеке и маркировка

В розничной торговле QR- и DataMatrix-коды на чеке печатает фискальный регистратор, а 1С лишь передаёт ему данные. В «1С:Рознице» или УТ при пробитии чека на маркированный товар код маркировки уходит на ККТ автоматически — при условии, что сканер и касса правильно подключены через драйверы, а в номенклатуре заполнены коды.

Если код на чеке не печатается, проблема почти всегда в одном из трёх мест: не обновлена прошивка ККТ, не установлен актуальный драйвер оборудования в 1С, либо код маркировки не считан или отклонён при продаже. Проверяйте в этом порядке — это самая частая цепочка причин.

Контрольные точки

Как проверить результат

QR на чеке
Норма

Код печатается чётко, сканируется телефоном, чек принят ОФД

Тревожный признак

Полосы вместо кода, пустое место, ошибка при пробитии

Сканирование маркировки
Норма

Код считывается в поле, товар пробивается без ошибок

Тревожный признак

Ошибка проверки кода, чек не закрывается

QR СБП на счёте
Норма

При сканировании открывается оплата с верной суммой и получателем

Тревожный признак

Ссылка не открывается или сумма отличается

Печать этикеток и ценников с QR-кодом

Для печати этикеток в УТ, Рознице и УНФ есть обработка «Печать этикеток и ценников». Откройте её, добавьте товары, выберите шаблон этикетки. В типовых шаблонах обычно предусмотрен штрихкод; если нужен именно QR, шаблон редактируется в встроенном редакторе — туда добавляется поле штрихкода с типом QR и привязкой к данным (например, к артикулу, ссылке или коду маркировки).

Этикетки печатаются либо на обычном принтере (листы с самоклеящимися этикетками), либо на принтере этикеток. Для принтера этикеток важно корректно задать размер этикетки в шаблоне — иначе QR уйдёт за край и не будет сканироваться.

Порядок действий для этикетки
  1. 1
    Откройте обработку «Печать этикеток и ценников» в разделе закупок или складских операций
  2. 2
    Добавьте номенклатуру и укажите количество этикеток
  3. 3
    Выберите или отредактируйте шаблон: добавьте поле штрихкода типа QR с нужными данными
  4. 4
    Задайте размер этикетки под ваш принтер
  5. 5
    Напечатайте пробную этикетку и проверьте сканирование телефоном или сканером

Программная генерация QR-кода в макете документа

Когда нужно вывести QR на произвольной печатной форме (например, ссылку на оплату или анкету в акте), используется компонента генерации штрихкодов из Библиотеки подключаемого оборудования (БПО). В управляемых формах типовых конфигураций она обычно уже входит в состав и подключается вызовом соответствующей функции общего модуля.

Общая схема: в модуле менеджера печати получают картинку штрихкода вызовом функции формирования изображения (в БПО это функции вида ПолучитьКартинкуШтрихкода в модуле работы с оборудованием), передав туда строку данных и тип кода QRCode. Полученную картинку помещают в область табличного документа, в макете для которой заранее создан рисунок.

bsl
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Штрихкод", СтрокаДанныхQR);
ПараметрыШтрихкода.Вставить("ТипКода", ТипКодаQR);
ПараметрыШтрихкода.Вставить("Ширина", 300);
ПараметрыШтрихкода.Вставить("Высота", 300);
Результат = МенеджерОборудованияВызовСервера.СформироватьШтрихкод(ПараметрыШтрихкода);
Если Результат.Результат Тогда
    Рисунок.Картинка = Результат.Картинка;
КонецЕсли;

Точные имена функций зависят от версии БПО/БСП в вашей конфигурации — сверяйтесь с составом общих модулей. Если компонента в конфигурации отсутствует, используют внешнюю обработку генерации QR или веб-сервис, формирующий картинку по запросу (последний вариант требует доступа в интернет с сервера 1С).

Типичные ошибки и ограничения

Самая частая жалоба — «QR напечатался, но не сканируется». Причины почти всегда технические: слишком маленький размер картинки на макете, растяжение изображения с нарушением пропорций, бледная печать на старом принтере или термопринтере с изношенной головкой. Держите размер кода не меньше 2×2 см и проверяйте контрастность.

Вторая группа ошибок — данные. QR-код «зашивает» строку в момент формирования: если после печати изменили сумму счёта или ссылку, напечатанный код уже устарел. Поэтому печатную форму с QR формируют в последнюю очередь, после финальной проверки документа.

Типичные ошибки
01
Растяжение картинки QR в макете с нарушением пропорций — код перестаёт сканироваться
02
Печать формы до окончательного редактирования документа — в коде устаревшая сумма или ссылка
03
Слишком мелкий размер QR (меньше 2 см) — телефоны не считывают код
04
Отсутствие настройки СБП в конфигурации — команда печати QR не появляется, и её ищут в макетах
05
Попытка печатать DataMatrix маркировки как обычный QR — касса и сканеры ожидают другой формат

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

Можно ли напечатать QR-код в 1С без доработок конфигурации?

Да, для типовых сценариев: оплата через СБП, чеки с маркировкой, этикетки и ценники работают штатно после настройки. Для произвольного QR на своей печатной форме понадобится либо внешняя печатная форма, либо небольшая доработка макета.

Почему QR-код печатается, но телефон его не читает?

Чаще всего код слишком мелкий, растянут с нарушением пропорций или отпечатан бледно. Увеличьте размер рисунка в макете до 2–3 см, сохраните квадратные пропорции и проверьте качество печати принтера.

Как вывести QR-код со ссылкой на сайт в счёте?

Добавьте в макет печатной формы рисунок, а в модуле формирования печатной формы сгенерируйте картинку QR через компоненту штрихкодов БПО, передав в неё строку-ссылку. Если компоненты нет — используйте внешнюю обработку генерации QR.

QR-код СБП и код маркировки — это одно и то же?

Нет. QR СБП содержит платёжную ссылку и формируется подсистемой оплаты. Маркировка «Честного знака» использует формат DataMatrix и передаётся на ККТ при продаже. Механизмы и оборудование для них разные.

Нужен ли интернет для печати QR-кода из 1С?

Для локальной генерации через компоненту штрихкодов интернет не нужен. Он требуется при формировании платёжной ссылки СБП (обмен с банком) и при использовании внешних веб-сервисов генерации картинок.

Итог

Что важно запомнить

Сначала определите тип QR-кода: СБП, маркировка, этикетка или произвольный. Типовые сценарии решаются штатными командами после настройки, произвольные — компонентой штрихкодов и правкой макета. Всегда проверяйте сканирование напечатанного кода и формируйте его после финального редактирования документа.