Модуль "QR Scanner Pro: Сканер QR кодов с поддержкой callback функций"
Модуль позволяет сканировать QR-коды и штрихкоды прямо на сайте без установки дополнительных приложений. С его помощью можно организовать учет и поиск товаров, регистрацию участников мероприятий, проверку билетов, работу с заявками и многое другое. Вы можете настроить переход на нужную страницу или подключить собственную PHP-функцию, которая определит, что делать с результатом сканирования. Готовые примеры помогают быстрее начать работу, а гибкая настройка компонента позволяет адаптировать его под разные сценарии и дизайн сайта.
Какие коды распознает?QR Scanner Pro поддерживает распознавание QR-кодов, популярных двумерных кодов и линейных штрихкодов, которые используются в торговле, логистике, документообороте и других сферах.
QR Code – ссылки, контакты, текстовые данные и JSON.
Data Matrix – коды маркировки товаров, в том числе используемые в системе «Честный ЗНАК».
Aztec – электронные билеты и посадочные талоны.
PDF417 – документы, удостоверения и транспортные билеты.
EAN-13, EAN-8, UPC-A и UPC-E – распространенные товарные штрихкоды.
Code 128, Code 39, Code 93 и ITF – складская и логистическая маркировка, накладные и транспортная упаковка.
Codabar – коды, применяемые в отдельных библиотечных, медицинских и учетных системах.
Распознавание выполняется непосредственно на устройстве пользователя: модуль использует встроенные возможности браузера, если они недоступны, то JavaScript-механизм распознавания. Это позволяет считывать коды в современных браузерах без установки отдельного приложения.
1. Функциональные возможности модуляСканирование в режиме реального времени. Пользователь открывает страницу сайта и наводит ее на код. Сканер использует основную (заднюю) камеру устройства, код распознается автоматически без нажатия кнопки.
Сканирование из файла. Если камера недоступна, можно загрузить фотографию или скриншот с QR-кодом либо штрихкодом и считать данные из изображения.
Два режима обработки результата. Callback-функция позволяет передать содержимое кода в вашу PHP-функцию, а ее ответ показывается пользователю во всплывающем окне без перезагрузки страницы. Редирект позволяет отправить пользователя на указанную страницу.
Готовый обработчик для быстрого старта. В коробку входит пример обработки, который отображает JSON в виде списка, делает ссылки кликабельными, а обычный текст выводит без дополнительного форматирования.
Готовые демонстрационные страницы. После установки автоматически создается раздел <code>/qr/</code> с примерами работы обоих режимов обработки. Их можно использовать для знакомства с возможностями модуля и проверки его работы.
Размещение на любых страницах сайта. Компонент <code>digimatix:qr.scanner</code> можно разместить на любую страницу или шаблон сайта. Для разных страниц можно настроить отдельные сценарии и параметры.
Настройка внешнего вида. Шаблон компонента можно скопировать и изменить под дизайн сайта, настроив оформление, подсказки и другие элементы интерфейса.
Адаптивный интерфейс. Сканер подходит для использования на смартфонах и планшетах.
- Универсальность: реализует любые сценарии после сканирования (авторизация, верификация билетов, инвентаризация, приёмка, акции).
- "Быстрый старт": рабочий пример и раздел /qr/ доступны сразу после установки.
- Простая интеграция: поставил компонент на страницу — работает.
- Гибкость дизайна: свои шаблоны, стили, подсказки, рамки наведения.
- Масштабируемость сценариев: разные параметры компонента на разных URL под задачу.
- Минимум настроек для маркетинга/контента; расширяемость для разработчиков.
Интернет-магазины и розничные точки для поиска товара по штрихкоду, проверки маркировки, открытия карточки товара по QR-коду.
Организаторам мероприятий для проверки электронных билетов и регистрации посетителей.
Складам и логистическим компаниям для приема и учета товаров, сверки остатков и логистики продукции.
Сервисным компаниям для размещения QR-наклеек на оборудовании и быстрого перехода к связанной заявке, карточке объекта или форме обращения.
Компаниям с учетом посещаемости для регистрации сотрудников, учеников, участников мероприятий с помощью индивидуальных QR-кодов.
Ресторанам, кафе и гостиницам для создания электронного меню, перехода к страницам бронирования и программам лояльности, а также создания собственных сценариев работы с QR-кодами.
- Установите модуль. После установки автоматически появится раздел "/qr/" с компонентом digimatix:qr.scanner. Его можно использовать как готовую страницу для проверки работы сканера.
- Выберите способ обработки QR-кода или штрихкодов: callback, URL-режим или собственных обработчик.
"Callback:" укажите в параметрах компонента функцию, например `Digimatix\QrScanner\Functions::ExampleQr($_REQUEST["data"]);` Реализуйте собственный обработчик, который получает `$_REQUEST["data"]` и выполняет нужные действия (запись в БД, показ модалки, редирект и т.п.).
"URL-режим": задайте URL, на который будет передан параметр с данными кода (GET/POST по настройке).
- Настройте внешний вид. При необходимости скопируйте шаблон компонента в шаблон сайта и измените оформление, подсказки и рамку наведения, чтобы сканер соответствовал дизайну проекта.
- Настройте сценарии для разных задач. Разместите компонент на нужных страницах и задайте для каждой свои параметры.
<?php
namespace Digimatix\QrScanner;
class Functions {
public static function ExampleQr($data): void {
// Валидация/логирование
if (!is_string($data) || $data === '') { http_response_code(400); return; }
// Бизнес-логика: сохранить/проверить/уведомить
// \Bitrix\Main\Mail\Event::send([...]); // пример отправки письма
// Опционально: вывести ответ (если используете шаблон компонента)
echo 'OK';
}
}
- Исправлена уязвимость удаленного выполнения кода в ajax-обработчике компонента: имя callback-функции больше не принимается из запроса, а передается подписанным параметром компонента; добавлена проверка sessid.
- Исправлен XSS при выводе содержимого QR-кода (пример ExampleQr и страница /qr/redirect/).
- Совместимость с PHP 8.2+: убраны предупреждения и deprecated (динамические свойства, неопределенные ключи массивов, отсутствующий vendor/autoload.php).
- Устранен конфликт имен класса компонента и класса модуля.
- Исправлено подключение страницы "Техподдержка" в административном разделе.
- Обработчики компонента вызываются только из явного списка разрешенных (по умолчанию ExampleQr); собственные обработчики регистрируются событием OnGetAllowedCallbacks модуля - см. инструкцию в административном разделе.
- Страница техподдержки в административном разделе встраивается с ограничениями sandbox и без передачи Referer.

Устанавливается стандартным способом с помощью мастера установки решения.
Для корректной работы модуля необходимо следующее:
Битрикс Управление сайтом в любой редакции или Корпоративный портал Битрикс24 версии 14.0 и выше (Коробочная версия).

Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.





