Упрощение Python в SimpleUI и другое

04.03.24

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

Этот релиз во многом зеркален предыдущему релизу "JavaScript в Simple" и статья местами повторяется. Так и задумано. Просто общая цель релиза – добавить еще один упрощенный подход для работы с python в SimpleUI – без внешних файлов, без работы в отдельном IDE – все через новый редактор и другие фичи для упрощения, аналогичные релизу JS. Это не замена старому подходу, а альтернатива. Для простых проектов – этого более чем достаточно. Например, все примеры к статьям я буду выпускать именно с обработчиками в виде pythonscript – так удобнее. Дополнение к статье https://infostart.ru/1c/tools/1153616/

Новый вид обработчика pythonscript


В новом редакторе (https://seditor.ru:1555/) появился новый вид обработчика - pythonscript. В отличие от других python-обработчиков, где указывалось имя функции, тут просто пишется код и все.  Не надо проваливаться в py-файл, находить функцию и т.д. Такое было в те времена, когда редактор был на 1С, но вот сейчас, с подсветкой кода от prism и другими техническими усовершенствованиями, это наконец-то стало удобно.

 

 

 

Общий модуль сразу в редакторе и использование модулей.

Скриптовый подход хорош, но где-то хранить глобальные переменные иногда все же надо. Да и какие-то общие классы и функции - тоже. В старом подходе – это модуль обработчиков или дополнительные модули. Кстати, все подключаемые дополнительные модули также могут импортироваться в pythonscript обработчиках тоже. Но чтобы не выходить из редактора во внешнее IDE, также добавлен сразу модуль для работы из редактора непосредственно.

 


Импорт делается так

import general

 

Упрощенные функции платформы, которые работают run-time.


Все функции доступны через команды-переменные, но часто это не совсем удобно. Например, надо вывести тост внутри долгого обработчика или обновлять уведомление внутри цикла, а не после выполнения такта обработчика (а стек-машина выполняет команды-переменные по окончанию такта). Поэтому я собрал все подобные функции в python- модуль android и теперь их можно использовать так.
Данный модуль доступен не только из pythonscript, но и из остальных python обработчиков

import android

android.toast("hello")


Еще раз напомню – это именно run-time на уровне системы, т.е. выполняется непосредственно.

Справочник почти аналогичен JS, просто SQL и NoSQL у пайтона доступны из других модулей.

Интерфейсные команды:

  • toast(String toast) – вывести сообщение Андроид 
  • speak(String text) – произнести текст (TTS engine)
  • listen() – запустить ожидание распознавания речи
  • vibrate() и vibrate(int duration) – вибрация и вибрация заданной длительности
  • beep()/beep(int tone)/ beep(int tone,int beep_duration,int beep_volume) – звуковой сигнал, т.ч. с возможностью выбрать тон (от 1 до 99), продолжительность и громкость (по умолчанию – 100)
  • notification(String message)/ notification (String message,String title)/ notification(String message,String title,int number) – уведомление в шторке уведомлений. Number – идентификатор уведомления, по которому к нему можно потом обратиться, чтобы либо убрать, либо перезаписать (обновить)
  • notification_progress(String message,String title,int number,int progress) – уведомление с прогресс-баром (от 0 до 100)
  • notification_cancel(int number) – скрыть уведомление

Прочее:

RunEvent(String handlers) – запустить массив обработчиков
BackgroundCommand(command) – запустить фоновую команду
stop() или stop(hashMap) – точка останова для отладки

Справочник(модуль) будет пополняться по мере развития платформы. Следите за обновлениями.

 

Пошаговая отладка в онлайн-редакторе


Тут все показано на видео. Надо сказать, что давно есть еще один способ отладки https://uitxt.readthedocs.io/ru/latest/debug.html Однако он требует определенных телодвижений каждый раз - нужно переносить функции, подлежащие отладке на сервер, чтобы обращаться к ним онлайн, в отличии от этого способа. 

Замечание: отладка не добавлена на seditor.ru, она будет работать только на локальном редакторе (надо скачать с GithHub, развернуть, запустить у себя). Лежат исходники тут и там же инструкция из 4-х пунктов: https://github.com/dvdocumentation/web_simple_editor

 

 

Python 3.11


В новом релизе включена версия python 3.11. Быстрее выполнение кода (относительно 3.8 на около 25%), новые фичи, типизация и другие улучшения. Правда с оговоркой – в комплекте разработчика 2 версии: 3.8 с OpenCV, lxml и Python 3.8 и соответственно с Python 3.11 и без означенных библиотек. На 3.11 пока 2 эти библиотеки не завелись. В Google Play – версия с python 3.11, а OpenCV туда изначально не проходила по размеру (в Google Play ограничение 100Мб). Еще раз напомню что для прод-проектов рекомендуется ставить из apk из комплекта чтобы защититься от неожиданностей (я конечно тестирую релизы, но...)

 

Упрощенная разметка полей ввода

 


Немного не в теме публикации, но штука, которая экономит время и размер конфы. Если надо добавить поля ввода с заголовком, то раньше надо было сделать 3 элемента:


1.    Горизонтальный контейнер и  в нем 2 элемента
2.    Надпись
3.    Поле ввода


Сделал для SimpleUI и SimpleWEB такое упрощение: теперь можно просто разместить 1 элемент ввода с заголовком типа <Текст заголовка>|<заполнение по умолчанию> и это будет аналогично ранее описанному варианту с контейнером+2 элемента в нем. Это доступно для всех полей ввода, кроме Современного поля ввода (у него другая суть).

 

 

 

Немного про симплификацию и прекрасное будущее


Данный релиз является логическим завершением ряда мероприятий по упрощению разработки на симпле. Этот своеобразный маневр начался со смены редактора и стека его разработки (для чего был предварительно прокачан SimpleWEB). Теперь редактор на веб, написан на SimpleWEB что дает несколько преимуществ: тот же стек разработки что и на SimpleUI – можно править под себя, это просто; под веб доступно множество фишек, такие как подсветка синтаксиса, без которой pythonsript и js обработчики смотрелись бы совершенно не так, и другие фичи, которые постепенно будут внедряться на нем; редактор доступен сразу и везде – разработчик может открыть средство разработки на любом компьютере, связать со свои устройством и начать разработку, не нужно развертывание. В целом этот стек выглядит как простой в поддержке и готовом к дальнейшему развитию. Скриптовый подход, такой как js и pythonscript имеет преимущества – не нужны другие файлы и средства разработки и ткнув на событие сразу проваливаешься в обработчик и начинаешь редактировать, все необходимое хранится в одном ui-файле и ничего, кроме браузера, не нужно, чтобы разрабатывать свое андроид или веб-приложение на Simple.

Также отмечу, что я последовательно продолжаю двигаться от энтропии к упорядоченному, повышая уровень структурированности и унификации подходов к разработке. Даже самые сложные фронтовые решения (а SimpleUI и SimpleWEB, даже если это самостоятельные приложения, в общем корпоративном ИТ-ландшафте - фронты) получаются декомпозированные до простых и однообразных скриптов и элементов.  Скрипты, будь то UI-элементы, локальное хранение(в случае с NoSQL SimpleBase) или передача данных – это по сути работа с JSON в том или ином виде и ничего больше – JSON, JSON, JSON… Это будет еще более выражено в ходе дальнейшего развития собственной СУБД и шины данных. Такая структурированность – хорошая основа для использования генеративного ИИ GPT  для генерации решений – меньше степеней свободы – меньше ошибок, проще разбираться и править то что сгенерировано.

 

Примеры к релизу, как всегда, в основной статье //infostart.ru/1c/tools/1153616/

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

Simple python

См. также

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

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

13200 руб.

27.12.2021    38188    108    161    

201

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

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

3000 руб.

03.12.2018    59284    192    103    

172

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 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    97206    586    189    

321

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

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

3450 руб.

28.04.2023    9465    15    0    

9

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Финансовые услуги, инвестиции Управленческий учет Платные (руб)

Мобильное приложение и конфигурация 1С для автоматической торговли на бирже через API Тинькофф банка. Достаточно задать настройки, нажать «Пуск», и робот сам торгует ежедневно.

7000 руб.

25.05.2022    4641    1    0    

6

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

Экспериментальный релиз и простенький скрипт к нему закрывает потребности в любых видах синхронизации между устройствами Simple и между Simple и бек-системами (например 1С). По сути – это очень простой python-скрипт, который можно запустить на доступной машине, сервере или VPS и он будет связывать клиентские устройства между собой и с 1С или другими бек-системами. В самой платформе появилось для этого множество доработок для поддержки стабильного постоянного соединения, докачки больших файлов и работе в фоне. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

23.08.2024    1212    6    informa1555    1    

13

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

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

1 стартмани

25.06.2024    2596    28    informa1555    0    

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