Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)
Разработка - Инструментарий разработчика
Постановка задачи
Системы управления складом (WMS), логистикой и подобные осуществляют процессный подход к управлению в альтернативу документному подходу, который используется в учетных системах. Грубо говоря в учетной системе(например 1С:УТ или ERP) все отталкивается от документа: есть приходная накладная – есть ее аналог в учетной системе. В процессном подходе все не так :например, есть приход паллеты товара – это действие нужно сразу же отразить в системе, т.е. отразить каждую операцию процесса, поэтому такой учет более оперативный и требует автоматизации мобильными терминалами.
Соответственно, работники склада выполняют определенную последовательность действий, которые должны управляться из системы и отражаться в ней. Например работник должен отправиться на определенный адрес (последовательность обхода адресов рассчитывается исходя из топологии склада), обнаружить там паллету, взять определенное количество товара.
При этом требуется совершать учетные действия: отсканировать адрес, с которого забирается товар, отсканировать паллету, товар и наконец ввести количество товара. После чего произведенную операцию требуется отразить в программе чтобы товар списался. И повторять этот процесс до тех пор пока все товары заказа не будут отобраны к отгрузке.
Таким образом для каждого такого процесса в мобильном клиенте должна быть последовательность экранов, на которых выводятся подсказки, содержатся элементы ввода, контроль ввода и т.д. Эта последовательность далее называется Процессом и для конструирования этих процессов для мобильного клиента и создан этот модуль.
Архитектура
Во вступлении я назвал эту систему «открытой» вот почему: ничто не ограничивает внедренца в использовании своей логики в приложении, потому что все происходит на стороне 1С в открытом коде. Android-клиент ничего не рассчитывает, ничего не хранит, не осуществляет логических переходов и обработки данных – все это происходит в обработчиках в веб-сервисе. Вариант исполнения клиента для 1С-клиента - такой же, т.е. он просто отрисовывает фронт и исполняет обработчики. Это абсолютно тонкий клиент, который умеет только отображать и получать/передавать данные от источников ввода. Конфигурация, которая является конструктором и одновременно модулем интеграции также не содержит ограничений.
Каждый клиент работает со своей конфигурацией рабочего места (например «Приемка», «Выпуск» и т.д.) содержащей набор процессов. Конфигурация клиента задается в виде строки XML и передается на клиент в момент открытия приложения: приложение посылает запрос и конфигурация приходит в ответе. Таким образом для того что бы что то поменять у клиента ему достаточно просто перезайти. В принципе конфигурацию можно редактировать и просто в XML но для удобства я сделал редактор в 1С, который автоматизирует создание конфигурации.
В редакторе создаются различные конфигурации клиентов (например в демо-базе есть конфигурации для рабочего места «Приемка», «Отгрузка» и «Инвентаризация ОС»). Конфигурации содержат процессы, а процессы состоят из последовательностей экранов и/или циклов. Например это – состав одного из процессов:
В справочнике Экраны задаются визуальные элементы и элементы ввода для каждого шага процесса. Например так:
При этом клиент может отображать значения переменных в визуальных элементах.
Например, на первом экране сканируется штрих/код, а на следующем, показывается товар и расширенное описание товара. Это задается и отображается так:
А вот так на одной картинке выглядит весть процесс вместе. Тут видно что пользователя при запуске встречает стартовый экран, а потом начинается цикл приемки товара, пока пользователь не выйдет. Вот таким примерно образом и создаются все процессы.
Помимо полей ввода и чтения штрихкодов клиент может взаимодействовать с пользователем с помощью диалога вопроса:
Элементы ввода (штрихкод, поля ввода) размещенные на экране мобильного приложения передаются в переменные и обрабатываются на стороне 1С. Клиент пишет в переменные (котрые задаются в конфигурации клиентов) и читает переменные для отображения на экране, 1С читает переменные и может добавлять свои в обработчиках. Кроме того особняком идет передача таблицы строк (например табличная часть заказа) и работа с ней.
Архитектура обмена между сервером и клиентом показана на следующей схеме:
Приложение отправляет на сервер запросы при начале и окончании процесса, которые пишутся в регистр сведений. Это нужно для определения статуса занятости клиента перед тем как отправить ему задание при автоматической диспетчеризации (рассылки заданий). Ну и, кроме того, так как фиксируется время начала и окончания процесса, то эти данные можно использовать для построения отчетов от KPI работников (время выполнения различных процессов)
На каждый клиент можно отправлять распоряжения(заказы, задания) с таблицами котрые будут запускать процессы. Это работает не через пуш, а через http-запросы. Вот пример отправки заказа клиента. В результате отправки у пользователя проигрывается звук приема сообщения и возникает диалог приема заказа, если он готов принять то стартует выполнение процесса. Кстати тут еще одни контроль того, занят клиент в данный момент или нет:
Заказ можно получить и по инициативе клиента, через сканирование штрих-кода например или поиск по номеру
Ну и обещанный бонус – распознавание голоса
Пример работы с голосом есть в демо базе. Распознавание голосом может понадобиться в случаях когда штрих коды использовать нельзя. Например, недавно ко мне обратились с учетом номеров шин на транспорте -вот тут то как раз тот случай: штрихкоды на шины в эксплуатации не наклеишь, frid-ы сомнительно. Номер состоит из 6 цифр, и на морозе вбить его затруднительно, а вот проговорить -легко. Точность распознавания товара стремиться к 100%. Даже если чтото не так, то можно переделать.
Еще вариант использования – ввод нового товара, которого нет в базе.
Честно говоря, распознавание от Google в сочетании с такой оберткой -это уже не игрушка а претендент на полноценную замену другим способам идентификации.
Вот как это выглядит:
Примеры процессов, реализованные на конструкторе
Инвентаризация ОС
Работа клиента такая: сканируется штрих-код помещения, с сервера подгружается таблица ОС которые должны быть по учету, и цикл из одного действия – сканирования штрих-кода основного средства. В помещении может быть ОС которого нет по учету (принесли из другого помещения). Может чего-то не быть. В общем, все видно по план-факту. В результате в базе заполняется «Инвентаризация ОС» - заполняется колонка «Факт»
Клиент приемки
Клиент участка приемки содержит два процесса: «Приемка по факту» и «Приемка по заказу».. Если нет распоряжения на приемку(Заказа поставщику), но нужно принять товар, на клиенте выбирается «Приемка по факту», если заказ есть, то «Приемка по заказу». Соответственно в первом случае – создается просто новый документ «Приемка», во втором случае тоже создается приемка, но привязанная к заказу поставщику, кроме того можно смотреть «План-факт» приемки
Клиент отгрузки.
Также в демо базе есть пример рабочего места отгрузки. Там содержится 2 процесса – отгрузка по заказу со сканом и отгрузка с приемом заказа, с сервера. Но в клиенте отображается только один процесс, так как второй-скрытый, его нельзя запустить вручную – только с сервера.
Клиент службы доставки.
Так как приложение работает через веб-сервисы оно может работать не только во внутренней сети, но и через интернет. На этом модуле можно разработать рабочее место курьера который будет отмечать доставку, возвращенные покупателем товары, оплату (сумма оплаты будет рассчитываться от суммы возврата).
Заключение. Описание поставки.
Конфигурация для инвентаризации ОС содержит всего 2 экрана, 2 обработчика и 155 строчек кода. Полноценное рабочее место для проведения инвентаризации было сделано и готово к работе за 20 минут. Это быстро. Альтернативой могло бы стать: 1. написание мобильного приложения на платформе 1С;2. Мобильный клиент на 1С 3. написание интерфейса 1C+RDP. Но это все делается дольше, кроме того для 1С нужны лицензии и для RDP тоже нужны лицензии, а для приложения - нет. Кроме того, 1С не умеет всего того, что умеет нативное приложение Android. Например сканирование обычный штрихкодов (например EAN-13), на момент написания статьи вызывает большие вопросы.
Данный модуль и клиент предоставляют программисту инструмент котрый можно сравнить с Конвертацией данных: можно писать свой обмен между базами полностью с нуля, а можно воспользоваться КД, чтобы она взяла на себя всю инфраструктуру, оставив программисту работу с непосредственно логикой. Вопрос выбора данного инструмента – это вопрос экономии времени и денег.
Скорость работы через веб-сервисы на ранних версиях 1С могла бы стать проблемой, но теперь, когда есть переиспользование сеансов – все работает быстро. Первый запрос, например когда в клиент заходишь идет с задержкой – это создается сеанс, а потом сеанс переиспользуется и это происходит мгновенно.
Для работы на устройство нужно поставить приложение Simple WMS:
В архиве находится база с примерами, в базе – конфигурация с модулем для объединения и подробная инструкция по внедрению с картинками, в которой содержится все необходимое. Работа по конфигурировнию своих клиентов и интеграции со своей конфигурацией рассчитана на 1С-программиста. Требуется публикация веб-сервиса.
Конфигурация тестировалась на платформе 8.3.12.1412
Никаких защит, скрытых модулей, библиотек, покупок в приложении, ограничений в приложении в данном проекте не предусмотрено.
Обновление от 12.01.19:
-Добавлена совместимость с Android 4.2
-Добавлен элемент экрана "Картинка". В демо базе сделан пример работы с картинкой. Вот так это может выглядеть.
Обновление от 15.01.19:
-Добавлена совместимость с Android начиная с 4.0.3 (пока только в apk-файле, в магазине нет)
-Увеличен шрифт надписей
Обновление от 16.01.19 :
-Добавлена совместимость с 4.0.3 (IcecreamSandwich)
-Увеличен шрифт
-Теперь можно передвать надписи в виже html-строки.
Надписи в виде html-строки позволяют задавать форматирование в строке - увеличивать шрифт, делать подчеркивание , выделение жирным и т.д. Как это происходит например в Ворде.
Например, задав строку в 1С в таком виде: Абразивный порошок(02-2,2) с МКР (<u>ТУ 3989-003-82101794-2008</u>) <b>Шлак гранулированный</b>
На экране она выйдет в таком виде:
HTML-строка дает большие возможности. Для того чтобы выделить часть строки надо заключить часть строки в тег. Например <b>Шлак гранулированный</b> - это bold - жирный текст.
Вот список поддерживаемых тегов:
- p
- ul
- li
- div
- span
- strong
- b
- em
- cite
- dfn
- i
- big
- small
- font
- blockquote
- tt
- a
- u
- del
- s
- strike
- sup
- sub
- h1
- h2
- h3
- h4
- h5
- h6
- img
- br
Обновление от 17.01.19:
- добавлена обработка аппаратной кнопки Enter на ТСД
- вопрос при выходе из процесса
- базовая авторизация в сервисе
Обновление от 21.01.19 (обновлена инструкция и демо-база):
- Функции для логина(авторизации): процесс, который запускается при входе в приложение, загрузка нужного клиента
- Мелкие улучшения. автоматический переход при диалоге (раньше не работал)
- Передача изображения с камеры устройства. Можно разместить на экране кнопку камеры и получать полноразмерные снимки в 1С в виде строки base64. Теперь с телефона можно например организовать ввод нового товара с фотографиями, штрих кодом. Можно использовать для функции мерчендайзинга например. Или для фотографирования сотрудников.
Обновление от 31.01.19 (обновилось только приложение):
- Добавлен запуск процессов из процессов (StartProcess). Описано ранее в инструкции.
- Пропуск экранов по условию (надо разблокировать поле в конфигурации)
- исправлена ошибка вылета при неправильных учетных данных на некоторых устройствах
- html в диалогах
Обновление от 04.02.16 (Android и 1C конфигурация):
- Теперь доступен клиент 1С для варианта работы через RDP/веб-клиент. Более подробно тут: //infostart.it-titan.ru/public/995673/
Новые функции (оба клиента):
- Сохранение структуры переменных при запуске процесса из процесса
- Команда break для немедленного закрытия процесса
- Обработчики "при открытии" для каждого экрана
Обновление от 11.02.19 (приложение, демо-база, инструкция):
- Передача GPS координат и прочей информации о положении
Обновление от 16.02.19 (Только приложение):
- Исправлена проблема с режимом пропуска экранов в цикле
- Добавлено сворачивание экранной клавиатуры при переключениях экранов
Обновление от 23.02.19 (Приложение, Демо-база и конфигурация, инструкция):
- Добавлен элемент управления "Список значений" (в оба клиента). Добавлен пример работы со списком
Обновление от 02.03.19 (Приложение, база, инструкция):
- Добавлен синтез речи. Теперь можно передавать текст для озвучки
Обновление от 16.03.19 (моб. приложение, демо база, инструкция):
-Режим списка задач, запуск процессов из списка. Это может быть список заказов на доставку, список заказов для контроля, список задач, вообще люой список представленный в виде карточек
По кнопке «Задачи» теперь можно запросить учетную систему не предмет какого то списка задач, заказов и т.д. Например это могут быть «Текущие заказы к доставке для определенного пользователя»
В момент нажатии кнопки приложение делает запрос к сервису (/get_tasklist/), и он возвращает некий список. Этот список представляется пользователю как список карточек с определенным оформлением
Вместе со списком можно передать наименование операции которую надо запустить при клике на задачу, ID задачи, некий параметр который записывается в orderRef и который потом можно прочитать в обработчике.
При клике на задачу передается запрос на специальный сервис (taskcommit) с ID задачи. Это можно использовать для биллинга например
Обновление от 23.03.19 (моб. приложение, демо база, инструкция):
- Теперь доступен ввод подписи с экрана. Подпись отправляется в 1С как картинка:
Обновление от 30.03.19 (демо-база, инструкция, приложение)
- В моб. приложении:настройка колонок "план, факт" таблицы строк и названия кнопки "план-факт"
Обновление от 12.04.19 (демо-база, инструкция, приложение)
- Теперь можно добавлять свои кнопки (одну или блок кнопок) на экранах
Обновление от 14.05.19 (пока только приложение):
- Отрисовка списка задач при активизации (запрос на состав списка при активизации)
- Управление выходом из цикла с помощью переменной-флага "exitloop" (любое значение)
Обновление от 08.06.19 (демо база, инструкция, приложение):
- Элемент ввода "Дата"
- Команда выхода из процесса переименована в break
- исправление ошибок
Обновление от 22.06.19 (демо база, инструкция, андроид-приложение):
- Добавлена настраиваемая кнопка "Повтор экрана" без переключения экрана. Иногда требуется обновить, оставаясь на экране, пропустить задание и т.д. Т.е. отсылка запроса идет, а экран не переключается.
Обновление от 15.07.19 (демо база, инструкция, андроид-приложение):
Подробности тут: //infostart.it-titan.ru/public/1093292/
- Произвольные таблицы отдельно и встраиваемые в экран. Раскраска, ширина колонок и т.д.
- Переработанный запуск процесса. Цикл в цикле
- "Не переключать экран"
- Горизонтальный блок кнопок
Обновление от 15.08.19 (демо база, инструкция, андроид-приложение):
- Офф-лайн режим. Подробности тут: //infostart.it-titan.ru/public/1108116/
- Работа с некоторыми режимами сканеров
- Изменения в интерфейсе
Опубликовано готовое расширение для типовых конфигураций для работы с ордерным складом через Simple WMS: //infostart.it-titan.ru/public/1066904/
Ознакомительное видео доступно тут:https://youtu.be/T_OY-fqyJQ8
Пожалуйста, вопросы присылайте в тему форума http://forum.infostart.ru/forum104/topic211360/message2158160/#message2158160
НОВАЯ ВЕРСИЯ ПЛАТФОРМЫ - Simple UI - ДОСТУПНА ТУТ: //infostart.it-titan.ru/public/1153616/
Скачать файлы
Специальные предложения
См. также
Simple UI – конструктор мобильных приложений для бизнеса. Обновление 21.11.19 - теперь доступна печать с устройства 47
5 стартмани
14.11.2019 3135 12 informa1555 6
Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!
29700 руб.
Оффлайн-режимы в Simple WMS: полностью автономные приложения, отложенная отправка, гибридный режим 18
15.08.2019 2638 informa1555 3
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо
Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.
29700 руб.
[Расширение] для подключения мобильного устройства к УТ11.4/ КА 2/ERP 2 для работы с ордерным складом на базе Simple WMS. Для автоматизации склада нужен только телефон 22
5 стартмани
27.05.2019 4812 26 informa1555 20
Авансы, предоплаты, кредиты: как оформлять чеки в 1С (на примере УТ 11) 24
1 стартмани
13.03.2019 19981 18 RocKeR_13 42
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо
Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.
24700 руб.
Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо
На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.
777 рублей
Вакансия Автор новостных обзоров на тему 1С и бухучета, По совместительству Промо
Редакция Infostart.ru будет рада сотрудничеству с 1С-специалистом, умеющим и любящим излагать свои мысли в письменной форме. Если вы работали в IT-изданиях или имеете опыт ведения технологического блога/канала/группы, если сможете сделать обзор обработок из каталога infostart.ru/public/all/, то у вас большое преимущество.
Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо
Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).
от 11000 до 29000 рублей
Помощник корректировки остатков ЕГАИС в небольшом магазине. Розница 2.2 12
5 стартмани
08.09.2018 17032 78 asdfgcom 45
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 65
5 стартмани
09.08.2018 17214 23 informa1555 26
Приложение Android для идентификации/распознавания образов (с обучением с одного раза, One-Shot Learning) с возможностью работы с 1С через веб-сервис 14
1 стартмани
19.06.2018 9636 4 informa1555 15
Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.
29700 руб.
Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо
Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).
29700 руб.
Валовая прибыль в текущем месяце. Актуальная себестоимость (рассчитывается из последней цены закупки с учетом доп.расходов) 14
7 стартмани
16.03.2018 14546 65 zaika007 43
С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо
Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.
Время продаж чеков по магазинам в УТ 11, КА. Аналитический отчет + Диаграмма 7
2 стартмани
16.03.2018 12357 8 zaika007 12
1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо
СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.
Автоматизация отдела продаж - CRM конфигурация для небольшой компании 14
1 стартмани
05.03.2018 13594 37 user718500 12
Построение маршрута доставки с расчётом расстояния для любой базы УФ 57
10 стартмани
24.02.2018 21638 36 KorotkovRV 16