Фоновый сервис событий в Simple UI. Релиз Июнь 2021

15.06.21

Разработка - Мобильная разработка

В новом релизе появился постоянно висящий в памяти сервис для обработки внешних событий – штрихкодов, голосового ввода, сообщений от других программ и внутренних процессов. Который может управлять программой поверх стандартных процессов – что то спрашивать голосом, что то озвучивать(ассистент), показывать диалоги, запускать процессы и экраны, отправлять управляющие команды. С помощью этого можно получить многоплановый интерфейс и более удобное взаимодействие с пользователем не только через экран и ввод, но и с помощью событий голосового ввода и других средств взаимодействия. Эта статья является дополнением к основной статье по Simple UI: https://infostart.ru/public/1153616/

В конфигурации можно поставить галку и фоновый сервис будет запускать вместе с программой. Это постоянно висящий процесс, который работает даже когда программа закрыта. Можно настроить его выключение при полном завершении основного приложения либо он может работать даже если основное приложение выгружено из памяти (тогда завершить его можно вручную в шторке уведомлений). Надо сказать что в платформе и так уже есть фоновые сервисы – по расписанию и асинхронное выполнение скриптов питона, но технологически это другие сервисы и функционал у них другой. Это – неубиваемый foreground service к нему у Андроида особое отношение. Кроме того обработчики в этом сервисе и на 1С и на Python, а не только на Python.


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

События которые регистрирует сервис:

  1.  события штрихкода Bluetooth в режиме SPP, сканер ТСД через подписку на интент (не HID)
  2.  Голосовой ввод команд в фоне
  3.  Подписка на сообщения от любой другой программы. Например от сканера меток или какого то сервиса.
  4.  Любая команда через встроенный в приложение веб сервис. 
  5.  Любая команда из Экрана или ActiveCV, события из других обработчиков например по расписанию

Виды управления, доступные в обработчике сервиса:

 

  1.  исполнить общую команду без контекста : озвучка текста, звук, тост и т.д. См. «Общие команды» . Все что без контекста будет исполнено даже если приложение закрыто, заснуло. Например Переменные.Вставить(“toast”,”Привет мир”) выведет это сообщение поверх других программ
  2.  диалог поверх любых окон в программе. В любом режиме (во время работы с процессом, в Active CV, просто в меню) будет выведен кастомный модальный диалог, результат нажатия вернется в сервис «onResultPositive», «onResultNegative». Работа с диалогом стандартная. 
  3. запуск голосового ассистента. См. далее Голосовой ассистент.
  4. запустить процесс и экран. Запускает любой процесс и любой экран процесса командой "ShowProcessScreen" в значении надо указать JSON с процессом и экраном. Например так: Переменные.Вставить("ShowProcessScreen","{""process"":""Некий процесс"",""screen"":""Экран 1""}");
  5. сгенерировать событие ввода для экрана или ActiveCV или например для плиточного главного экрана. Т.е. можно передать команду и управление действующему процессу.


Фоновый голосовой ассистент


Это не совсем такой ассистент как Гугл или Алиса, в том плане что активируется он не по голосовой команде, а  по событиям от сервиса – например сканированию штрихкода или каким то другим. Т.е. он слушает микрофон в фоне но после того как получил команду, а не постоянно прослушивает микрофон для активации. 


Основное назначение фонового голосового ввода – освободить руки в моменты, где программа может что то спросить и получить ответ – спросить «да/нет» на заданный вопрос (например, «Завершить приемку?»), спросить количество, спросить готовность начать процесс и т.д. Это несложные для системы распознавания тексты, которые обрабатываются потом в вашем коде 1С или Python. С помощью фонового сервиса создается многоплановый интерфейс – на первом плане экраны или ActiveCV, фоном озвучка и чтение речи и еще поверх могут быть выведены диалоговые элементы. Это локальные вставки голоса и распознавания речи в тех местах где это уместно, а не классический pick-by-voice где голосовой интерфейс полностью заменяет визуальный интерфейс. Например вы можете сказать «покажи план-факт» и она откроет экран «план-факта» на устройстве а не будет перечислять голосом сколько еще осталось сканировать. Т.е. эти вставки дополняют интерфейс, делают его более удобным.  


Управление процессами и экранами


Из фонового сервиса можно запустить любой процесс конфигурации и открыть в нем любой экран с помощью команды ShowProcessScreen. Например можно отсканировать документ и начать работать с ним ничего ен нажимая в меню, отсканировать метку ворот и начать приемку, отсканировать этикетку груза и начать процесс работы с ним. Ну и т.д. Голосовой ассистент может показывать экраны. Сканирование RFID может запустить процесс на ТСД. В общем применений много.


Генерация событий для процессов


В обработчике сервиса можно генерировать события ввода для текущих экранов или шагов Active CV т.е. передавать управление. Например в видео результат распознавания голоса генериует событие для ActiveCV (аналогично можно сделать для экрана) и оно обрабатывается уже в обработчике ввода там. 
Кстати можно генерировать события обновления для плиток главного меню. Можно сделать например конфу с главным меню в виде плиток с количеством отсканированных объектов и обновлять счетчики на плитках со сканера вообще не запуская экраны. Т.е. ходить, сканировать и на плитках будет выводиться «отсканировано столько то и столько то». 


Диалоги в любом месте программы в любое время


Можно получив событие извне вывести модальный диалог (а он полностью переопределяемый – туда можно натолкать все что угодно) поверх люого экрана программы – процесса, меню и active cv. Т.е. например можно вывести вопрос «Примешь задание такое то?»  или наоборот оповещение о том что коллективная сборка заказа подходит к концу.


Фоновый «общий модуль» с возможностью асинхронного выполнения и возврата коллбека отправителю

Ну и наконец можно выполнять длительные процессы и передать управление по их завершению или выполнять какие то иные действия. Всегда по рукой есть модуль в фоне в котором можно что то параллельно основному UI-потоку запустить при желании получив событие завершения.

 

Прочие дополнения в релизе

 

 

  • Теперь можно отключать верхний заголовок экрана. Задается на уровне экрана. Актуально для маленьких экранов.
  • В главном меню команды меню влезают в заголовок в зависимости от разрешения. Актуально для маленьких экранов
  • Можно переопределять шапку штрихкодов в ActiveCV – актуально для длинных штрихкодов. Например можно выводить только значащие символы или вообще свою метку. Делается через список "object_caption_list". Например Переменные.Вставить("object_caption_list","[{""object"":""4602193012608"",""caption"":""12608""}]");
  • Можно задавать списки ActiveCV не через «;» а через «>>>» - для случаев когда «;» встречается в штрих-коде
     

мобильная разработка Андроид SimpleUI

См. также

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

2880 руб.

03.12.2018    57102    182    103    

169

1С-программирование Мобильная разработка Программист Стажер Платные (руб)

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

12900 руб.

08.06.2023    8022    13    0    

53

SALE! 25%

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    35794    94    161    

190

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    94383    547    187    

311

Мобильная разработка Мобильная платформа Абонемент ($m)

В этом релизе собрано много нового из области интерфейса, связи, хранения и важные новые способы управления. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

25.06.2024    1935    22    informa1555    0    

33

Мобильная разработка WEB-интеграция Программист Мобильная платформа Абонемент ($m)

В SimpleWEB добавились средства для работы с графикой и отслеживание событий мыши, в онлайн редактор https://seditor.ru:1555/ добавился «Векторный редактор» на этом API. Теперь можно нарисовать схемы складов на ПК, сделать карты (*.sug-файлы) для мобильной платформы SimpleUI, выводить данные из 1С в графическом виде. Таким образом, API для работы с векторными файлами теперь есть и в веб- и в мобильной платформе, а также средства для создания и редактирования векторных файлов есть тоже в обеих платформах.

1 стартмани

20.03.2024    2026    1    informa1555    1    

44

Мобильная разработка Языки и среды 1С:Элемент Программист Бесплатно (free)

Flutter может быть использован с 1С:Предприятием для разработки кроссплатформенных мобильных приложений, обеспечивая единый интерфейс и функциональность на устройствах под управлением iOS и Android. Это позволяет создавать приложения с высокой производительностью благодаря использованию собственного движка рендеринга Flutter. Интеграция Flutter с 1С:Предприятием позволяет создавать мобильные приложения любого уровня сложности, интегрировать их в корпоративные информационные системы, а также реализовывать бизнес-логику

19.03.2024    13226    ROk_dev    69    

43
Оставьте свое сообщение