Оффлайн-режимы в Simple WMS: полностью автономные приложения, отложенная отправка, гибридный режим

15.08.19

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

Теперь Simple WMS имеет базу данных и можно создавать конфигурации для полностью автономных приложений, не зависящий от веб-сервера на стороне учетной системы, в выполнением логики на устройстве а не на стороне веб сервера. А также можно реализовывать другие гибридные режимы работы с использованием хранилища устройства. Тестировалось на платформе 1С 8.3.13.1865.

Я реализовал работу с базой данных в Simple WMS на чистом SQL-е. Т.е. это просто SQLсервер в приложении (SQLite 3) с которым можно общаться извне через HTTP-сервер приложения (в каждом клиенте встроен свой веб сервер) посредством SQL запросов или само приложение общается с ним SQL-запросами -как это заложено в конфигурации. Т.е. можно оправлять приложению POST запросы с SQLкомандами либо дать ему конфигурацию в которой эти самые SQL-запросы прописаны в логике работы. Это очень простое решение, но оно дает всю мощь SQL. Теперь можно делать автономные приложения без сервера. Конечно там есть обертки для упрощения этого процесса. Но я не пошел путем 1С и не стал создавать слой бизнеслогики – весь этот конструктор документов и справочников. Хочешь создать справочник – пиши CREATE TABLE. Да, это не визуальных конструктор конечно, но посмотрите на статьи на этом ресурсе – половину времени мы создаем решения, а вторую половину разбираемся как заставить 3-х звенную архитектуру работать быстрее. Как то мой препод по БД рассказывал что когда то давно (видимо во времена когда операционные системы были с строковым интерфейсом) язык SQL создавался как язык для пользователя. Т.е. пользователь приходил например в библиотеку и писал SELECT WHERE те книги которые ему нужны. Так что я думаю это не очень сложно.

В среде фрондендщков есть такое понятие как CRUD-приложения (от слов Create, Read, Update, Delete). Таким приложением является и Simple WMS. Только раньше оно общалось с БД учетной системы а сейчас со свой БД тоже. Я проанализировал основные места где приложение обращается к БД и теперь можно в конфигурации прописать тоже самое для off-line режима. Никакого кода в  обработчиках. Только SQL-запросы.

Например вот так создаются таблицы:

Вот так происходит поиск товара:

 

Вот так например заполняются таблицы. Кстати таблицы теперь можно выводить на форму. Вот как это выглядит:

 

Режимы работы

  • Полностью автономная работа.

 

 

При таком режиме ставится галка «Off-line» в настройках приложения и устройство не пытается что либо передать и забрать с Веб-сервера учётной системы. Веб-сервера на бекэнде может не быть вовсе. Работа клиента визуально никак не отличается от работы в он-лайн режиме, просто вместо обращения к серверу устройство делает запросы к своему SQL-серверу

 

 

  • Автоматическое переключение в off-line при отсутствии связи. 

 

 

 

Рассмотрим пример: вы сканируете приход (2 экрана: сканирование товара и ввод количества). Вы работаете в онлайн, но отошли от wi-fi и связь прервалась. На экране где идет сканирование товара вам надо распознавать штрихкод и проверять есть ли он в базе. Если в экране определена офф-лайн функция то будет исполнена она и ошибки об обрыве связи не будет.

На экране ввода количества уже что то надо записать в базу, но связи нет. Для этого достаточно в конфигурации определить галочку «Записать отложенную задачу». Что произойдет на устройстве? Оно сохранить состояние hashmap (Переменные) в свою БД и потом когда связь появится передаст ее в 1С. Т.е. если в отсутствии связи прошло 5 циклов то клиент запомнит что нужно передать 5 записей. Для обработки отложенных задач теперь есть отдельный веб-сервис и обработчик

  • Гибридный режим: запросы могут выполняться в он-лайн

              SQL-ная часть выполняется до отправки запроса send_input в учетную систему. Зачем это нужно? Часто критерием производительности WMS систем называют скорость          сканирования (вместе с поиском товара) и сравнивают системы по этому параметру.  Поиск в собственной таблице может обеспечить суперскорость. Это возможно по 2м причинам:

    • это прямой запрос к таблице БД. Он очень быстрый в отличии от 1С например;
    • таблицу конкретного устройства можно подготовить для конкретного рабочего места – это будет выборка из справочника а не весь справочник (например только сырье, в то время как в регистре Штрихкодов все подряд. Кроме того это таблица в 1NF сразу с теми полями которые нужны а не со ссылками;

 

 

Общение с учетной системой

Из 1С можно работать с SQL сервером конкретного устройства передавая команды через http. Например отправлять справочники и забирать результаты заполнения документов. Ну или создавать свои структуры данных.

Например этот запрос создает таблицу товаров:

Запрос = "create table IF NOT EXISTS goods (id integer primary key autoincrement,art text unique, barcode text, title text)";	
ПараметрыЗапроса  = "";
СтрокаОтвета = Справочники.scМобильныеКлиенты.ОтправитьSQLЗапросМобильныйКлиент(URLМобильногоУстройства,"ExecSQL","","&query="+Запрос+"&params="+ПараметрыЗапроса);

 

Этим запросом запрашиваются отсканированные товары.

Запрос = "create table IF NOT EXISTS goods (id integer primary key autoincrement,art text unique, barcode text, title text)";	
ПараметрыЗапроса  = "";
СтрокаОтвета = Справочники.scМобильныеКлиенты.ОтправитьSQLЗапросМобильныйКлиент(URLМобильногоУстройства,"ExecSQL","","&query="+Запрос+"&params="+ПараметрыЗапроса);

На всякий случай есть консоль запросов

Также есть примеры работы

 

 

 

 

В разделе к основной статье //infostart.ru/public/976636/  обновлены разделы документации, база 1С содержит пример конфигурации для работы с OFF-line режимом.

simplewms ТСД штрихкод мобильное приложение оффлайн штрих-код

См. также

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

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

08.06.2023    9577    0    Infostart    0    

66

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

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

2880 руб.

03.12.2018    58634    192    103    

172

SALE! 25%

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

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

13200 9900 руб.

27.12.2021    37215    99    161    

193

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

316

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

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

7000 руб.

25.05.2022    4290    1    0    

6

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

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

1 стартмани

23.08.2024    1056    5    informa1555    1    

13

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

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

1 стартмани

25.06.2024    2404    25    informa1555    0    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vdscom 21 15.08.19 14:09 Сейчас в теме
Спасибо, Дмитрий, впечатляет :)
2. informa1555 2711 15.08.19 14:11 Сейчас в теме
3. aleksey_RS 22.08.19 13:47 Сейчас в теме
(2) Дмитрий, добрый день! Никак не найти ваши контакты. Мы заинтересовались Вашей разработкой, она весьма подходит под нашу текущую задачу, но все же нужно с Вами обсудить возможность ее доработки. Могли бы вы связаться со мной по вопросу сотрудничества, приобретения Вашего продукта и его доработки. Заранее большое спасибо. (в личку не получается, все же оставлю здесь. a.gaevskiy@rslog.ru)
Оставьте свое сообщение