Чат и задачи с интерактивными объектами через PostgREST. Новый подход к управлению бизнес-процессами и интерфейсу

17.07.20

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

В новой версии Simple UI появилась возможность организовать свой корпоративный мессенджер и список задач с 1С, но не напрямую, а через PostgreSQL, чтобы не забивать 1С всякими пустяками. Причем не просто чат и задачи, а с множеством уникальных фишек: прием задач прямо из ленты чата, формат статусов в сообщении, старт процессов из задач с предопределенным состоянием переменных и сохранение переменной в задаче, отправка сообщений и задач из процессов и другое. Т.е. это такой новый способ доставки и контроля задач до исполнителя. Кроме того, в этом паке обновлений еще полный инструментарий для работы с JSON.

Данная статья продолжает цикл публикаций по использованию связки 1С + PostgreSQL(PostgREST) + SimpleUI. Предыдущие тут: //infostart.ru/public/1217831/ и тут: //infostart.ru/public/1234475/

 

Введение

Данный подход к организации чата и задач имеет рабочее название «чат с объектами» - это попытка художественного переосмысления интерфейса взаимодействия человека и корпоративной ERP. Дело в том, что так или иначе контроль бизнес процессов чаще всего происходит через те же мессенджеры (Whatsapp, Telegram и т.д.) или какие то десктопные интерфейсы. Т.е. где то в ERP(CRM или другой системе) есть красивые блок схемы бизнес-процессов, но вся информация собирается все равно через какие то каналы взаимодействия и от их удобства зависит эффективность и прозрачность системы контроля бизнес-процессов. Я интегрировал процессы Simple UI с задачами и чатом, чтобы можно было работать прямо из ленты, чтобы вся инфа собиралась прямо в объектах задач – об этом далее. Одним словом чат и задачи это новый способ доставки и контроля выполнения задач на устройства.


Пара слов для понимания что такое «процессы Simple UI» и зачем я засунул их в задачи. SimpleUI – это конструктор и среда выполнения простых задач, т.е. организации форм ввода на устройствах под андроид – телефоны, ТСД и т.д. Часто процесс равен какому бизнес-процессу. Например «принять заказ», «выполнить контроль оборудования» и т.д. Обычно они запускаются из основного меню. Сейчас можно отправлять процессы с конкретными данными инкапсулированные прямо в самих сообщениях – таким образом описание задачи, возможные статусы выполнения этой задачи, исходные данные (например номер заказа, вид цен, контрагент), процесс который должен запуститься при клике на задачу и результат работы этого процесса(данные которые ввел пользователь) – это все упаковывается в один объект-сообщение или объект-задачу.   


Новый функционал помимо стандартной инфраструктуры организации чатов и списков задач включает в себя следующие возможности:

•    Запуск процессов Simple UI прямо из задач с начальными данными. Это могут быть простые одноэкранные объекты(например страничка описания задачи, анкета, карточка контрагента и т.д.) или сложные многоэкранные процессы – например заказ клиента и т.д.
•    Упаковка данных процесса прямо в задачу. Т.е. то что навводил пользователь упаковывается в JSON и хранится в строчке в задаче
•    Прием задач из чата и форматирование возможных статусов задачи индивидуально – простой форматной строкой в тексте сообщения, например {Сделал|Есть затруднения|Отказ}
•    Создание сообщений и задач прямо из процессов – например чтобы не писать в чат о завершении задачи а делать это автоматически, или напрмиер чтобы поставить следующую задачу или например чтобы просто сделать свою форму и логику создания задач и сообщений
•    Установка текущих статусов задач из процессов – процессы сами отмечают статусы задач в соответствии с логикой

Таким образом это взаимосвязанное соединение 3-х сущностей :

 

 

Базовая инфраструктура доставки сообщений и возможности.

 

Базовая инфраструктура доставки сообщений базируется на PostgreSQL + PostgREST – т.е. сообщения и задачи  обмениваются не напрямую с 1С а через прослойку в виде облачной СУБД. Обмен происходит через REST API с помощью PostgREST.


Что касается транспорта сообщений и интерфейса то тут реализованы стандартные возможности:


•    Отложенная отправка и доставка
•    Синхронизация  в фоне чата и задач
•    Синхронизация чата и задач по разным устройствам одного аккаунта
•    Доставка всем (адресат all) или конкретному пользователю
•    Оповещение о задачах, показ невыполненных


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

 

 

Статусы и отправка задач в чате

 

Сообщения с задачами отличаются от обычных сообщений тем, что в них сразу передается набор статусов задачи. Например название задачи

"Проверить комплектность щитового оборудования{*Выполнил|В процессе|~Отмена}"

создаст вот такие кнопки-статусы в задаче как на картинке. Знак «*» перед названием статуса означает что задача выполнена(кнопка зеленая) , «~» - отмена (кнопка красная). В обоих случаях задача уберется из списка задач как завершенная.

 


Создание задач из чата


В чате можно написать сообщение со статусами (как в примере выше) и тогда сообщение будет восприниматься как задача, которую можно принять или отказаться. Например несколько исполнителей и кто то один берет задачу. Как только он нажимает кнопку "Принять" возникает новая задача.

 

 

Создание сообщений из процессов


Из процессов можно создавать сообщения чата. Можно сделать автоматические сообщения при каких то событиях («Прибыл на место», «Начал принимать заказ», «Завершил приемку» и т.д.) т.е. своеобразное логирование событий в чате.  Работать очень просто – одна команда. Можно сделать просто свою форму для отправки сообщений.

 


Создание задач и изменение статусов из процессов

 

Также из процессов можно создавать задачи – простой командой. Например созадвать задачу в зависимости от того как завершится процесс. 

И самое главное – из процессов можно устанавливать статус задачи! Т.е. взял задачу – открылась форма (об этом далее) процесса - что то сделал – программа поставила статус в соответствии с логикой


Процессы(объекты) в ленте чата и задачах

 

 

В сообщение или задачу можно вложить название процесса который будет открываться по клику (поле action). Но это не все. Можно также вложить начальные данные которыми будет инициализирован процесс. В Simple UI все устроено просто – есть «Процесс»(набор экранов по сути) и есть «Переменные» (произвольная куча переменных). Переменные задают все данные в процессе – поля, таблицы, диаграммы и т.д. И они же управляют логикой – переходами между экранами и т.д. Так вот, в запись сообщения или задачи можно добавить JSON строку с переменными (поле data). Как минимум для того чтобы в открывшейся форме уже было что то написано.
Например мы отправляем сотруднику заполнить «лист проверки» на конкретный объект. По сути это анкета с галками и может с какими то еще полями. Анкета по конкретному объекту – документу. Он должен отобразиться на форме. Значит добавляем его в переменные.


Но это еще не все. Сотрудник открывает анкету и допустим проставил какие то галки. Данные, введенные в процессах записываются туда же в поле data. Т.е. мы взяли переменные, попользовались, добавили свои и записали JSON-объект туда же. Это все происходит на автомате при закрытии процесса сохраняются все переменные. И соответственно результат забираем из этого же поля.



Таким образом тут реализован принцип инкапсуляции в задаче данных, логики обработки и представления данных и статусов.
Не все задачи такие простые как «анкета» и иногда могут понадобиться например записать таблицу. Для этого в новом релизе расширен набор логики для работы с JSON (*тут я имею ввиду так называемую офф-лайн работу без обращения к серверу 1С. Т.е. в общем то можно все это делать и через прямое обращение к 1С через веб-сервер в режиме он-лайн в том числе например создать переменные JSON c массивами силами платформы 1С:Предприятее, но зачем дергать 1С если можно сделать это на устройстве, к тому же это может быть в режиме без связи (off-line))
Рассмотрим например процесс «Пополнение торговой точки) (или какой ни будь заказ клиента или что то еще где есть таблица данных). Очевидно тут напрашивается массив JSON чтобы упаковать строчки документа. Поэтому теперь есть такие команды JSON:

 

  • Создать переменную JSON – создается при начале работы
  • Создать маccив JSON– создается при начале работы
  • Добавить объект JSON в массив JSON – так как объект JSON это строка, то добавление – это добавление строки
  • Записать переменную JSON в объект JSON – добавили сделанный массив в общий объект по заказу
  • Записать переменную JSON в Переменные – а это уже конечная цель – добавляем полученные данные в кучу переменных которые запишутся потом в поле data

Вот так это выглядит в конкретном процессе который есть в демо-базе:



Вот так сохраняется в data:

Обмен с 1С

1С обменивается с СУБД посредством API интерфейса PostgREST там все просто и скучно – в Postgre есть табличка с задачами и табличка с чатом соответственно 1С пишет/принимает из этих таблиц. Примеры обмена есть в демо-базе. Может потребоваться чуть более сложное взаимодействие (например запросы с отбором) – это все есть в инструкции к PostgREST(она небольшая)  Для наглядности даже «лента чата» в 1С. 
 

 

Установка

 

Для работы нужно скачать приложение Simple UI из Google Play и поставить из Магазина конфигураций вот эту конфигурацию

 


Возможно будет полезным демо база где есть не только обработка Чат (в которой все примеры взаимодействия), но  и конфигурация для Simple UI ("Пример работы с задачами и чатом") в которой реализованы примеры из статьи. Ее можно скачать в комплекте разработчика в основной статье:  //infostart.ru/public/1153616/


Для развертывания на своей инфраструктуре нужна база PostgreSQL+ PostgREST  установить которую можно в облаке или на своем сервере. Про это написано тут  //infostart.ru/public/1217831/. В базе нужно создать необходимые объекты для чата и задач – таблицы для чата и задач а также необходимые хранимые процедуры  (SQL команды содержатся в файлике SQL_необходимые_объекты_SipmleUI+MicroWMS+Чат и Задачи.txt – их надо просто выполнить.


Или можно просто пробовать это на облаке, которое прописано по умолчанию в приложении и демо-базе.

Postgre Postgrest чат бизнес-процессы задачи SimpleUI

См. также

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

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

13200 руб.

27.12.2021    38184    108    161    

201

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

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

3000 руб.

03.12.2018    59281    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    97205    586    189    

321

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

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

3450 руб.

28.04.2023    9463    15    0    

9

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

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

7000 руб.

25.05.2022    4640    1    0    

6

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

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

1 стартмани

23.08.2024    1211    6    informa1555    1    

13

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

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

1 стартмани

25.06.2024    2594    28    informa1555    0    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pm74 203 17.07.20 11:44 Сейчас в теме
круто и очень полезно
попробую использовать
Upiterus; informa1555; +2 Ответить
2. informa1555 2715 17.07.20 12:21 Сейчас в теме
(1) Спасибо. Если что - обращайтесь. Буду рад помочь.
3. user1360721 7 07.08.20 08:58 Сейчас в теме
Дмитрий, добрый день.
Сколько будет стоить внедрение (примерная вилка цен от до):
1. Simple UI Чат и задачи.
2. Simple UI Микро-WMS.
4. Simple UI Ревизии на складе и в магазине.
3. Simple UI Отчёты для директора: диаграммы, таблицы и другие отчёты.
4. informa1555 2715 07.08.20 10:08 Сейчас в теме
(3) Добрый день! Спасибо за внимание к моему продукту! Я сам занимаюсь только продуктом, технологиями и поддержкой внедренцев (а также созданием кастомизированных версий по потребностям). А также например такими вещами как "оптимизация распознавания текста под ваши объекты" и встраивании прочих технологий типа позиционирования или расчета минимального пути. Сам я раньше внедрял - теперь - только R&D и продуктовая разработка. Что касается "внедрения" то это инструмент для быстрого внедрения - конструктор. Смело можно делить время подобной задачи на моб. платформе 1С на "от 3 до бесконечности". Время на разработку процесса (например приемка) если рука набита - 1 час.
5. user1360721 7 07.08.20 10:57 Сейчас в теме
(4)Посоветуйте, пожалуйста, специалиста 1С который сможет заняться внедрением ваших разработок.
6. informa1555 2715 10.08.20 08:46 Сейчас в теме
(5) Здравствуйте! Напишите в личку пожалуйста.
7. user1360721 7 10.08.20 09:25 Сейчас в теме
(6)
Здравствуйте! Напишите в личку пожалуйста.

У меня нет возможности написать в личку (нет стартмани - обязательное условие). Могу написать вам в почту (если сообщите).
Можете здесь дать ссылку на профиль специалиста 1С, который занимался внедрением Simple UI.
8. informa1555 2715 10.08.20 09:37 Сейчас в теме
(7) В личку написать можно добавив в друзья вроде.. Ну ок, можно и на почту - dv1555 собака hotmail.com
Оставьте свое сообщение