Векторная графика в Simple UI. Октябрь 2022

04.10.22

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

В симпл добавлена возможность использовать в экранах векторные графические объекты, нарисованные в векторном редакторе или сгенерированные из кода, управлять ими из обработчиков (онлайн и оффлайн) и многое другое, с этим связанное. Дополнение к основной статье https://infostart.ru/public/1153616/

Введение

Общая идея – возможность размещения в контейнерах экранов графического поля (поля карты), в котором есть некий рисунок(схема), состоящая из объектов, к которым можно обратиться из кода по тегам (теги устанавливаются в редакторе), которые взаимодействуют с пользователем (пользователь может, например, нажимать) – т.е. объекты не только отображаются, но и генерируют события, которые можно обработать в обработчике. Для чего нужно? Графика воспринимается лучше текста, поэтому мы, например, используем карты, навигацию, схемы, диаграммы и т.д. Это ускоряет время принятия решений и в частности, из карт, например, складов можно извлечь много пользы помимо чисто визуалки.

В общем случае работа с графикой начинается с векторного редактора, где создается sug-файл (по сути JSON с объектами, размещенными на схеме). Потом этот файл прицепляется через Медиафайлы в редакторе, размещается в контейнере и далее с ним можно работать из обработчиков. Но такой вариант  необязательный – файла может не быть. Схема склада, например может быть сгенерирована из кода. Еще есть так называемый «режим холста» уже  непосредственно в «экранах», где можно работать с хостом в пользовательском режиме - делать заметки на фотографиях или отчетах, печатных формах.

Представленные в этом релизе возможности - это пока самая база, чтобы обозначить направления, архитектуру, формат. С чего-то надо было начинать. Проект будет развиваться параллельно, будут добавляться графические примитивы, возможности редактирования и т.д.

 

Работа с картами (складов, стеллажей и т.д.)

 

 

Можно нарисовать карту склада (вид сверху), каких то отдельных стеллажей (вид во фронт) или еще какие то схемы, связанные с ячейками, адресами и т.д.

Ячейки имеют адреса, по которым можно обращаться из кода – например, можно покрасить каким то цветом, с помощью команды map_highlight_cells 

Можно перехватить событие от пользователя нажатия а ячейку (причем два – нажатие и отпускание) и обработать в обработчике (например, также покрасить). На картинке ниже крашу в зеленый:

 


 

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

Например:

hashMap.put("map_add_move",json.dumps([{"from":"1-2","to":"2-2"},{"from":"2-2","to":"3-5"},{"from":"3-5","to":"7-2"},{"from":"7-2","to":"9-5"},{"from":"9-5","to":"13-4"}]))

Есть также режим навигации (прокладка маршрута) между входами ячеек. Этот режим пока нуждается в  переосмыслении и доработке. Для этого в редакторе указываются "входы" ячеек и далее алгоритм простраивает по свободному пространству наикратчайший путь.

 

 

Можно сгенерировать карту из кода – т.е. взять пустой холст, указать некие условные размеры командой map_set_size и добавить ряды с ячейками командой map_add_rows. Это на случай, если есть в распоряжении координаты ячеек. Ну или нужно сгенерировать что-то условное.

Например вот 2 цикла - карта генерируется из кода:

rowslist=[]
  cellsize = 75
  shifty = 0
  n=0
  for i in range(3):
    shiftx=0
    for j in range(5):
      n+=1
      rowslist.append({"x":20+shiftx,"y":30+shifty,"row_count":5,"column_count":1,"cell_size":cellsize,"tags":[[str(n)+"-1",str(n)+"-2",str(n)+"-3",str(n)+"-4",str(n)+"-5"]]})
      shiftx+=1*cellsize+90
    shifty+=5*cellsize+100  
  
  hashMap.put("map_clear_rows","")
  hashMap.put("map_add_rows",json.dumps(rowslist)) 
  hashMap.put("map_add_move",json.dumps([{"from":"1-2","to":"2-2"},{"from":"2-2","to":"3-5"},{"from":"3-5","to":"7-2"},{"from":"7-2","to":"9-5"},{"from":"9-5","to":"13-4"}]))

 

И вот результат:

 

 

Какие применения есть у конкретно карт?

 



•    Показ маршрутов
•    Показ места на полках
•    Пользовательский ввод ячеек нажатием
•    Тепловые карты (оборачиваемость по ячейкам, заполненность ячеек и т.д.)
•    Обсчет, оценка оптимальности маршрутов для алгоритмов подбора маршрутов

 

Прочие векторные объекты, doodle интерфейс

 

 

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

Сейчас видов графических примитивов немного, но планируется развивать проект параллельно с симплом.

Надписи на форме можно задавать в виде симпловских переменных (через @) , можно организовать поле ввода там же (через &).

Можно использовать awesome- иконки также как в обычном симпле через #

Что можно делать с этими объектами:

1.    Получать события нажатия и отпускания (в случае текстового ввода еще событие ввода текста)

2.    Раскрашивать в любой цвет

3.    Делать видимым / невидимым

 


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

 

Режим холста


Чтобы добру не пропадать зря, помимо вышеперечисленных применений есть еще возможность имплементировать в обычные экраны режим редактирования (режим холста), где пользователь может почеркаться на какой-нибудь картинке либо пустом холсте, а потом это все вместе забрать в виде уже готовой картинки или файла из обработчика экрана.

Тут есть пара применений:

1. Фоткать и сразу что-то помечать на фото (например, дефекты). 

 


 

2.И есть еще такая возможность, как почеркаться на любой печатной форме  (они в симле - html, подробнее в статье тут //infostart.ru/1c/articles/1716745/) Это могут быть банальные росписи подписантов документа или, например, какие-то заметки в анкете. Это делать удобнее на планшете и стилусом, но за неимением можно в режиме скретча/зума  и на маленьком экране. Вот например:

 

 

Примеры лежат в комплекте разработчика в основной статье //infostart.ru/public/1153616/

Также подписывайтесь на мой телеграмм канал, чтобы быть в курсе событий https://t.me/devsimpleui

Вот видео с описанием возможностей и "как работать":

 

 

 

Android SimpleUI карта векторная графика

См. также

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

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

13200 руб.

27.12.2021    38193    108    161    

201

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

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

3000 руб.

03.12.2018    59288    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    97216    586    189    

321

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

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

3450 руб.

28.04.2023    9468    15    0    

9

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

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

7000 руб.

25.05.2022    4643    1    0    

6

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

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

1 стартмани

23.08.2024    1215    6    informa1555    1    

13

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

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

1 стартмани

25.06.2024    2604    29    informa1555    0    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bavkyz 4 04.10.22 08:34 Сейчас в теме
Добрый, с чего начать использовать Вашу разработку, у меня 1с Альфа-Авто 5.1. и 6?
2. informa1555 2715 04.10.22 08:58 Сейчас в теме
(1) Добрый день! Симпл - большая платформа по которой много материалов и примеров, но с простыми базовыми принципами. Начать лучше с "онлайн-режима" - обработчики с мобильного устройства будут обрабатываться на веб сервисе 1С. Конфигуратор лучше использовать "новый" - в комплекте разработчика в виде отдельного исполняемого файла. Хотя до марта 2022 конфигуратор был на 1С и в нем множество примеров -ее тоже можно посмотреть. В комплекте разработчика есть пример расширения который ставится на 1С для выполнения обработчиков онлайн, соотвественно в 1С вы все и прописываете. Например команды в этой статье также их 1С можно помещать в Переменные и они будут исполняться на устройстве, из него же вы будете получать события. Быстрый старт по работе с "новым" конфигуратором есть тут https://uitxt.readthedocs.io/ru/latest/gettingstarted.html
8. giaprog 05.10.22 08:43 Сейчас в теме
(2) ... может не в тему поста, но для ознакомления (разработки) работы SimpleUI в связке Конструктор+1с-обработчики можно использовать переписанное (вернее с добавлением функционала) расширение Split. Сделал на скорую руку, проверял на 8.3.21.1302. Расширение ставится на любую конфигурацию. Код обработчика вынесен в справочник, есть подсветка синтаксиса, конструктор запроса, конструктор форматной строки (Исходники брал тут https://github.com/salexdv/bsl_console - Благодарность разработчикам!!!).
Качайте, используйте https://disk.yandex.ru/d/Ng1cv_mTJrAJUg. Благодарю!
Прикрепленные файлы:
informa1555; +1 Ответить
3. user1466751 18 04.10.22 09:15 Сейчас в теме
(1)
По опыту лучше вообще не привязываться к 1С)
1С сама по себе, приложение мобильное на ТСД/телефоне само по себе. Пишите сразу на питоне (местная ORM вполне понятна) и юзайте локальную базу данных на устройстве.
При использовании в связке с 1С и исполнении обработчиков на 1С столкнетесь с плохим сигналом вифи на складе и все, пользовательский опыт будет отвратительным, не "продадите" идею бизнесу.
4. informa1555 2715 04.10.22 09:25 Сейчас в теме
(3) Ну не везде же плохой вайфай. Где то покрытие принципиально хорошее. Например в большой логистике(операторы) вообще нет смысла в оффлайне и локальном хранении - логика волновой сборки не будет работать, только онлайн строго. Более того где то даже через телефон работает (не склады) А так да, если писать на питоне то можно получить и оффлайн и онлайн и псевдоонлайн в одном флаконе.
5. bavkyz 4 04.10.22 09:32 Сейчас в теме
(2) (3) Спасибо за ответ, но не нашел никаких ссылок для скачивания по вашей ссылке выше ...
6. informa1555 2715 04.10.22 09:49 Сейчас в теме
(5) упс. Поправил ссылку.
7. giaprog 05.10.22 08:13 Сейчас в теме
Добрый день. Будем разбираться. Так и 3D ближе!!! Благодарю.
informa1555; +1 Ответить
9. kivals 5 06.10.22 12:40 Сейчас в теме
День добрый.
Пробую разбираться с SimpleUI - падаю на шаге документации:
...и перезапустите приложение (либо нажать в главном меню Обновить приложение). На устройстве должно появиться меню конфигурации – развертывание прошло успешно.

У меня ничего не появляется, в то время как адрес (скорректированный из QR кода) браузером на мобильном открывается нормально - загружает конфигурацию редактора
Куда копать? Что смотреть? Есть ли где-то логи?
Прикрепленные файлы:
video_2022-10-06_12-39-52.mp4
10. informa1555 2715 06.10.22 13:27 Сейчас в теме
(9) Добрый день! Хмм... Очень странно. Никогда такого не встречал. Попробуйте ui-файл закинуть на устройство и открыть симплом?
11. kivals 5 06.10.22 14:20 Сейчас в теме
(10) А вот тоже не нашел где выбрать файл )
Подскажите, что пропустил: в главном меню не вижу такого пункта, в настройках - тоже.
12. kivals 5 06.10.22 14:41 Сейчас в теме
(11) А, провтыкал слово "открыть". Да, так заработало - буду двигаться дальше, спасибо
13. informa1555 2715 06.10.22 14:50 Сейчас в теме
(12) Это не есть конечно решение, т.к. через файл подходит для распространения конечным клиентам, но неудобно для разработки (когда коммитить изменения надо мгновенно). Поэтому лучше конечно разобраться с сервисом... Может там vpn или что то такое. Попробуйте на другом может дейвасе?
14. al_zzz 301 29.11.22 14:17 Сейчас в теме
Здравствуйте, Дмитрий! А можно пользоваться векторной графикой в онлайн режиме?
- Хотелось бы формировать онлайн схему склада и раскрашивать ячейки в зависимости от наполнения.
Но непонятно, как сделать такой контейнер("поле карты") в конструкторе 1С и как указать в нём путь к файлу sig.
15. informa1555 2715 29.11.22 15:05 Сейчас в теме
(14) Здравствуйте! 100% можно. В конструкторе 1С я уже больше полугода ничего не делаю, все новые релизы на новом конструкторе. Вы пишете конфу на нем, обработчики в 1С (сплит режим). Там все через команды-переменные поэтому в 1С все будет.
Оставьте свое сообщение