Распознавание текста с камеры для идентификации объектов
В продолжении темы //infostart.ru/public/1159499/ я встроил в релизную версию Simple UI функционал распознавания и теперь каждый может использовать это в своих решениях. Т.е. это теперь встроено в конструктор экранов и в конструктор документов. Основная статья Simple UI и где все это можно скачать тут: //infostart.ru/public/1153616/
Распознавание текста работает в обычных экранах (в стиле Simple WMS):
И в документах. Помимо этого в документах также добавлены режимы поиска по штрихкоду в списке и голосовой поиск.
Настройка распознавания изображений задается в специальном справочнике. Там же необходимо указать запрос, который будет искать нужный объект в базе. Это реализовано через офлайн поиск не столько изза того, чтобы обеспечить автономность устройства независимо от интернета и доступа к базе, сколько изза скорости работы – анализруется видеопоток в реальном времени и запросы к 1С через HTTP с поиском в 1С слишком долгие. В примере идет поиск к таблице documents но это может быть люая sql таблица с артикулами(либо другими идентификаторами товара) и товарами лишь бы она была на устройстве.
Спасибо Сергею Смирнову за конструктивную критику и идею по улучшению распознавания. Я добавил настройку для повышения точности распознавания благодаря его подсказке.
В настройке распознавания как минимум надо определить запрос к таблице, поле которое будет проверяться по результатам распознавания и настройку соответствия для заполнения переменных полями таблицы. Например в приведенном примере поиск идет по полю таблицы field2 , и в случае успеха заполняются переменные field1,doc и field2
Также для повышения точности поиска можно повысить количество измерений и процент совпадений (минимальная средняя частота). Т.е. например если поставить измерений 10 и частоту 75 то количество измерений будет как минимум 10 (или больше) а победитель должен будет иметь процент совпадений не менее 75%
Распознаются только латинские буквы ну и цифры а также знаки. Если артикул задан в кириллице – ее надо по возможности кодом перевести в латинские буквы похожего написания. Примеры распознавания лучше посмотреть на видео из статьи //infostart.ru/public/1159499/ и в видео в конце статьи
Голосовой поиск в документах
Доработан режим голосового поиска. Теперь если в выдаче находится более одного найденного объекта то это отбор по найденной подстроке. Пример можно посмотреть на видео
Отправка голосовой строки на устройство в режиме ожидания для оповещений
Теперь можно отправлять на веб сервис приложения (да да, в каждом Simple UI встроен свой веб-сервис) текстовую строку, которая будет синтезирована, даже если стоит экран блокировки в качестве оповещения пользователя. Даже если программа свернута строка воспроизведется. Так что лучше предупредить пользователей во избежание неожиданностей)) Реализовано в сервисе для стабильной работы, и в новых релизах приложения будет добавлена еще опция с уведомлением на экране блокировки которая не позволит Андроиду прибить процесс (как например WhatsApp Web).
Замечание: На момент выхода релиза было замечено что когда первый раз отправляешь фразу она срабатывает только со второго раза, т.е. 1й раз приходится отправлять дважды потом уже один раз. Надеюсь исправлю в ближайшее время.
Новый режим вывода таблицы – в виде списка карточек.
С классическим видом таблицы работать не всегда удобно, особенно если много столбцов а экран устройства небольшой. Кроме того в таблице могут быть объекты разной природы. Это сложно представить с точки зрения двумерной таблицы но например в 1С может быть таб часть Товары и таб часть Услуги с разными столбцами – так вот это можно вывести виде одного списка карточек. Поле списка может занимать все пространство документа или его часть (в процентном соотношении)
Ну и видео с кратким обзором всего этого: