Документы и Печать · 8 мин
Как распечатать QR-код в 1С
Как вывести и распечатать QR-код в 1С: типовые механизмы, печать СБП, чеков, этикеток, внешние компоненты и программная генерация. Пошаговые инструкции.
Печать QR-кода из 1С требуется в самых разных сценариях: оплата счетов через СБП, чеки с кодом маркировки, этикетки на товары, платёжные документы с реквизитами. В зависимости от задачи используются разные механизмы — от штатных кнопок «Печать» в типовых конфигурациях до программной генерации картинки через внешние компоненты.
Главное, что нужно понять сразу: в платформе 1С нет универсальной встроенной функции «сделать QR-код из любой строки» для всех случаев. Типовые конфигурации (БП, УТ, УНФ, Розница) уже содержат готовые решения для типичных сценариев, а нестандартные задачи решаются подключением компоненты генерации штрихкодов или обработкой.
Определите, какой именно QR-код нужно напечатать
Прежде чем искать кнопку печати, уточните назначение кода. От этого зависит весь дальнейший путь, потому что механизмы в 1С разделены по подсистемам и не пересекаются.
Типичные сценарии: платёжный QR-код СБП на счёте покупателю, QR-код с данными маркировки (DataMatrix формально, но пользователи часто называют его QR) на чеке или этикетке, QR-код на платёжном поручении по ГОСТ для банков, произвольный QR со ссылкой или текстом на макете документа.
Как выбрать действие
Печать QR-кода СБП на счёте покупателю
В конфигурациях «Бухгалтерия предприятия», «Управление торговлей» и «УНФ» есть штатная подсистема оплаты через Систему быстрых платежей. Сначала её нужно настроить: указываются реквизиты организации, банк, договор с банком-участником СБП. Без настройки QR-код формироваться не будет.
После настройки откройте документ «Счёт покупателю». В форме документа появится команда, связанная с оплатой через СБП (название зависит от конфигурации — например, «Оплатить через СБП» или отдельная печатная форма). При выборе команды программа формирует платёжную ссылку и выводит печатную форму счёта с QR-кодом, который клиент сканирует приложением банка.
Проверьте результат перед отправкой клиенту: отсканируйте код своим телефоном. Должны подтянуться корректные получатель, сумма и назначение платежа. Если сумма не совпадает со счётом — проверьте, не менялся ли документ после формирования ссылки.
Печать QR-кода на чеке и маркировка
В розничной торговле QR- и DataMatrix-коды на чеке печатает фискальный регистратор, а 1С лишь передаёт ему данные. В «1С:Рознице» или УТ при пробитии чека на маркированный товар код маркировки уходит на ККТ автоматически — при условии, что сканер и касса правильно подключены через драйверы, а в номенклатуре заполнены коды.
Если код на чеке не печатается, проблема почти всегда в одном из трёх мест: не обновлена прошивка ККТ, не установлен актуальный драйвер оборудования в 1С, либо код маркировки не считан или отклонён при продаже. Проверяйте в этом порядке — это самая частая цепочка причин.
Как проверить результат
Код печатается чётко, сканируется телефоном, чек принят ОФД
Полосы вместо кода, пустое место, ошибка при пробитии
Код считывается в поле, товар пробивается без ошибок
Ошибка проверки кода, чек не закрывается
При сканировании открывается оплата с верной суммой и получателем
Ссылка не открывается или сумма отличается
Печать этикеток и ценников с QR-кодом
Для печати этикеток в УТ, Рознице и УНФ есть обработка «Печать этикеток и ценников». Откройте её, добавьте товары, выберите шаблон этикетки. В типовых шаблонах обычно предусмотрен штрихкод; если нужен именно QR, шаблон редактируется в встроенном редакторе — туда добавляется поле штрихкода с типом QR и привязкой к данным (например, к артикулу, ссылке или коду маркировки).
Этикетки печатаются либо на обычном принтере (листы с самоклеящимися этикетками), либо на принтере этикеток. Для принтера этикеток важно корректно задать размер этикетки в шаблоне — иначе QR уйдёт за край и не будет сканироваться.
- 1Откройте обработку «Печать этикеток и ценников» в разделе закупок или складских операций
- 2Добавьте номенклатуру и укажите количество этикеток
- 3Выберите или отредактируйте шаблон: добавьте поле штрихкода типа QR с нужными данными
- 4Задайте размер этикетки под ваш принтер
- 5Напечатайте пробную этикетку и проверьте сканирование телефоном или сканером
Программная генерация QR-кода в макете документа
Когда нужно вывести QR на произвольной печатной форме (например, ссылку на оплату или анкету в акте), используется компонента генерации штрихкодов из Библиотеки подключаемого оборудования (БПО). В управляемых формах типовых конфигураций она обычно уже входит в состав и подключается вызовом соответствующей функции общего модуля.
Общая схема: в модуле менеджера печати получают картинку штрихкода вызовом функции формирования изображения (в БПО это функции вида ПолучитьКартинкуШтрихкода в модуле работы с оборудованием), передав туда строку данных и тип кода QRCode. Полученную картинку помещают в область табличного документа, в макете для которой заранее создан рисунок.
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Штрихкод", СтрокаДанныхQR);
ПараметрыШтрихкода.Вставить("ТипКода", ТипКодаQR);
ПараметрыШтрихкода.Вставить("Ширина", 300);
ПараметрыШтрихкода.Вставить("Высота", 300);
Результат = МенеджерОборудованияВызовСервера.СформироватьШтрихкод(ПараметрыШтрихкода);
Если Результат.Результат Тогда
Рисунок.Картинка = Результат.Картинка;
КонецЕсли;Точные имена функций зависят от версии БПО/БСП в вашей конфигурации — сверяйтесь с составом общих модулей. Если компонента в конфигурации отсутствует, используют внешнюю обработку генерации QR или веб-сервис, формирующий картинку по запросу (последний вариант требует доступа в интернет с сервера 1С).
Типичные ошибки и ограничения
Самая частая жалоба — «QR напечатался, но не сканируется». Причины почти всегда технические: слишком маленький размер картинки на макете, растяжение изображения с нарушением пропорций, бледная печать на старом принтере или термопринтере с изношенной головкой. Держите размер кода не меньше 2×2 см и проверяйте контрастность.
Вторая группа ошибок — данные. QR-код «зашивает» строку в момент формирования: если после печати изменили сумму счёта или ссылку, напечатанный код уже устарел. Поэтому печатную форму с QR формируют в последнюю очередь, после финальной проверки документа.
Часто задаваемые вопросы
Можно ли напечатать QR-код в 1С без доработок конфигурации?
Да, для типовых сценариев: оплата через СБП, чеки с маркировкой, этикетки и ценники работают штатно после настройки. Для произвольного QR на своей печатной форме понадобится либо внешняя печатная форма, либо небольшая доработка макета.
Почему QR-код печатается, но телефон его не читает?
Чаще всего код слишком мелкий, растянут с нарушением пропорций или отпечатан бледно. Увеличьте размер рисунка в макете до 2–3 см, сохраните квадратные пропорции и проверьте качество печати принтера.
Как вывести QR-код со ссылкой на сайт в счёте?
Добавьте в макет печатной формы рисунок, а в модуле формирования печатной формы сгенерируйте картинку QR через компоненту штрихкодов БПО, передав в неё строку-ссылку. Если компоненты нет — используйте внешнюю обработку генерации QR.
QR-код СБП и код маркировки — это одно и то же?
Нет. QR СБП содержит платёжную ссылку и формируется подсистемой оплаты. Маркировка «Честного знака» использует формат DataMatrix и передаётся на ККТ при продаже. Механизмы и оборудование для них разные.
Нужен ли интернет для печати QR-кода из 1С?
Для локальной генерации через компоненту штрихкодов интернет не нужен. Он требуется при формировании платёжной ссылки СБП (обмен с банком) и при использовании внешних веб-сервисов генерации картинок.
Что важно запомнить
Сначала определите тип QR-кода: СБП, маркировка, этикетка или произвольный. Типовые сценарии решаются штатными командами после настройки, произвольные — компонентой штрихкодов и правкой макета. Всегда проверяйте сканирование напечатанного кода и формируйте его после финального редактирования документа.