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

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

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

Как в 1С вывести QR-код оплаты на печатную форму счёта: настройка шаблона, типовые и внешние печатные формы, проверка кода и типичные ошибки.

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

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

Проверьте, поддерживает ли ваша конфигурация QR-код из коробки

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

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

В списке печатных форм есть вариант с QR-кодомШтатная поддержка есть

Просто выберите эту форму и проверьте корректность реквизитов

QR-кода нет, но СБП подключенаКод может формироваться через банк

Проверьте настройки обмена с банком и шаблон счёта

Ни формы, ни СБП нетТребуется доработка или внешняя печатная форма

Оцените варианты: внешняя обработка, изменение макета, сервис генерации

Определитесь со стандартом QR-кода

Банковские приложения в России распознают код, в котором зашита строка по специальному формату: обязательные поля — наименование получателя, расчётный счёт, ИНН, БИК банка, корреспондентский счёт; дополнительно — сумма в копейках и назначение платежа. Если какое-то обязательное поле отсутствует или содержит ошибку, приложение банка либо не распознает код, либо подставит неверные данные, и платёж уйдёт не туда.

Отдельно стоит код СБП. Его нельзя сформировать самостоятельно из реквизитов: payload создаёт участник СБП (банк или платёжный сервис) по договору. Поэтому если цель — именно оплата через СБП, путь один: подключить сервис и получать код от провайдера, а в 1С лишь выводить готовое изображение или ссылку.

Способ 1: внешняя печатная форма счёта

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

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

Порядок действий для внешней печатной формы
  1. 1
    Получите или разработайте внешнюю обработку печатной формы счёта с QR-кодом
  2. 2
    Откройте «Администрирование» → «Печатные формы, отчеты и обработки» и включите дополнительные отчеты и обработки
  3. 3
    Загрузите файл обработки в справочник дополнительных обработок
  4. 4
    Привяжите форму к документу «Счёт на оплату» и сохраните
  5. 5
    Откройте тестовый счёт, вызовите новую печатную форму
  6. 6
    Отсканируйте QR-код банковским приложением и сверьте реквизиты и сумму

Способ 2: доработка макета в конфигураторе

Если конфигурация снята с полной поддержки или уже дорабатывается, QR-код добавляют прямо в макет печатной формы счёта. В конфигураторе откройте макет счёта, добавьте область под изображение и в модуле менеджера документа (или в общем модуле печати) допишите код: соберите платёжную строку из реквизитов организации и документа, сформируйте картинку кода и выведите её в подготовленную область.

Данные для строки берите из документа и справочников, а не зашивайте константами: организация, банковский счёт, сумма и номер счёта меняются от документа к документу. Сумму переводите в копейки без разделителя, назначение платежа формируйте из номера и даты счёта. Особое внимание — кодировке строки: кириллица в назначении платежа должна кодироваться корректно, иначе банковское приложение покажет нечитаемый текст или откажется принимать код.

bsl
ПлатежнаяСтрока = "ST00012|Name=" + НаименованиеОрганизации + "|PersonalAcc=" + РасчетныйСчет + "|BankName=" + НаименованиеБанка + "|BIC=" + БИК + "|CorrespAcc=" + КоррСчет + "|Sum=" + Формат(Сумма * 100, "ЧГ=") + "|Purpose=" + НазначениеПлатежа;

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

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

Никогда не отправляйте клиентам счёт с новым QR-кодом, не проверив его реальным сканированием. Откройте банковское приложение на смартфоне, отсканируйте код с экрана или с распечатки и сверьте каждое поле: получатель, ИНН, счёт, БИК, сумма, назначение. Проверку делайте минимум в двух разных банковских приложениях — распознавание может отличаться.

Проверьте и печатную версию: код должен быть достаточно крупным (ориентировочно от 2–3 сантиметров по стороне), контрастным, без искажений пропорций и без наложения текста. Размытый или мелкий код сканируется нестабильно, и клиент просто не сможет оплатить.

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

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

Сканирование банковским приложением
Норма

Приложение распознаёт код и подставляет все реквизиты

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

Код не читается или поля пустые/неверные

Сумма платежа
Норма

Совпадает с суммой счёта до копейки

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

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

Назначение платежа
Норма

Читаемый текст с номером счёта

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

Крякозябры или пустое поле

Печатный вид
Норма

Код крупный, чёткий, без искажений

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

Мелкий, размытый, растянутый

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

Чаще всего проблемы возникают из-за суммы: в формате она указывается в копейках целым числом, и если забыть умножить на сто или оставить разделитель, приложение банка покажет сумму в сто раз меньше или не примет код. Вторая частая ошибка — устаревшие реквизиты: при смене расчётного счёта организации забывают, что код формируется из данных на момент печати, и старые распечатанные счета становятся опасными — деньги могут уйти на закрытый счёт.

Ограничения тоже есть. Не все банковские приложения одинаково обрабатывают необязательные поля, поэтому минимальный набор обязательных реквизитов надёжнее, чем перегруженная строка. Длинное назначение платежа увеличивает плотность кода и ухудшает читаемость — сокращайте его до разумного минимума. И помните: QR-код на счёте — это удобство, а не замена контроля оплаты; сверку поступлений ведите по выписке как обычно.

Типичные ошибки
01
Сумма в рублях вместо копеек — приложение банка показывает сумму в сто раз меньше
02
Зашитые в код константные реквизиты — при смене счёта платежи уходят по старым данным
03
Неправильная кодировка кириллицы — назначение платежа нечитаемо
04
Слишком мелкий QR-код на печатной форме — клиенты не могут его отсканировать
05
Отправка счетов без тестового сканирования — ошибка обнаруживается только после жалоб клиентов

Что выбрать в вашей ситуации

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

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

В списке печатных форм счёта уже есть вариант с QR-кодомИспользуйте штатную форму и только проверьте корректность реквизитов
Нужна оплата через СБПЗаключите договор с банком или платёжным сервисом и подключите штатный обмен — код будет формировать провайдер
Типовой поддержки нет, конфигурация на полной поддержкеИспользуйте внешнюю печатную форму — она не нарушит обновления
Конфигурация уже доработана и есть разработчикДоработайте макет счёта и модуль печати с программной генерацией кода
Итог

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

Сначала проверьте штатные возможности конфигурации, затем выбирайте между внешней печатной формой и доработкой макета. Сумму кодируйте в копейках, реквизиты берите из документа, а готовый код обязательно проверяйте сканированием из банковского приложения до отправки счетов клиентам.

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

Можно ли добавить QR-код на счёт без программиста?

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

QR-код сканируется, но сумма не подставляется. В чём причина?

Чаще всего сумма в строке кода указана в рублях, а формат требует копейки целым числом, либо в числе присутствует разделитель разрядов или десятичная точка. Проверьте формирование этого поля: сумма должна быть целым числом без пробелов и символов валюты.

Будет ли работать самодельный QR-код с реквизитами в любом банке?

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

Что делать при смене расчётного счёта организации?

Если QR-код формируется из данных документа и справочников, новые счета будут печататься с актуальными реквизитами автоматически. Опасны старые распечатанные бланки и счета, сформированные до смены счёта: их нужно изъять из оборота, чтобы платежи не ушли на закрытый счёт.

Нарушит ли доработка печатной формы обновление конфигурации?

Внешняя печатная форма не затрагивает конфигурацию и не мешает обновлениям. Изменение типового макета и модуля печати в конфигураторе снимает эти объекты с полной поддержки: обновления продолжат устанавливаться, но за доработанными объектами придётся следить и при необходимости переносить изменения вручную.

Можно ли вывести на счёт QR-код со ссылкой на онлайн-оплату вместо реквизитов?

Да, если у вас подключён платёжный сервис, который выдаёт ссылку на оплату конкретного счёта. В этом случае в код зашивается не платёжная строка, а URL, и при сканировании клиент попадает на страницу оплаты. Учтите, что такая ссылка обычно имеет срок действия, поэтому её нужно формировать для каждого счёта отдельно.