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

Короткий ответ

В первой статье про QR-коды в Битрикс24 мы разобрали основные сценарии: оплату, документы, склад, производство, пропуска и другие задачи.
Здесь продолжение для тех, кто уже использует Универсальный Генератор QR-кодов и дошёл до практической настройки.

Разберём вопросы, которые реально возникали у пользователей:

  • почему после изменения суммы QR остаётся старым;
  • как сформировать QR для платежного поручения;
  • как добавить НДС;
  • как работать с реквизитами нескольких компаний;
  • почему генерация может задерживаться в коробочном Битрикс24;
  • что проверять, если QR перестал появляться в смарт-процессе;
  • почему ссылка из QR открывается в браузере, а не в мобильном приложении Битрикс24.

Почти все эти ситуации объясняются одним принципом:
генератор берёт подготовленное значение и превращает его в QR-код. Он не пересчитывает данные сделки и не определяет самостоятельно, что именно нужно закодировать.

Поэтому при диагностике сначала нужно смотреть на данные, которые фактически передаются генератору.

Как работает Универсальный Генератор QR-кодов

После установки приложения в сущности Битрикс24 появляются технические поля.
Основные:

  • [QR-LINK.FIX4.ORG] Что кодируем - значение, которое должно оказаться внутри QR;
  • [QR-LINK.FIX4.ORG] Фото кода - изображение сгенерированного QR;
  • [QR-LINK.FIX4.ORG] Сгенерировать QR - ручной запуск повторной генерации.

Поля Универсального Генератора QR-кодов в Битрикс24
Ключевое поле - Что кодируем.
В него вручную или через автоматизацию сначала передаётся готовое значение. После этого приложение создаёт изображение QR.

Упрощённо цепочка выглядит так:
данные Битрикс24 -> Что кодируем -> генерация -> изображение QR

Если QR содержит неправильную информацию, сначала нужно проверить не изображение, а значение в Что кодируем.

Почему после изменения суммы QR остаётся старым

Один из вопросов в поддержку выглядел примерно так:

В сделке изменили сумму и товары. Ссылка на оплату показывает новую сумму, а после повторной генерации QR внутри остаётся старая. Почему?

Причина может находиться до этапа генерации.
Например, сумма сделки изменилась, но строка в Что кодируем осталась прежней.
Тогда повторный запуск просто создаст новый QR из старого значения.

Правильная последовательность:

  1. Изменяется сумма или другой исходный параметр.
  2. Автоматизация заново собирает кодируемую строку.
  3. Обновляется Что кодируем.
  4. Запускается генерация QR.
  5. Полученный QR проверяется сканированием.

Это относится не только к платежам. Если через QR передаётся ссылка, телефон, номер заказа, идентификатор, назначение платежа или любое другое динамическое значение, при изменении исходных данных необходимо обновить и строку для генератора.

Как сформировать QR для платежного поручения

Для платежного сценария внутри QR может находиться специальная текстовая строка с банковскими реквизитами.
Один из распространённых форматов начинается с ST00012.
Пример без реальных реквизитов:

ST00012|Name=[Получатель]|PersonalAcc=[Расчетный счет]|BankName=[Банк]|BIC=[БИК]|CorrespAcc=[Корреспондентский счет]|PayeeINN=[ИНН]|Purpose=[Назначение платежа]|Sum=[Сумма]

Здесь:

  • Name - получатель платежа;
  • PersonalAcc - расчётный счёт;
  • BankName - наименование банка;
  • BIC - БИК;
  • CorrespAcc - корреспондентский счёт;
  • PayeeINN - ИНН получателя;
  • Purpose - назначение платежа;
  • Sum - сумма.

В Битрикс24 эту строку можно собирать автоматически из данных сделки и связанных сущностей.
После сборки готовая строка передаётся в поле Что кодируем.

Важный момент с суммой

В формате платежного QR поле Sum указывается в копейках.
Например:

Sum=125000

означает 1 250 рублей.

Поэтому недостаточно просто подставить в это поле любое отображаемое значение суммы из Битрикс24.
Нужно понимать, что именно возвращает используемое поле:

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

И уже после этого формировать значение Sum.

Видео: QR для платежного поручения

Ниже показан один из практических вариантов формирования платежного QR в Битрикс24.

Открыть видео на Rutube
Открыть видео на YouTube

Видео записано на более ранней версии интерфейса Битрикс24, поэтому его задача здесь - показать сам принцип формирования платежной строки и QR-кода, а не актуальное расположение каждого элемента интерфейса.

Как добавить НДС

НДС и общая сумма платежа - разные части платежной строки.
Если информацию о НДС нужно показать в назначении платежа, она входит в Purpose.
Например, в одном из рабочих сценариев использовалась конструкция:

Purpose=Оплата по счету, в т.ч. НДС 20% {{Сумма налога в валюте учёта}} рублей|Sum={{Сумма}}00|

Здесь:

  • Purpose содержит текст назначения и сумму НДС;
  • Sum содержит общую сумму платежа.

Сам генератор QR не рассчитывает налог.
Значение НДС должно быть рассчитано или получено из Битрикс24 до передачи строки генератору.
Отдельно нужно проверить конструкцию:

{{Сумма}}00

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

Можно ли использовать несколько компаний и разные реквизиты

Можно. Для генератора нет отдельного понятия “первая компания” или “вторая компания”.
Он получает готовую строку.
Поэтому автоматизация может сначала определить нужное юридическое лицо, затем подставить соответствующие реквизиты и только после этого запустить генерацию.
Например:
Компания А -> реквизиты А -> строка -> QR
Компания Б -> реквизиты Б -> строка -> QR

Выбирать набор реквизитов можно по:

  • направлению сделки;
  • юридическому лицу;
  • подразделению;
  • виду услуги;
  • пользовательскому полю;
  • другому условию автоматизации.

То есть задача нескольких компаний решается на этапе подготовки данных.
Генератор после этого выполняет одну и ту же операцию.

Когда для обычного платежного QR приложение вообще не нужно

Если задача сводится к обычному счёту с российскими банковскими реквизитами, сначала стоит проверить штатные возможности Битрикс24.
В текущем Битрикс24 платежный QR можно добавлять непосредственно в документы при наличии необходимых российских банковских реквизитов.

Поэтому Универсальный Генератор нужен не потому, что Битрикс24 вообще не умеет создавать QR для оплаты.
Он полезен в тех случаях, когда требуется собственная логика.
Например:

  • нестандартная кодируемая строка;
  • передавать назначение платежа;
  • выбор реквизитов по условиям;
  • QR нужен в смарт-процессе;
  • QR формируется не только для платежа;
  • изображение должно использоваться дальше в собственной автоматизации.

Сначала определяется задача, а уже потом выбирается инструмент.

Почему QR может долго генерироваться в коробочном Битрикс24

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

Поэтому в коробочной версии нужно проверить:

  • актуальность коробочного Битрикс24;
  • серверное окружение;
  • выполняются ли фоновые задания;
  • как настроены агенты;
  • работает ли cron, если выполнение вынесено на него;
  • с какой периодичностью он запускается;
  • отправляются ли системные события;
  • нет ли ошибок в журнале или серверных логах.

Рекомендация просто переключить все агенты на хиты без диагностики здесь неправильна. Конкретная схема зависит от конфигурации портала.
Задача диагностики - определить, на каком участке цепочки появляются несколько минут ожидания. Если сама коробка или серверное окружение давно не обновлялись, отдельно стоит проверить подход к обновлению сервера коробочного Битрикс24.

Что делать, если QR перестал формироваться в смарт-процессе

В другом случае QR перестал появляться именно в смарт-процессе.
Один из способов, который использовался в поддержке, - переустановка приложения администратором и повторная генерация тестового элемента.
Но переустановка не объясняет причину сбоя и не должна быть первым универсальным действием.

Сначала имеет смысл проверить один конкретный элемент:

  1. Заполнено ли поле Что кодируем.
  2. Меняется ли его значение при работе автоматизации.
  3. Срабатывает ли ручная повторная генерация.
  4. Появляется ли сообщение приложения в таймлайне.
  5. Работает ли генерация в другой поддерживаемой сущности.
  6. Проблема относится к одному смарт-процессу или ко всему порталу.

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

Почему после сканирования открывается браузер, а не приложение Битрикс24

Ещё один реальный сценарий:
клиент приезжает за заказом, показывает QR, сотрудник склада сканирует его телефоном, а внутри находится ссылка на нужную сделку Битрикс24.
Ожидание - карточка откроется в мобильном приложении.
Фактически может открыться браузер.

Здесь нужно разделять две части процесса.
Генератор отвечает за данные, находящиеся внутри QR.
Если туда записана ссылка, после сканирования генератор уже не участвует в процессе.

Дальше поведение зависит от:

  • самой ссылки;
  • операционной системы;
  • настроек телефона;
  • браузера;
  • установленного приложения;
  • механизма обработки ссылок мобильным приложением Битрикс24.

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

Что ещё можно кодировать

Платёжная строка - только один вариант. Генератор может работать с разными текстовыми значениями.
Например:

  • ссылкой;
  • номером телефона;
  • коротким текстом;
  • электронной визиткой;
  • платежными реквизитами;
  • идентификатором заказа;
  • ссылкой на комплект документов;
  • значением для пропуска.

Поэтому правильнее воспринимать приложение как технический блок:
данные Битрикс24 -> индивидуальный QR
Бизнес-процесс определяет, какие данные попадут внутрь и что должно произойти после сканирования.

Что проверить перед запуском в рабочий процесс

Наличие картинки QR в карточке ещё не означает, что процесс настроен правильно.
Перед запуском стоит пройти всю цепочку на тестовом объекте.

1. Проверить исходные данные

Убедиться, что сумма, реквизиты, ссылки и остальные значения правильные.

2. Проверить Что кодируем

Посмотреть готовую строку до генерации.
Для платежного сценария отдельно проверить сумму и назначение.

3. Сгенерировать QR

Убедиться, что изображение действительно появилось.

4. Отсканировать его

Проверять нужно не только изображение, но и фактический результат сканирования.

5. Изменить исходные данные

Например, поменять сумму сделки.

6. Убедиться, что изменилась кодируемая строка

Это позволяет проверить связь между бизнес-данными и генератором.

7. Повторить генерацию

В новом QR должно находиться уже новое значение.

8. Проверить все ветки

Если используются несколько компаний или несколько вариантов назначения платежа, нужно проверить каждый сценарий.

9. Проверить конечный носитель

Если QR вставляется в PDF, печатается на документе или этикетке, проверить нужно именно этот конечный вариант.

10. Не помещать внутрь секреты

QR легко считать обычной камерой.
Пароли, токены, ключи API и другие секретные значения внутри него хранить нельзя.

Как быстрее диагностировать проблему

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

  • в сделке новая сумма, а в Что кодируем старая - ошибка находится до генерации;
  • строка правильная, но изображение не появляется - проверяем генерацию и обмен событиями;
  • QR содержит правильную ссылку, но открывается не там - проблема находится уже после генерации;
  • код нормально считывается с монитора, но плохо работает после печати - проверяем конечный документ и размер изображения.

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

Когда подходит Универсальный Генератор QR-кодов

Приложение подходит, когда нужно взять собственное значение из процесса Битрикс24 и автоматически получить из него индивидуальный QR.
Например:
сделка -> платежные данные -> QR
заказ -> индивидуальная ссылка -> QR
смарт-процесс -> идентификатор -> QR
заявка -> данные пропуска -> QR
Универсальный Генератор QR-кодов опубликован в Битрикс24 Маркете.

Если после сканирования нужно дополнительно менять статус, регистрировать операцию, проверять права пользователя или обращаться во внешнюю систему, генератор становится только одним элементом решения. Тогда отдельно проектируется автоматизация вокруг него.

Если нужно решить похожую задачу

Для начала полезно описать не приложение, а сам процесс:

  • где находятся исходные данные;
  • когда должен появляться QR;
  • что должно находиться внутри;
  • кто его сканирует;
  • каким устройством;
  • какой результат ожидается после сканирования.

После этого можно определить, достаточно ли штатного Битрикс24, Универсального Генератора QR-кодов или нужна дополнительная автоматизация, интеграция либо разработка.

FAQ

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

Сначала проверьте поле «Что кодируем». Если после изменения сделки кодируемая строка не пересобралась, повторная генерация создаст новый QR из старого значения.

Как сформировать QR-код для платежного поручения в Битрикс24?

Нужно подготовить платежную строку с реквизитами, назначением и суммой, передать её в поле «Что кодируем» и только после этого запускать генерацию QR.

Как добавить НДС в платежный QR-код?

Информацию о НДС можно включить в назначение платежа в параметре Purpose. Сам генератор QR налог не рассчитывает, поэтому сумма НДС должна быть получена или рассчитана в Битрикс24 заранее.

Можно ли формировать QR-коды с реквизитами нескольких компаний?

Да. Автоматизация может выбирать нужное юридическое лицо, собирать соответствующую строку с реквизитами и передавать её генератору.

Почему QR-код долго генерируется в коробочном Битрикс24?

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

Что делать, если QR перестал формироваться в смарт-процессе?

Проверьте конкретный тестовый элемент: заполнено ли поле «Что кодируем», меняется ли оно, работает ли ручная генерация и возникает ли проблема только в одном смарт-процессе или во всём портале.

Почему ссылка из QR открывается в браузере, а не в приложении Битрикс24?

Генератор отвечает только за ссылку внутри QR. После сканирования способ открытия зависит от операционной системы, типа ссылки, браузера, настроек устройства и механизмов мобильного приложения Битрикс24.

Нужно встроить QR в процесс Битрикс24?

Необязательно начинать с выбора приложения или технической реализации.

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

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

Прислать задачу в MAX

Позвонить: +7 926 633-99-31