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