Документы и Печать · 11 мин
Как настроить QR-код в 1С: от печатной формы до оплаты по СБП
Пошаговая настройка QR-кода в 1С: вывод на печатные формы, QR для оплаты по СБП, маркировка и двумерные штрихкоды. Типичные ошибки и проверка результата.
QR-код в 1С востребован в трёх типовых сценариях: вывод двумерного кода на печатные формы (счета, акты, этикетки), формирование QR для оплаты по реквизитам или через Систему быстрых платежей и работа с кодами маркировки «Честный знак». Во всех случаях используется один и тот же механизм платформы — генерация картинки штрихкода из строки данных, но источник строки и место вывода различаются.
В типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, ERP, УНФ) значительная часть настроек уже встроена: например, QR-код для оплаты на счёте формируется автоматически, если заполнены банковские реквизиты организации. Для нестандартных задач — этикетки, произвольные ссылки, служебные коды — потребуется либо настройка макета, либо небольшая доработка через встроенный язык.
Ниже разобраны оба пути: штатная настройка без программирования и вариант с добавлением QR-кода в макет печатной формы через механизм «КартинкаШтрихкода». Отдельно рассмотрены требования к данным, проверка считывания и типичные ошибки, из-за которых код не сканируется.
Что понадобится перед настройкой
Сначала определите, какие данные должен содержать QR-код. Это может быть строка оплаты по стандарту ГОСТ Р 56042-2014 (для платежей физлиц), ссылка на сайт, произвольный текст, номер документа или код маркировки. От содержимого зависит длина строки и требования к размеру картинки: чем длиннее строка, тем плотнее код и тем крупнее должна быть область печати.
Проверьте версию платформы 1С:Предприятие. Механизм формирования двумерных штрихкодов через компоненту печати штрихкодов работает на актуальных версиях платформы 8.3 без дополнительных внешних компонентов — картинка генерируется на сервере или клиенте штатными средствами. Если используется старая версия, убедитесь, что компонента «1С:Печать штрихкодов» установлена на том компьютере, где выполняется формирование.
Для сценария оплаты убедитесь, что в карточке организации заполнены: наименование получателя, ИНН, КПП, расчётный счёт, банк, БИК и корреспондентский счёт. QR-код оплаты собирается именно из этих реквизитов, и пропуск любого из них делает код недействительным для банковского приложения.
Как включить QR-код оплаты на счёте в типовых конфигурациях
В 1С:Бухгалтерии и Управлении торговлей печатная форма счёта на оплату умеет выводить QR-код для оплаты через мобильное банковское приложение. Откройте раздел настроек организации и проверьте заполнение блока банковских реквизитов: они должны быть актуальными и без сокращений, не предусмотренных платёжными стандартами.
Затем откройте печатную форму счёта и найдите настройку вывода QR-кода — в разных конфигурациях она называется «Выводить QR-код», «Печатать QR-код для оплаты» или находится в параметрах макета. В некоторых конфигурациях код выводится автоматически при заполненных реквизитах, в других требуется явно включить флаг в настройках печатной формы или в разделе «Администрирование — Печатные формы, отчёты и обработки».
Сформируйте тестовый счёт и проверьте результат: на форме должен появиться квадратный код рядом с реквизитами получателя. Отсканируйте его камерой телефона через банковское приложение — должны подтянуться получатель, счёт и (если предусмотрено) сумма и назначение платежа.
- 1Заполните и проверьте банковские реквизиты организации
- 2Откройте настройки печатной формы счёта и включите вывод QR-кода
- 3Сформируйте тестовый счёт с реальной суммой
- 4Отсканируйте код банковским приложением и сверьте получателя и сумму
- 5Сохраните настройки формы как вариант по умолчанию
Как добавить QR-код в произвольный макет печатной формы
Если нужно вывести QR-код на документе, где типовой настройки нет (этикетка, акт, внутренняя накладная), используется программный способ. В модуле менеджера печати или в расширении формируется картинка штрихкода и помещается в область макета. В макете заранее создаётся область с параметром-картинкой либо рисунок, в который подставляется сформированное изображение.
Ключевая функция платформы — формирование картинки штрихкода через объект обработки печати штрихкодов. Тип кода указывается как QRCode, задаются ширина и высота картинки в пикселях, уровень коррекции ошибок и отображаемый текст. Строка данных передаётся в свойство кода, после чего метод возвращает картинку, которую можно вывести в табличный документ.
ПараметрыКода = Новый Структура;
ПараметрыКода.Вставить("Ширина", 200);
ПараметрыКода.Вставить("Высота", 200);
ПараметрыКода.Вставить("ТипКода", 16); // QRCode
ПараметрыКода.Вставить("Штрихкод", СтрокаДанных);
Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыКода);Точный синтаксис зависит от библиотеки стандартных подсистем в вашей конфигурации: в БСП есть функция для генерации картинки штрихкода, в конфигурациях без БСП используется COM-объект или внешняя компонента печати штрихкодов. Проверьте в конфигураторе наличие общего модуля с функциями формирования штрихкодов — это избавит от написания низкоуровневого кода.
Строка оплаты по ГОСТ для QR-кода
Для платёжного QR-кода строка собирается по стандарту: начинается с префикса ST00012 (или предыдущей версии формата), далее через разделитель «|» перечисляются поля Name (получатель), PersonalAcc (расчётный счёт), BankName, BIC, CorrespAcc, Sum (сумма в копейках), Purpose и другие. Порядок полей и наличие обязательных значений критичны: банковские приложения отклоняют строку с нарушенной структурой.
Не собирайте строку вручную «на глаз» — возьмите за основу механизм формирования из типовой конфигурации или библиотеки, где стандарт уже реализован. Это исключит ошибки в разделителях, кодировке и обязательных полях.
QR-коды для СБП и маркировки
Для оплаты через Систему быстрых платежей QR-код формирует не сама 1С, а банк или платёжный сервис: 1С отправляет данные о заказе через подключение к сервису СБП (например, через «1С:СБП» или интеграцию с банком) и получает в ответ готовую ссылку или картинку кода. Настройка сводится к подключению сервиса в разделе интеграций, указанию торговой точки и проверке тестового платежа. Самостоятельно генерировать QR СБП строкой нельзя — payload формируется на стороне НСПК.
В маркировке «Честный знак» QR-подобные коды DataMatrix считываются сканером 2D и передаются в документы поступления и продажи. Здесь настройка обратная: нужен не вывод, а ввод — подключите сканер в режиме эмуляции клавиатуры или COM-порта, проверьте в разделе «Подключаемое оборудование», что код распознаётся целиком, включая служебные символы группировки.
Сравнение сценариев QR в 1С
Штатная строка по ГОСТ, формируется в 1С. Подходит для счетов юрлиц и ИП, не требует внешних сервисов.
QR формирует банк или сервис, 1С только получает картинку. Нужно подключение к сервису СБП и договор с банком.
Полная свобода содержимого, но требуется доработка макета и модуля печати. Подходит для этикеток и внутренних документов.
Коды не генерируются, а считываются сканером. Настройка — подключение оборудования и обмен с «Честным знаком».
Проверка результата и контрольные точки
После настройки обязательно проверьте код в боевых условиях: распечатайте форму на реальном принтере, а не только в предпросмотре. Мелкий код, низкое разрешение печати и тонкие поля — главные причины, почему код виден на экране, но не сканируется с бумаги.
Проверяйте минимум двумя устройствами: камерой телефона и сканером штрихкодов, если он используется. Для платёжного QR сверяйте не только факт считывания, но и содержимое: получателя, счёт, сумму и назначение платежа до подтверждения в банковском приложении.
Как проверить результат
Код считывается с первого раза на расстоянии 15–30 см
Код читается только с экрана или после нескольких попыток — увеличьте размер и качество печати
Банковское приложение показывает верного получателя, счёт и сумму
Ошибка формата или неверные реквизиты — проверьте строку и реквизиты организации
Сторона кода не менее 2–3 см при длинных строках
Код меньше 1,5 см при длинной строке — сканеры не распознают
Вокруг кода есть свободное поле без текста и линий
Текст или рамка вплотную к коду — нарушена тихая зона, код не читается
Типичные ошибки и ограничения
Самая частая проблема — слишком маленький размер картинки при длинной строке данных. QR-код с полной платёжной строкой содержит много модулей, и при печати меньше 2 см отдельные точки сливаются. Задавайте размер картинки с запасом и увеличивайте уровень коррекции ошибок, если код может частично перекрываться печатью или штампом.
Вторая группа ошибок — данные: пробелы и переносы строк в реквизитах, кириллические символы в полях, где ожидается цифровое значение, сумма в рублях вместо копеек. Третья — попытка сгенерировать QR СБП вручную: такой код не будет работать, потому что полезная нагрузка СБП формируется централизованно.
FAQ
Можно ли вывести QR-код без программирования?
Да, если речь о типовом сценарии: QR оплаты на счёте в 1С:Бухгалтерии, УТ и УНФ включается настройкой печатной формы при заполненных банковских реквизитах. Для произвольного содержимого на нестандартном документе без доработки макета обойтись не получится.
Почему QR-код виден на экране, но не сканируется с распечатки?
Чаще всего причина в маленьком размере кода, низком качестве печати или отсутствии свободного поля вокруг. Увеличьте картинку до 2–3 см, печатайте с качеством не ниже стандартного и уберите текст и рамки вплотную к коду.
Как вставить в QR-код ссылку на сайт?
Передайте URL строкой в механизм формирования штрихкода с типом QRCode — специальных настроек для ссылок не требуется. Используйте короткие ссылки: длинный адрес увеличивает плотность кода и требования к размеру печати.
Чем QR-код оплаты по реквизитам отличается от QR СБП?
Код по реквизитам содержит статичную платёжную строку и формируется самой 1С. QR СБП генерируется на стороне банка или НСПК для конкретного платежа, и 1С только получает готовую картинку через подключённый сервис — сформировать его вручную нельзя.
Нужен ли сканер для проверки QR-кода?
Для платёжных кодов достаточно камеры смартфона с банковским приложением. Сканер 2D нужен там, где коды вводятся в 1С: маркировка, складской учёт, идентификация документов по коду.
QR-код формируется, но банк выдаёт ошибку формата. Что проверить?
Сверьте структуру строки: префикс стандарта, разделители «|», обязательные поля Name, PersonalAcc, BIC, CorrespAcc, сумму в копейках без пробелов и разделителей разрядов. Проще всего сравнить строку с той, что формирует типовой механизм конфигурации.
Что важно запомнить
QR-код в 1С — это картинка, сгенерированная из строки данных. Для счетов достаточно штатной настройки и корректных реквизитов, для этикеток — доработки макета через механизм печати штрихкодов, для СБП — подключения внешнего сервиса. Всегда проверяйте код с бумажной формы и сверяйте содержимое платежа до подтверждения.