Пакет обновлений SimpleUI. Апрель 2023

05.04.23

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

Новые функции мобильной платформы Simple в релизе 11.42. Дополнение к статье https://infostart.ru/public/1153616/

Оборачивание любых обработчиков в прогресс-диалог (runprogress)

 


Любой предположительно-долгий обработчик теперь проще простого обернуть в виде прогресс-диалога, чтобы задержка не выглядела зависанием, а показывала красивое  вращающееся колесико. И для этого не надо ничего писать, просто нужно переключить Действие из run в runprogress. Это для предположительно долгих синхронных обработчиков (runasync напротив, не блокирует экран) в процессах (в ActiveCV и фоновом сервисе – нет). Теперь симпл лучше совместим с неспешными платформами.
В принципе теперь нет нужды запускать это из кода, но на всякий также переработал питон-команду RunPyThreadProgressDef, которая запускает аналогично выполнение функции, переданной в параметре в виде прогресс-бара.

 

Уведомления с прогрессом в шторке уведомлений

 


Из долгих процедур можно отправлять прогресс выполнения в шторку уведомлений, чтобы пользователь понимал, на каком этапе находится выполнение. Доступно только из python-обработчиков. Вызывается методом UpdateProgressNotification из класса SimpleUtilites. В качестве параметра передается json с настройкой, собственно прогресса выполнения, заголовка, тела и id уведомления (по id происходит обновление ранее выведенного уведомления)

 

Проверка биометрии (отпечатки пальцев и распознавание лиц)

 


Если устройство поддерживает датчик отпечатка пальца или распознавание лиц, то можно вызвать стандартный диалог проверки биометрических данных. Причем, можно сделать это при запуске, тогда это будет проверкой на вход в приложение/конфигурацию. А можно просто запустить из процесса. 

Запуск командой "ShowBiometric" где в параметрах настраивается заголовок текст и обработчики, которые будут выполняться в случае успешной аутентификации, неуспешной и ошибки (ошибка – это когда, например биометрия не поддерживается)

 

Диалог проверки ПИН-кода

 


Если, например, нет возможности использовать биометрию, можно использовать экран ввода ПИН-кода в тех же сценариях – при старте и произвольным запуском из процесса. Это именно диалог, причем вся логика – на разработчике (проверка пина, первоначальное обучение и т.д.) Также как в биометрии генерятся события и передается введенный пользователем пин. Можно отключить кнопку «назад», так чтобы диалог висел и не закрывался, пока не будет введен нужный ПИН.

 

Плавающие кнопки (floating action button)

 


Теперь доступны кастомные плавающие кнопки в том же ряду и в том же оформлении, что и кнопки штрихкода, OCR, голоса и т.д. На них нельзя вывести текст, но можно вывести иконку. Либо одну из дефолтных (поле Иконка) либо Awesome по тому же принципу что и везде. Но с Awesome небольшая неприятность – андроидовские функции измерения размера текста не совсем корректно отрабатывают на Awesome - шрифте, из-за этого иконка не всегда отцентрована идеально, поэтому дополнительно можно указать коррекцию по горизонтали и вертикали (показано в примере)

 

Упрощённая поддержка автозаполнения в «Выпадающий список» и «Поле ввода с автозаполнением»

 

Если база – SQL и есть таблицы, которые могут быть источником для автозаполнения, то достаточно написать SELECT-запрос в значении элемента и он автоматически подключится к таблице

 

Поле объекта

 


Это что-то среднее между кнопкой и полем ввода, с выделяющимся дизайном. На самом деле это поле ввода, ввод в который предполагается выбором – т.е. по нажатии на поле должно открыться поле выбора, а после выбора значение встать в поле. Это может быть выбор значения из справочника или документа. Такое широко используется в документно-ориетированных системах, например 1С. 

Доступно событие простого нажатия и долгого нажатия: например по обычному нажатию-выбор значения, по длинному – открыть экран с дополнительной информацией по значению

Предполагается совместное использование с ShowScreen/BackScreen и ShowProcessResult/FinishProcessResult

 

Новые управляющие команды и переменные

 

Переключение внутри процесса

 

BackScreen, без параметра – команда, использующаяся только совместно с ShowScreen, переключает на экран, с которого был запущен ShowScreen.

 

Запуск процессов/экранов с возвратом результата


ShowProcessResult , <имя процесса|имя экрана> запускает процесс и выбранный экран, ожидая что в нем произойдет вызов FinishProcessResult. Стек переменных при этом на запускаемый и запускающий процесс – общий. Для того чтобы обработать именно нужное событие а не просто событие (по умолчанию listener=<имя вызываемого процесса>) совместно с этой командой можно установить имя события, которое будет сгенерировано после вызова FinishProcessResult , командой SetResultListener , <имя события>
 

FinishProcessResult, без параметров – завершает процесс с генерацией события в вызывающем процессе
SetResultListener , <имя события> - устанавливает имя события при завершении процесса

 

Новые стандартные переменные

parent_screen – экран, из которого запущен текущий экран (если он был запущен ShowScreen)
current_process_name – имя текущего процесса
current_screen_name – имя текущего экрана

 

Новые возможности управления полями ввода

 

Подсветка полей ввода

 

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

SetRed, <список переменных полей ввода через “;”> - выделяет список полей красным

SetGreen, <список переменных полей ввода через “;”> - выделяет список полей зеленым

 

Отключение событий

 

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

 

Подключение событий и «Современное поле ввода»


Иногда нужно чтобы введенные данные в поля ввода например сразу писались в БД. Для этого в параметр «Современное поле ввода» добавлен флаг "events" , установка которого в true означает что события будут генерироваться при люом изменении текста, поле при этом будет оставаться в фокусе (перерисовки экрана не происходит)

 

Переопределение поиска в тулбаре

 

 

В кастомные списки карточек (customcards) и кастомные таблицы (customtable) добавлен признак "override_search" суть которого сводится к тому, что поиск не будет производиться по таблице-источнику как при обычном поиске, а будет генерироваться событие Search при каждом вводе текста в поле поиска, чтобы разработчик сам мог выполнить поисковый запрос и заменить значение списка. Поиск автоматический удобен, но какие бы большие списки не поддерживались (а они могут быть и на сотни тысяч записей), всегда есть предел. И если в БД миллионы записей то логичнее искать средствами сервера, выдавая результат поиска. Кроме того пользовательских интерфейс не стоит перегружать слишком большими списками – их неудобно листать.

 

Открытие векторного редактора в режиме редактирования заданного файла

 


Иногда нужно предоставить пользователю самому например нарисовать карту склада, но чтобы он не заморачивался с файлами. Например у вас если справочник зон или складов и к каждому привязана своя карта (ведь карты складов – это очень нарядно и к тому же позволяет на лету решать задачу коммивояжера, что несет в себе положительный экономический эффект) и вы хотите чтобы пользователь открыл, заполнил и закрыл карту. 
Для этого достаточно запустить команду RunVectorEditor, она откроет нужный файл, если его нет – создаст. И из кнопок доступно только сохранение без диалога выбора
 

RunVectorEditor, <путь к файлу карты *.sug> - открывает векторный редактор в режиме редактирования файла, без возможности смены. В случае успешного сохранения будет сгенерировано событие “vector_editor

 

Поддержка функций с произвольным числом аргументов (*args)


Иногда удобно передавать переменные не через стек переменных а через определение функции, но при этом удобно указывать произвольное число аргументов. Для этого добавлен новый тип обработчика – pythonargs и метод можно писать как имя_функции(аргумент1, аргумент2… аргумент N) при этом определние функции 1м параметром все равно должно включать hashMap. 
Функция в конструкторе может выглядеть так
В коде:

def foo(hashMap,*args):
    param1 =  args[0] 
    param2 =  args[1] 
    param3 =  args[2]  

    return hashMap


Поддержка pymongo


О интеграции с NoSQL MongoDB я еще потом подробно напишу и выпущу пару интересных релизов с ее участием. Пока только сообщаю, что библиотека поддерживается. И вот пример подключения и несколько примеров работы. Отмечу что MongoDB с ее JSON-ориентированной работой с документами отлично ложится на симпл- разработку и работать с ней очень и очень просто. Также как и CouchDB, но Mongo более распространённая.

from pymongo import MongoClient

i = 0
mongo_global.py:

def get_database():
 
   # Provide the mongodb atlas url to connect python to mongodb using pymongo
   CONNECTION_STRING ="mongodb://user:password@192.168.1.1:27017/simple_db"
 
   # Create a connection using MongoClient. You can import MongoClient or use pymongo.MongoClient
   client = MongoClient(CONNECTION_STRING)
 
   # Create the database for our example (we will use the same database throughout the tutorial
   return client['simple_db']

mongodb = get_database()

 

test.py:
 

import mongo_global

def mongo_input(hashMap,_files=None,_data=None):
 
  
  
  dbname = mongo_global.mongodb
  collection_name = dbname["user_1_items"]
   item_1 = {
 
  "item_name" : "Oven",
   "price" : 55,
  "category" : "kitchen appliance"
}

  
  collection_name.insert_many([item_1])   
  
  hashMap.put("vibrate","")

  return hashMap

 

Телеграмм-канал проекта, в котором масса всего полезного https://t.me/devsimpleui

Android Simple

См. также

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

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

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

2880 руб.

03.12.2018    55236    139    102    

162

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

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

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

13200 9900 руб.

27.12.2021    33932    83    159    

178

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

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

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

2000 руб.

22.04.2019    92553    522    186    

298

Склад 15 ВЕЩЕВОЙ - автоматизация складов с маркированным товаром

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

Программное обеспечение для автоматизации складских операций со встроенными функциями работы с маркированной продукцией. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения. «Склад 15 ВЕЩЕВОЙ» объединил в себе несколько товарных групп маркированного товара (ОБУВЬ, ОДЕЖДА, ШИНЫ, ПАРФЮМ, БАДы, ЮВЕЛИРНЫЕ ИЗДЕЛИЯ), которые чаще всего встречаются в складской логистике вместе.

33550 руб.

02.06.2023    3067    2    0    

0

Магазин 15 - приемка товара по штрихкодам или инвентаризация в торговом зале

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

Специализированное программное обеспечение для мобильных устройств со встроенным сканером штрихкодов. Позволяет быстро автоматизировать, оптимизировать рабочие места и бизнес процессы по учету товара в магазине. Например, приемку товара по штрихкодам или инвентаризацию прямо в торговом зале.

12950 руб.

30.05.2023    3486    2    0    

4

Работа с графикой в браузере (SimpleWEB). Векторный редактор

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

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

1 стартмани

20.03.2024    1666    0    informa1555    1    

41

Зачем нам 1С:Элемент

Мобильная разработка Языки и среды Бесплатно (free)

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

19.03.2024    9912    ROk_dev    67    

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