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

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

Как настроить QR-код в 1С: пошаговая инструкция

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

QR-код в 1С чаще всего требуется для трёх задач: печать платёжного кода на счетах по ГОСТ Р 56042-2014, вывод кода маркировки «Честный ЗНАК» в УПД и документах отгрузки, а также произвольные ссылки и идентификаторы на этикетках и бланках. В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, Комплексная автоматизация, ERP) механизм генерации уже встроен, и настройка сводится к включению нужных опций и проверке макета печатной формы.

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

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

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

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

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

Код маркировки (DataMatrix) — это не QR в строгом смысле, но в 1С его часто называют «кьюар кодом». Он выводится в УПД и товарных накладных при обороте маркированных товаров и формируется автоматически из данных по кодам маркировки, введённым в документ. Здесь задача настройки — убедиться, что коды корректно попадают в печатную форму и электронный документ.

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

Включите QR-код на счёте в типовой конфигурации

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

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

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

Включение платёжного QR-кода на счёте
  1. 1
    Проверьте заполнение карточки организации: ИНН, наименование
  2. 2
    Проверьте банковский счёт: номер счёта, БИК, корсчёт
  3. 3
    Откройте настройки печати счетов и включите вывод QR-кода
  4. 4
    Сформируйте тестовый счёт и нажмите «Печать»
  5. 5
    Отсканируйте код приложением банка и сверьте реквизиты

Настройте вывод кода маркировки в УПД и накладных

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

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

Для электронного документооборота коды маркировки передаются в составе УПД автоматически — отдельная настройка не требуется, но формат файла должен соответствовать актуальной версии приказа ФНС. При сбоях приёмки у контрагента первым делом сверяйте версию формата в настройках обмена ЭДО.

Добавьте произвольный QR-код в макет через конфигуратор

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

Генерация картинки выполняется в модуле менеджера печати: формируется строка с данными, затем вызывается функция генерации двумерного кода. В типовых конфигурациях на базе БСП есть готовый программный интерфейс, который возвращает двоичные данные картинки или помещает её во временное хранилище. Результат присваивается рисунку макета при выводе области.

bsl
// Пример: генерация QR-кода средствами БСП
СтрокаДанных = "ST00012|Name=ООО Ромашка|PersonalAcc=40702810100000000001|BankName=ПАО Банк|BIC=044525225|CorrespAcc=30101810400000000225|Sum=150000";
ДанныеQR = ГенерацияШтрихкода.ДанныеQRКода(СтрокаДанных, 0, 190);
Если ДанныеQR <> Неопределено Тогда
    Рисунок.Картинка = Новый Картинка(ДанныеQR);
КонецЕсли;

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

Строку платёжного кода собирайте строго по формату: поля разделяются символом «|», каждое поле — пара «Имя=Значение». Лишние пробелы вокруг разделителей, кириллица в именах полей или пропущенный обязательный параметр — самые частые причины, по которым банковское приложение не видит код.

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

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

Проверочная процедура: распечатайте тестовый документ на том принтере, которым пользуются сотрудники, отсканируйте код минимум двумя разными приложениями (приложением банка и универсальным сканером QR), сверьте каждое поле с исходными реквизитами документа. Для платёжного кода дополнительно проверьте, что сумма в приложении совпадает с суммой счёта и назначение платежа заполнено.

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

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

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

Код распознаётся мгновенно, данные совпадают

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

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

Сканирование с распечатки
Норма

Читается с первого раза на рабочем принтере

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

Читается через раз или не читается — увеличьте размер и коррекцию

Сумма и реквизиты в приложении банка
Норма

Все поля совпадают со счётом

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

Сумма неверная или назначение пустое — ошибка в строке данных

Код маркировки в УПД
Норма

Коды присутствуют по каждой маркируемой строке

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

Часть строк без кодов — проверьте заполнение документа

Типичные ошибки и способы их устранения

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

Третья группа ошибок — содержательная: в код попадают реквизиты не того банковского счёта (в организации несколько счетов, а в документе выбран не основной) или сумма без учёта частичной оплаты. Здесь помогает только сверка данных документа с тем, что реально уходит в строку генерации.

Типичные ошибки
01
Сборка строки платёжного кода с пробелами вокруг разделителей — банковское приложение отклоняет код
02
Доработка макета в рабочей базе без копии — ошибочные счета уходят клиентам до обнаружения проблемы
03
Использование старой внешней печатной формы — код маркировки не выводится, хотя в документе он есть
04
Слишком маленький размер картинки в макете — код не сканируется с распечатки
05
Изменение реквизитов банка без проверки — в код уходят устаревшие БИК или корсчёт

Когда типовых средств недостаточно

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

Способы генерации QR-кода

Типовая настройка печатной формы

Подходит для платёжного кода на счёте и маркировки в УПД; не требует доработок, но ограничена предусмотренными конфигурацией сценариями

Доработка макета в конфигураторе

Позволяет вывести любой код в любую форму; требует навыков разработки и обновления при смене релиза

Внешние компоненты и сервисы

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

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

Итог

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

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

Частые вопросы

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

Чаще всего нарушен формат строки: поля должны разделяться символом «|» без пробелов, имена полей — латиницей, обязательные реквизиты (ИНН, счёт, БИК) — заполнены. Вторая причина — слишком мелкая или нечёткая печать: увеличьте размер картинки и уровень коррекции ошибок.

Можно ли вывести QR-код без доработки конфигурации?

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

QR-код и DataMatrix — это одно и то же?

Нет, это разные стандарты двумерных кодов. Платёжные реквизиты кодируются в QR, маркировка «Честный ЗНАК» — в DataMatrix. В 1С для каждого типа используется свой параметр генерации, и взаимозаменяемы они не являются.

Код читается с экрана, но не читается с распечатки. Что делать?

Проверьте качество печати принтера и увеличьте размер кода в макете до 2–3 см. Также повысьте уровень коррекции ошибок при генерации — это делает код устойчивее к нечёткой печати и небольшим повреждениям бумаги.

Опасно ли менять макет печатной формы самостоятельно?

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