Документы и Печать · 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-кода настраивается в параметрах печатной формы счёта: при формировании печати откройте настройки формы и отметьте вывод кода оплаты. Если типовая форма не содержит такой опции в вашем релизе, код добавляется через изменение макета — об этом ниже.
- 1Проверьте заполнение карточки организации: ИНН, наименование
- 2Проверьте банковский счёт: номер счёта, БИК, корсчёт
- 3Откройте настройки печати счетов и включите вывод QR-кода
- 4Сформируйте тестовый счёт и нажмите «Печать»
- 5Отсканируйте код приложением банка и сверьте реквизиты
Настройте вывод кода маркировки в УПД и накладных
Для маркированных товаров коды DataMatrix выводятся в печатные формы автоматически, если в документе реализации заполнены коды маркировки по строкам товаров. Убедитесь, что в документе на вкладке с товарами по каждой маркируемой позиции подобраны коды — через сканирование, подбор из остатков или загрузку из файла.
Если коды в документе есть, а на печати их нет, проверьте используемый макет: возможно, документ печатается по старой внешней печатной форме, созданной до появления маркировки. Внешние печатные формы не обновляются вместе с конфигурацией, и код маркировки в них нужно добавлять отдельно в конфигураторе или просить у разработчика формы.
Для электронного документооборота коды маркировки передаются в составе УПД автоматически — отдельная настройка не требуется, но формат файла должен соответствовать актуальной версии приказа ФНС. При сбоях приёмки у контрагента первым делом сверяйте версию формата в настройках обмена ЭДО.
Добавьте произвольный QR-код в макет через конфигуратор
Когда типовой опции нет, QR-код добавляют в макет печатной формы вручную. Откройте конфигуратор, найдите нужный макет (обычно это макет печатной формы документа), добавьте в нужную область рисунок и в его свойствах укажите, что он будет заполняться программно.
Генерация картинки выполняется в модуле менеджера печати: формируется строка с данными, затем вызывается функция генерации двумерного кода. В типовых конфигурациях на базе БСП есть готовый программный интерфейс, который возвращает двоичные данные картинки или помещает её во временное хранилище. Результат присваивается рисунку макета при выводе области.
// Пример: генерация QR-кода средствами БСП
СтрокаДанных = "ST00012|Name=ООО Ромашка|PersonalAcc=40702810100000000001|BankName=ПАО Банк|BIC=044525225|CorrespAcc=30101810400000000225|Sum=150000";
ДанныеQR = ГенерацияШтрихкода.ДанныеQRКода(СтрокаДанных, 0, 190);
Если ДанныеQR <> Неопределено Тогда
Рисунок.Картинка = Новый Картинка(ДанныеQR);
КонецЕсли;Ключевые параметры генерации — уровень коррекции ошибок и размер. Низкий уровень коррекции даёт компактный код, но он хуже читается при нечёткой печати; для платёжных кодов используйте коррекцию не ниже средней. Размер картинки подбирайте так, чтобы код на бумаге был не меньше примерно 2×2 см — мелкие коды камеры телефонов распознают нестабильно.
Строку платёжного кода собирайте строго по формату: поля разделяются символом «|», каждое поле — пара «Имя=Значение». Лишние пробелы вокруг разделителей, кириллица в именах полей или пропущенный обязательный параметр — самые частые причины, по которым банковское приложение не видит код.
Проверьте результат сканированием
Появление картинки на печатной форме — только половина настройки. Код считается рабочим, когда он корректно сканируется с распечатки, а не только с экрана: принтеры часто «замыливают» мелкие элементы, и код, читаемый на мониторе, на бумаге может не распознаться.
Проверочная процедура: распечатайте тестовый документ на том принтере, которым пользуются сотрудники, отсканируйте код минимум двумя разными приложениями (приложением банка и универсальным сканером QR), сверьте каждое поле с исходными реквизитами документа. Для платёжного кода дополнительно проверьте, что сумма в приложении совпадает с суммой счёта и назначение платежа заполнено.
Как проверить результат
Код распознаётся мгновенно, данные совпадают
Код не читается или поля пустые
Читается с первого раза на рабочем принтере
Читается через раз или не читается — увеличьте размер и коррекцию
Все поля совпадают со счётом
Сумма неверная или назначение пустое — ошибка в строке данных
Коды присутствуют по каждой маркируемой строке
Часть строк без кодов — проверьте заполнение документа
Типичные ошибки и способы их устранения
Чаще всего проблемы сводятся к нескольким повторяющимся ситуациям. Первая — код есть, но банковское приложение его не распознаёт: почти всегда причина в нарушении формата строки (лишние пробелы, неверный разделитель, пропущенное обязательное поле). Вторая — код не печатается вовсе: либо отключена опция вывода, либо документ печатается по устаревшей внешней печатной форме.
Третья группа ошибок — содержательная: в код попадают реквизиты не того банковского счёта (в организации несколько счетов, а в документе выбран не основной) или сумма без учёта частичной оплаты. Здесь помогает только сверка данных документа с тем, что реально уходит в строку генерации.
Когда типовых средств недостаточно
Встроенный генератор 1С закрывает большинство задач, но есть сценарии, где нужны альтернативы: массовая печать этикеток с уникальными кодами, интеграция с внешними системами, требования к специфическим форматам. В таких случаях используют внешние компоненты генерации штрихкодов или формируют картинки во внешнем сервисе и подставляют в макет.
Способы генерации QR-кода
Подходит для платёжного кода на счёте и маркировки в УПД; не требует доработок, но ограничена предусмотренными конфигурацией сценариями
Позволяет вывести любой код в любую форму; требует навыков разработки и обновления при смене релиза
Нужны для массовой печати этикеток и нестандартных форматов; добавляют зависимость от стороннего ПО и требуют контроля лицензий
Выбирайте самый простой работающий вариант: если типовая опция закрывает задачу, дорабатывать макет не нужно — каждая доработка усложняет обновление конфигурации. Доработку оправдывают только требования, которых нет в типовом решении: нестандартное расположение кода, дополнительные данные в строке, печать на этикетках специального формата.
Что важно запомнить
QR-код в 1С — это картинка, сгенерированная из заранее собранной строки. Включите типовую опцию или добавьте код в макет, соберите строку строго по формату, а результат обязательно проверьте сканированием с распечатки. Все доработки выполняйте в копии базы.
Частые вопросы
Почему банковское приложение не распознаёт QR-код со счёта?
Чаще всего нарушен формат строки: поля должны разделяться символом «|» без пробелов, имена полей — латиницей, обязательные реквизиты (ИНН, счёт, БИК) — заполнены. Вторая причина — слишком мелкая или нечёткая печать: увеличьте размер картинки и уровень коррекции ошибок.
Можно ли вывести QR-код без доработки конфигурации?
Да, если речь о платёжном коде на счёте или кодах маркировки в УПД — в актуальных типовых конфигурациях это штатные опции. Произвольный код (ссылка, номер заказа) в макете, где его не предусмотрено, потребует доработки через конфигуратор.
QR-код и DataMatrix — это одно и то же?
Нет, это разные стандарты двумерных кодов. Платёжные реквизиты кодируются в QR, маркировка «Честный ЗНАК» — в DataMatrix. В 1С для каждого типа используется свой параметр генерации, и взаимозаменяемы они не являются.
Код читается с экрана, но не читается с распечатки. Что делать?
Проверьте качество печати принтера и увеличьте размер кода в макете до 2–3 см. Также повысьте уровень коррекции ошибок при генерации — это делает код устойчивее к нечёткой печати и небольшим повреждениям бумаги.
Опасно ли менять макет печатной формы самостоятельно?
Сама правка макета безопасна, если выполняется в копии базы, а в рабочую переносится после проверки. Риск — в содержимом: ошибка в строке реквизитов приведёт к платежам по неверным данным, поэтому каждую изменённую форму проверяйте сканированием до выкладки.