...

Распознавание штрихкодов и QR-кодов видеокамерой

Тема в разделе "Описание бизнес-решений", создана пользователем kurbatov-la, 31 мар 2023.

  1. kurbatov-la

    kurbatov-la Активный участник

    Назначение решения
    Модуль позволяет с помощью видеокамеры распознавать 1D/2D коды и передавать значение в контекстную переменную.
    Ссылка на решение в ELMA365 Store
    Поддерживаемые форматы
    QR Code, Data Matrix, Aztec, PDF417, UPC-A, EAN-8, EAN-13, Code-39, Code-128, ITF, RSS-14.
    Состав решения
    В модуль входит виджет с настройками режима работы камеры и типом распознаваемого кода.
    Ограничения



      • Работает только по https
      • Мобильное приложение не поддерживается из-за ограничений работы камеры. Работает только через браузер.
    Настройки виджета
    Необходимо включить модуль, перейти в редактор форм и выбрать виджет:
    upload_2023-3-31_14-59-43.png
    Доступны следующие настройки:
    upload_2023-3-31_15-2-21.png
    Варианты распознавания:

    • Распознать и остановить камеру - после успешного распознавания кода, камера выключится.
    • Распознавать непрерывно - после успешного распознавания кода, камера останется включённой и готовой к распознаванию следующего кода
    Формат кода:
    • QR Code
    • Data Matrix
    • Aztec
    • PDF417
    • Barcode для форматов UPC-A, EAN-8, EAN-13, Code-39, Code-128, ITF, RSS-14
    Скрыть результат распознавания:
    • Да - результат в виджете будет отсутствовать
    • Нет - результат будет виден непосредственно в нижней части виджета:
      upload_2023-3-31_15-16-23.png
    Выводить служебную информацию в консоль браузера:
    • Да - в браузере в консоли инструментов разработчика будет выводиться системная информация. Она может пригодиться при диагностике проблем
    • Нет - рекомендуемое значение для работы
    Результат - ваша контекстная переменная с типом Строка, в которую будет передаваться распознанное значение кода.




    Пример использования
    Имеем раздел, содержащий страницу и приложение Номенклатура.
    upload_2023-3-31_15-35-1.png

    Страница Ридер QR-кодов содержит следующие контекстные переменные:
    upload_2023-3-31_15-28-35.png


    Приложение Номенклатура содержит строку со значениями QR-кода.
    По значению QR-кода будем находить элемент приложения Номенклатура и отображать его на странице.
    upload_2023-3-31_15-32-7.png

    Виджет имеет следующие настройки:
    upload_2023-3-31_15-37-43.png

    Имеем следующие записи в приложении Номенклатура:
    upload_2023-3-31_15-39-29.png

    В настройках формы есть клиентский сценарий на изменение значения контекстной переменной Распознанная строка
    upload_2023-3-31_15-41-59.png



    Вложения:

    Последнее редактирование: 6 июл 2023
  2. kurbatov-la

    kurbatov-la Активный участник

    Код сценария:
    Код:
    
    async function resultOnChange(): Promise<void> {
        
    Context.data.nomenclature undefined;
        if(
    Context.data.recognized_string) {
            
    Context.data.nomenclature await Context.fields.nomenclature.app.search()
                    .
    where(=> d.__deletedAt.eq(null))
                    .
    where(=> c.qrCode.eq(Context.data.recognized_string!))
                    .
    first();
        }
    }
    В результате успешного распознавания QR-кода камера выключится, а страница будет содержать найденный элемент приложения Номенклатура:
    upload_2023-3-31_15-48-41.png
    Последнее редактирование: 3 апр 2023
  3. Kidaev

    Kidaev Участник

    Т.е. можно использовать камеру смартфона или планшета из веб-версии?
  4. kurbatov-la

    kurbatov-la Активный участник

    Да, работает через мобильный браузер.