Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Обновление от 16.03.19: теперь режим списка задач

Публикация № 976636

Программирование - Инструментарий

терминал сбора данных ТСД штрих-код мобильное приложение сканер Android конструктор распознавание голоса html-строка картинки передача с камеры GPS местоположение конфигурация

129
Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

Постановка задачи

Системы управления складом (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 конфигурация):

Новые функции (оба клиента):

  • Сохранение структуры переменных при запуске процесса из процесса
  • Команда break для немедленного закрытия процесса
  • Обработчики "при открытии" для каждого экрана

Обновление от 11.02.19 (приложение, демо-база, инструкция):

  • Передача GPS координат и прочей информации о положении

 

 

Обновление от 16.02.19 (Только приложение):

  • Исправлена проблема с режимом пропуска экранов в цикле
  • Добавлено сворачивание экранной клавиатуры при переключениях экранов

Обновление от 23.02.19 (Приложение, Демо-база и конфигурация, инструкция):

  • Добавлен элемент управления "Список значений" (в оба клиента). Добавлен пример работы со списком

Обновление от 02.03.19 (Приложение, база, инструкция):

  • Добавлен синтез речи. Теперь можно передавать текст для озвучки

 

 

Обновление от 16.03.19 (моб. приложение, демо база, инструкция):

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

По кнопке «Задачи» теперь можно запросить учетную систему не предмет какого то списка задач, заказов и т.д. Например это могут быть «Текущие заказы к доставке для определенного пользователя»

В момент нажатии кнопки приложение делает запрос к сервису (/get_tasklist/), и он возвращает некий список. Этот список представляется пользователю как список карточек с определенным оформлением

Вместе со списком можно передать наименование операции которую надо запустить при клике на задачу, ID задачи, некий параметр который записывается в orderRef и который потом можно прочитать в обработчике.

При клике на задачу передается запрос на специальный сервис (taskcommit) с ID задачи. Это можно использовать для биллинга например

 

Пожалуйста, вопросы присылайте в тему форума  http://forum.infostart.ru/forum104/topic211360/message2158160/#message2158160

 

Буду благодарен за обратную связь, ваши вопросы и предложения!

129

Скачать файлы

Наименование Файл Версия Размер
Демо-база , с конфигурацией для установки и инструкция для двух вариантов клиентов: Android и 1С:Предприятие
.zip 13,81Mb
04.02.19
65
.zip Версия 1.75.00 13,81Mb 65 Скачать
apk-файл (если невозможно скачать с Google Play). В Gogle Play - та же самая программа бесплатно!
.apk 2,07Mb
21.01.19
23
.apk Версия 1.75.00 2,07Mb 23 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. rpgshnik 1019 10.01.19 11:50 Сейчас в теме
apk в архиве есть? На андроид 8.1 работает? С гугл пишет не поддерживается мой телефон.
2. informa1555 941 10.01.19 12:06 Сейчас в теме
(1) Добавил отдельно apk. На Oreo не тестил, но оно написано с target API level 26 поэтому работать должно. Не может же там не быть обратной совместимости! Может не скачивается по причине региона? Сейчас проверю в маркете
3. rpgshnik 1019 10.01.19 12:11 Сейчас в теме
(2) телефоны Honor 8X и Honor 6X не на один из гуглплея не ставиться
4. informa1555 941 10.01.19 12:20 Сейчас в теме
(3) Попробуйте вот сейчас еще раз скачать из Gogle Play? Я проверил на нескольких устройствах
5. rpgshnik 1019 10.01.19 12:22 Сейчас в теме
(4) доступно, на оба телефона, качаю
6. biruk 4 10.01.19 13:20 Сейчас в теме
Требуемая версия Андроид: 7.0 и выше - это из за распознавания голоса? Есть парк ТСД, но там не семерка точно...
7. informa1555 941 10.01.19 13:43 Сейчас в теме
(6) Для распознавания нужно чтобы было google play services - если этого нет (т.е. нет на устройстве google play) то оно при нажатии на кнопку просто не запустится, но все остальное будет работать. А какой там андроид? я могу apk-шку попробовать сделать если версия не слишком старая
8. biruk 4 10.01.19 14:02 Сейчас в теме
(7) 4.2.2 - не новые конечно, но работают исправно...
9. informa1555 941 10.01.19 14:12 Сейчас в теме
(8) На 4.2.2 не будет модных кнопок внизу BottomNavigationView... так как они появились начиная с Lolipop... В принципе можно выпустить версию для старых устройств заменив те кнопки обычными Button... Если у меня получиться я напишу.
10. biruk 4 10.01.19 15:00 Сейчас в теме
(9) Спасибо :) Есть 10 магазинов, там работают эти "старые" ТСД, но работают через "прокладку" - стороннее приложение. Давно есть мысль 1С на них запустить...
23. informa1555 941 11.01.19 12:25 Сейчас в теме
(10) Я выложил еще один apk под 4.2. Сразу скажу что тестил на эмуляторе и не уверен в том что глюков нет. Судя по тем проблемам которые вылезали в процессе переделки, вылезти может в неожиданных местах. На эмуляторе работает.
35. informa1555 941 12.01.19 12:51 Сейчас в теме
(10) Готово. Картинки добавлены.
11. bulpi 139 10.01.19 15:26 Сейчас в теме
ОФИГЕТЬ!
Автор молодец.
Вопрос :
"В справочнике Экраны задаются визуальные элементы"
А как Вы сделали эти элементы ? Не могу пока посмотреть в демо-базе, т.к. требует 8.3.12
12. informa1555 941 10.01.19 15:48 Сейчас в теме
(11) Спасибо! Как сделал на Андроиде или в 1С? В связке это работает так: допустим вам надо на экране ввода количества товара разместить надпись "введите количество", еще написать по какому товару (который был отсканирован) и поле ввода типа Число. Для этого вы заводите новый элемент справочника Экраны, добавляете в таб. часть 3 строчки: "Надпись" с переменной в которой хранится название товара, тест "Введите количество" и "Ввод числа". На андроиде когда этот экран будет показываться он на экране покажет эти 3 элемента, заполнит надпись с товаром значением переменной, и будет ждать когда Вы введете число, после этого сработает обработчик вввода и переключится экран(либо не переключится если ему запретить). Как то так.
31. bulpi 139 11.01.19 16:33 Сейчас в теме
(12)
Это понятно. Непонятно, откуда взялись сами картинки экрана. Их же как то надо было сделать и передать на андроид. Или это все уже есть в Simple WMS Client ? Но в инструкции это все нарисовано в 1с. Как рисовали ? Как передавали ?
32. informa1555 941 11.01.19 16:38 Сейчас в теме
(31) Сами картинки рисует приложение на андроид. Ему из 1С приходит XML и там допустим написано "элемент экрана надпись" и оно показывает надпись. 1С нужна только для того чтобы этот XML сформировать, ну и обработчики конечно же. Или вопрос в том как я это в java реализовал?
36. bulpi 139 12.01.19 13:31 Сейчас в теме
(32)
Теперь понятно. А я думал, что картинки тоже из 1с передаются.
37. informa1555 941 12.01.19 13:44 Сейчас в теме
(36) Там трафик микроскопический - маленькие json-ны. Даже на очень слабом соединении очень быстро передается.
13. XOCTEP 114 10.01.19 23:16 Сейчас в теме
Очень достойная работа. Есть вопросы:
1. На экране можно выводить информацию, например, сколько уже было введено количества? Типа "Было: 200 шт., будет: 201 шт." ?
2. Приложение связано со сканером ТСД? Или сканирование через камеру?
3. Если оборвется связь с веб-сервисом, данные сохранятся или нет на ТСД? Актуально для инвентаризаций.
15. informa1555 941 11.01.19 06:18 Сейчас в теме
(13) Спасибо. 1. Да конечно, на экран можно вывести любую переменную, которую Вы сами и определяете. В скриншоте по ОС "Отсканировано 1 из 2 строк" - это примерно аналогичный случай, по количеству также можно сделать. Плюс таблица "План-факт" 2.И так и так - там 2 режима. 3. На ТСД вообще нет данных - это тонкий клиент, все данные хранятся на стороне сервера. Примерно то же самое что ТСД через RDP.
16. XOCTEP 114 11.01.19 09:59 Сейчас в теме
(15) спасибо, надо попробовать
14. MarryJane 23 11.01.19 00:14 Сейчас в теме
Скорее всего на экран можно посылать все что угодно
17. pdenega76 11.01.19 11:01 Сейчас в теме
при запуске требует "Код клиента" и "WebService URL". Со вторым понятно. Что за первый параметр?
18. informa1555 941 11.01.19 11:22 Сейчас в теме
(17) Это код справочника "Мобильные клиенты". Заводите в базе клиента(устройство), назначаете ему конфигурацию, при сохранении ему присваивается код - число, прописываете его в приложении, перезапускаете, он скачивает конфигурацию клиента. В инструкции более подробно написано.
19. user739511 11.01.19 11:24 Сейчас в теме
На ТСД передать картинку можно?
Суть проблемы: кладовщик собирает заказ для клиента, ему нужно взять с полки "шампунь для жирных котов с провитамином и хренитином". Перед ним на полке 28 пузырьков с разными шампунями. Я хочу, чтобы кладовщик, нажав у себя на экране на кнопку "картинка", получил от сервера картинку с шампунем. Такой функционал можно будет реализовать?
20. informa1555 941 11.01.19 11:46 Сейчас в теме
(19) Теоретически да, можно. Сейчас этого нет. С этой задачей обычно справляются с помощью адресного хранения. Я не думаю что картинка сильно поможет, но сделать можно.
21. user739511 11.01.19 11:55 Сейчас в теме
(20) Адресное хранение поможет, когда лежит 28 упаковок шампуней, при этом каждая упаковка на своей полке. А когда каждого вида по одному-два пузырька и все 28 видов на одной полке... Специфика интернет-магазина: "как разместить 5 тысяч наименований на 300м2"
Насколько сложно прикрутить картинки?
22. informa1555 941 11.01.19 12:20 Сейчас в теме
(21) Я думаю несложно. Я все равно хотел прикручивать передачу картинок с камеры (для приемки). Попробую сделать для отображения.
40. CheBurator 3539 15.01.19 13:23 Сейчас в теме
(21) минимальное "адресное хранение", которое делается примерно также быстро как и данный сабж. и прикрутка правила "не располагать товраы одной учетной группы рядом" ;-)
а так да - если на нормальную систему нет денег, то картинка - выход. у меня на складе на ТСД была картинка, но по статистике ею никто не пользовался. просто потому что потребности такой не возникало.
24. mkostya 24 11.01.19 13:30 Сейчас в теме
А код android реально выложить, ну или на продажу.
26. informa1555 941 11.01.19 14:05 Сейчас в теме
(24) Код - нет. А что хотите изменить в приложении? Я вообще планирую развивать функционал.
25. Man4kin 11.01.19 13:43 Сейчас в теме
Видел подобное решение у франча Ситэк, но оно платное.
Автор МОЛОДЕЦ!
Попробую на досуге.
27. informa1555 941 11.01.19 14:11 Сейчас в теме
(25) Спасибо. Да похоже, но там же вроде не конструктор? Всмысле там нельзя добавлять свои процессы как я понимаю.
28. Man4kin 11.01.19 14:11 Сейчас в теме
Есть конструктор форм, рисуются в 1С.
29. user658480_it2 11.01.19 14:48 Сейчас в теме
Дмитрий, как можно получить демо-базу без стартмани? можете выложить еще одну строчку демо базы за рубли?
30. informa1555 941 11.01.19 15:28 Сейчас в теме
(29) Я попробовал, но там все не так просто как раньше... Не подходит ни один тип платного контента... Стартмани же продаются.
33. user658480_it2 11.01.19 16:56 Сейчас в теме
(30) Продаются только в комплекте абонементов ( Нам как раз нужен легкий тонкий клиент, вообще без логики, способный тупо принимать и отдавать введенные данные, сейчас реализуем через веб-сервер, сайт на битриксе и браузер, зашитый в .апк, получается так себе -_-.
34. informa1555 941 11.01.19 17:14 Сейчас в теме
(33) а на бирже, разве нельзя купить?
38. ilya.babin 15.01.19 08:15 Сейчас в теме
Возможно добавить поддержку Android 4.1.2?
39. informa1555 941 15.01.19 09:43 Сейчас в теме
47. informa1555 941 15.01.19 19:06 Сейчас в теме
(38) В apk-файле добавлена совместимость. В Google Play пока нет - будет выложена в след. релизе.
60. ilya.babin 16.01.19 10:50 Сейчас в теме
41. CheBurator 3539 15.01.19 13:25 Сейчас в теме
Хорошая разработка!
Одна тотальная бяка - надо было названия товаров - еще меньшим шрфитом написать. Потом порадоватьяс за кладовщиков у которых к концу дня глаза на лбу от вглядывания. Что-то технически мешает масштабировать надписи на экране под размер отводимого им поля для вывода надписи?
42. informa1555 941 15.01.19 13:32 Сейчас в теме
(41) Ну оно в принципе безразмерное с переносом, если не влезет то сдвинется на вторую строку и т.д. Но спасибо за ценный совет, увеличу шрифт на 2-3 пункта.
43. CheBurator 3539 15.01.19 14:11 Сейчас в теме
(42) на 2-3 пункта - не выход, конечно, можно ориентироватьяс на типа "стандартную" часто используемцю среднюю длину наименования. но увеличение на 2-3 пунтка - в каких-то позициях приведет к невозможности прочитать ЗНАЧИМУЮ информаци по названию товара, которая окажется в "хвосте" надписи, которая не вместилась.
т.е. по большому счету речь идет о автомасштабировании текста на форме. если таковое не возможно, то - имхо - лучше увеличить шрифт до максимально возможного для _средней_ стандартной длины надписи и на всякий слуячай предусмотретькнопку" типа "показать название товара подробно" (типа карточка товара)
46. informa1555 941 15.01.19 14:34 Сейчас в теме
(43) Не, такого что не влезет - не может быть. Оно перенесется ниже же
49. CheBurator 3539 15.01.19 21:03 Сейчас в теме
(46) сделайте шрифт на экране нормально физического размера для быстрого считывания и прмерно 4-5 часов работы - меньша 14 пунктов на экране 240 на 320 - тяжело воспринимается. и надпись названия товара символов в 50. а некоторые не брезгуют и 100 - не влезет. поэтому и хотелось бы (хотелка конечно) если название короткое - показывается стандартной крупной надписью. а вот если не влазит - тогда уменьшаем (это я думаю весьма проблематично) - тогда проще по отдельной "кнопке" - расшифровку на отдельном "экране"...
52. informa1555 941 15.01.19 21:11 Сейчас в теме
(49) на самом деле подгонка размеров надписей в андроиде есть, но она не совместима с разными версиями - где то будет работать, где то нет, а я так не могу - мне надо чтобы у всех все работало. Я думаю добавить html-строки, их как раз в 1С нет, а штука удобная. Шрифт я уже увеличил в apk-ке котрая в публикации, в маркет выложу со следующим релизом. По поводу крупной и мелкой надписей: у меня как раз есть элемент "Надпись описание" - оно занимает нижнюю половину экрана (если нет картинки) и туда можно толкать все что угодно. Надпись 1, Надпись 2 и Надпись 3 (которые с заголовками вверху) - туда можно выводить краткое описание.
44. CheBurator 3539 15.01.19 14:14 Сейчас в теме
Аналогичный подход я пробовал на РДП-варианте. когда экраны - только визуализация. но, получается не очень. часть "логики" приходится впихивать в сами "экраны". в первую очередб это связано с производительностью на быстрйо однтипной работе - тупо раздражает перерисовка экранов, то есть временные лаги перехода от формы к форме.
45. informa1555 941 15.01.19 14:32 Сейчас в теме
(44) А у меня нет перехода от формы к форме - на одной активити элементы включаются/выключаются. На 1С я кстати тоже делал также на упр формах - одна форма и включение/выключение элементов экрана . Поэтому быстро. Другие решения я смотрел, используют разные формы, но по моему опыту структура форм однообразна, и рисовать для каждого экрана отдельную форму - смысла нет. Тут можно для проверки сделать цикл из 2х экранов - он мгновенно работает.
48. CheBurator 3539 15.01.19 21:00 Сейчас в теме
(45) при развесистиой структуре диалогов рулить большим количеством визуальных элементов м.б затруднительно 9а элементов реально может быть много) - разные текстовые надписи разных размеров в разных местах экрана, кнопки, тоже например могут быть (хотя это извращение). таблички/списки разных размеров в разных местах экрана и т.д.

я тоже пробовал (РДП+1С) делать все в одной форме на разных слоях - логика управления слоями в заивисмости от разных условий - выходила замуторная. Здесь, конечно, когда вся логика вынесена на сервер и супертонкий клиент только отрисовывает нужные элеменгты - такое возможно ок.

а взаимное расположение элементов как рулится?
50. informa1555 941 15.01.19 21:03 Сейчас в теме
(48) Оно предопределенное: сверху надпись 1, ниже надпись 2, и т.д. , поля ввода 1-2-3, надпись комментария, надпись действия и т.д. Короче все на своих местах
51. CheBurator 3539 15.01.19 21:09 Сейчас в теме
(50) это хорошо. но для достаточно простой логики отображения и соответсвенно чтобы набором простой логики отображения сделать сложную логику взаимодествия с пользователем - как у вас сделано - постоянным обменом с сервером. и тут вопрос - будет ли это успешно протягиваться когда на сервер будут одновременно долбиться 50-100 пользователей (ну это если серьезный склад).

но это лично все мои частные соображения, исключительно на собственном опыте аналогичных работ и +по проектам автоматизации на других складах. Все идет на уровне РДП. проблем с лицензиями как-то не было. Видимо потому что в общей структуре стоимости проекта это не так уж и много ;-) или может по другому клиенты обходили ;-)
56. informa1555 941 16.01.19 07:24 Сейчас в теме
(51) Да, RDP - самый быстрый способ. Возможно я на этом же конструкторе сделаю вариант 1С+RDP т.е. пользователь сможет выбирать как ему работать или вообще гибридно и так и так. Ну чтобы не конфигурировать 2 раза.
user931544; +1 Ответить
53. CheBurator 3539 15.01.19 21:11 Сейчас в теме
Какие еще элементы управления поддерживаются?
таблица со списокм чего-либо? +оасшифровка внизу таблицы в текстовом поле подробного "описания" текущей строки таблицы?

как быстро работает типа такого (и есть ли вообще) - в поле ввода набираем артикул. если набрано более Nзнаков - с каждым набранным знаком в таблице показывается текущий набор товаров, подходящих под набранные знаки?
57. informa1555 941 16.01.19 07:30 Сейчас в теме
(53) Элементы ввода: ввод числа, строки, штрихкод, голосовой ввод и диалог да/нет. В скором времени еще ввод фоток появится. Вариант автозаполнения не реализован, я думаю он будет тормозить и дело тут не в плиложении, а в 1С. Это ж надо запросы генерить причем с ПОДОБНО... Я конечно могу это сделать на уровне андроида и передать обработчик автозаполнения 1С чтобы на стороне 1С управлять этим и показ там вариантов... вот это вот все... Но боюсь тормоза будут. Не буду пока делать.
54. CheBurator 3539 15.01.19 21:16 Сейчас в теме
..вот то же самое "введите количество" - редко когда приходится вводить количество из 15-20 знаков. Почему не сделать "количество" нормальными буквами чтобы кладовщик не убивал глазки - высотой примерно с сантиметр?

однообразность и универсальность - это хорошо, но почти всегда это в ущерб эффективности и удобства. И получается что для частных "экранов" - нужен свой дизайн.
58. informa1555 941 16.01.19 07:38 Сейчас в теме
(54) увеличу. По поводу экранов..Я вот смотрю подобные базы внедренные н-лет назад (всякие топлоги, логитоны и т.д.) и что там было по поводу индивидуальных экранов. Там просто тупо откопированы формы экранов и прописаны свои надписи без изменения шрифта, как то не заморачивались. Честно говоря до Ваших комментов я и не придавал этому такого значения. Я думаю если увеличить то что сейчас мелко, то нормально будет. Но авторесайз я держу в памяти. Дело в том что гугл только несколько месяцев назад выпустила такую штуку и пока она не совместима на все версии, я думаю потом ситуация поменяется.
73. CheBurator 3539 16.01.19 22:17 Сейчас в теме
(58) да, тут я согласен. у меня например есть ТСДшные формы ВМС работающие в размер экрана десктопа (РМ упаковщиков) и они сдизайнерены с размером шрифтов и кнопок и прочего - под экран десктопа - здесь про нормальное автомасштабирование элементов формы (из типа стандартного маленького прототипа) - речи нет (вдобавок функционал этого АРМ туппо на экране ТСД не прокатит - придется вместо одного экрана вязать несколкьо). и такой ТСДшный фейс в размере на экране ТСД - не будет ок. поэтому универсальностью здесь ну никак не получится. но по крайней мере хоелось бы если фейс нарисован на 240-320 - то на 480-640 - чтобы он именно масштабировался, а не растягивался.

все это, конечно, чисто интерфейсные хотелки, которыми должен заморачиваться тот, кто разрабатывает и отвечает только за интерфейсную часть. А таких выделенных спецов - я не встречал. Так что это не первостатейная такая уж задача. Но по поводу масштабирования есть 1-2 публикации на Ис приличные - посмотри у меня в группе "Адресный учет - пошерсти там если интерес будет
55. CheBurator 3539 15.01.19 21:20 Сейчас в теме
Но инструментарий - хороший, мне нравится, закладочку сделал, вынес в группу: https://infostart.ru/community/groups/22/publications/
59. informa1555 941 16.01.19 07:38 Сейчас в теме
61. sersoft 16.01.19 10:57 Сейчас в теме
Дмитрий добрый день. Очень понравился Ваш проект, даже абонемент купил специально чтобы скачать и попробовать функционал. Пока разбираюсь во всём, но пока столкнулся с одной проблемой, почему то с аппаратным сканером не хочет работать с элементом ШтрихКод
Если на это экране сделать полле вода числа, и передать в ту же переменную (barcode_room) например, то всё отрабатывает ок. Вот сижу думаю на каком уровне проблема. Если есть мысли можете подсказать куда копать.
62. informa1555 941 16.01.19 11:23 Сейчас в теме
(61) Спасибо! Аппаратный сканер должен отправлять в разрыв клавиатуры штрих коды с #13 на конце, ну т.е. штрихкод и enter как бы. Поле ввода на таком экране не надо иначе оно будет перехватывать штрих код.
63. sersoft 16.01.19 11:28 Сейчас в теме
Я пробовал без суффикса аппаратную кнопку Enter нажимать, фокус кудато сдивгается, и при повторном нажатии уходит в начальное меню.
Установил в настройках суффикс \n, теперь добавляется Enter автоматом, и на полях ввода (сроки или числа), происходит переход к следующему экрану, но на элементе ШтрихКод, то же поведение.
64. informa1555 941 16.01.19 11:32 Сейчас в теме
(63) Я правильно понимаю, что если вы на экране размещаете поля ввода, сканируете аппаратным сканером, то в поле ввода этот штрих код попадает? И если добавлен /n то происходит переход на новый экран (если в конфигурации стоит галка Переключаться по окончанию ввода). Все верно?

Но если на экране не размещать поле ввода, а разместить только ШтрихКод и отсканировать, то ничего не происходит?
65. sersoft 16.01.19 11:44 Сейчас в теме
(64)
Да совершенно верно.
Попробовал по другому, мануал от производителя https://www.alcaidc.com/Public/newsinfo.aspx?emailID=494
суффикс в шестнадцатеричном виде \x0D\x0A

И тоже самое, с поллем ввода всё гуд , а вот со штрих кодом увы.
66. sersoft 16.01.19 11:49 Сейчас в теме
68. informa1555 941 16.01.19 11:57 Сейчас в теме
(66) На экране где ШтрихКод - нет ни одного поля ввода?
70. sersoft 16.01.19 11:59 Сейчас в теме
(68) Нету. Только надпись.
Прикрепленные файлы:
71. informa1555 941 16.01.19 12:32 Сейчас в теме
(70) Понятно, у вас enter что то перехватывает и дальше не отдает. Я сейчас сделаю по другому для этого случая и передам вам apk . Напишу в личку
72. sersoft 16.01.19 12:33 Сейчас в теме
67. sersoft 16.01.19 11:53 Сейчас в теме
(64) Заметил что , если просто дважды нажать Enter то происходить то же самое, первый раз ничего, но фокус смещается на кнопку "Назад", и второй раз вызывается первичный экран с фокусом на кнопке "Настройки"
69. sersoft 16.01.19 11:58 Сейчас в теме
Ещё заметил что хардварными кнопками (вверх, вниз, влево, вправо) не перемещается фокус между кнопками.
74. VKuser27369978 27.01.19 02:40 Сейчас в теме
Как с Вами связаться через соц сети или мессенджеры?

Меня интересует проверка сборки заявок.

Пример кладовщик собрал заявку и надо перепроверить с помощью штрих кодов .
Можно ли чтобы он отсканировал штрих код товара и приложение показало, что именно этого товара в эту заявку надо 10 штук , затем сканирование следующий позиции и должно показать к примеру что надо 7 штук и тд. ? Желательно чтобы с фото товаром это показывалось .
75. informa1555 941 27.01.19 07:45 Сейчас в теме
(74) Сначала отвечу на вопрос: конечно можно! Конструктор для этого и создан. В операцию добавляете экран сканирования заказа (запоминаете заказ в переменной) и цикл "Сканирование товара -> показ количества и картинки". Можно еще в табличку "план-факт" отметку об уже проверенных выводить. Аналогичные примеры есть в демо базе. Ну и в инструкции это расписано. По поводу мессенджера - Вы меня добавили в друзья, теперь можете отправлять сообщения, я там напишу свой скайп и т.д.
76. VKuser27369978 27.01.19 11:29 Сейчас в теме
Не отправляется Сообщения в личку. Пишет - «сообщение не отправлено. отложенная группа.»
Добавьте меня пожалуйста в телеграм - @turister
77. VKuser27369978 27.01.19 11:41 Сейчас в теме
Ещё подскажите сможет ли Ваше приложение обмениваться информацией с сайтом moysklad.ru?
dev.moysklad.ru для разработчиков.
78. informa1555 941 27.01.19 11:49 Сейчас в теме
(77)
moysklad.ru
если они напишут обмен и логику обработчиков на своей стороне то да. Там REST API обычный. Но возможности конструктора реализованы на 1С.
79. user1139543 27.01.19 12:13 Сейчас в теме
(78)
Я не программист, а просто пользователь.
Вы могли бы дописать приложение чтобы Ваш конструктор работал с обменом данными информации через moysklad.ru?
80. informa1555 941 27.01.19 13:04 Сейчас в теме
(79) Приложение управляется с бекенда а не наоборот. Если программисты бекенда(мой склад) напишут серверное взаимодействие через rest API, то оно будет работать. Если не напишут то не будет. Я не могу повлиять на этот процесс так так отвечаю за фронт. Это приложение - это фронт и инструмент для разработчика который с него снимает необходимость заниматься мобильной разработкой, но логику обработчиков на сервере все равно прописывать надо. Надеюсь понятно написал.
81. WellMaster 98 28.01.19 11:07 Сейчас в теме
Интересный проект. Думаю, многим пригодится.
Чем-то похож на коробочное решение от Axelot (конфа WMS: Управление складом). Там тоже все на веб-сервисах. И установлен нативный клиент под WinMobile и WinCE. Для Андроида вроде тоже делали.

Главный минус: если вай-фай на складе имеет несколько точек доступа, а бесшовный роуминг не настроен (задача не тривиальная сама по себе), то периодически при переключении теряются пакеты с данными. Это невозможно отследить и исправить. Как результат: на сервере событие уже произошло, на клиенте - нет. И наоборот. Итог: постоянные глюки и требование бесшовного роуминга.

Вышли из ситуации при помощи RDP и написанию своего АРМ для работы с теми бизнес-процессами, которые нам нужны. Минусы: нужны доп.лицензии 1с (они есть), плюсы - при потере связи (даже кратковременной) не теряются пакеты, клиенты продолжают работать после возобновления.

Не берусь судить, как работает тут. Но как минимум, тут клиент только под андроид. Если на предприятии много устаревших ТСД - покупать новое обрудование довольно затратно.

Но нет худа без добра: как только перешли на RDP, границы возможностей резко стали шире, поскольку после этого появились АРМы под другие базы данных. Плюс возможность работать в одной БД через COM-соединение.

Вообщем, буду следить за проектом. Тема очень интересная и я с ней тесно связан.
user931544; Terve!R; informa1555; +3 Ответить
82. informa1555 941 28.01.19 11:22 Сейчас в теме
(81) Спасибо! Вариант клиента под RDP сейчас активно тестируется и готовится к релизу. Думаю к середине февраля будет. В итоге на одной "конфигурации клиента" будет работать экосистема клиентов: ТСД с 1С через RDP/или веб клиент + ТСД на андроид + обычные телефоны на андроид для других задач.
user931544; WellMaster; sersoft; +3 Ответить
83. vdscom 22 04.02.19 18:53 Сейчас в теме
Добрый день, Дмитрий.
Скачал демо-конфигурацию, развернул веб-сервис, через браузер база работает, мобильный клиент сообщает: "Не удалось получить конфигурацию. Установите адрес веб-сервиса и код клиента". Но эти параметры установлены... Код клиента 5, адрес http://192.168.0.100/hs/simplewms . Используется Windows 10 Pro + IIS + 1с 8.3.14.1595
В какую сторону копать ?.. Заранее спасибо за ответ
84. informa1555 941 04.02.19 19:10 Сейчас в теме
(83) Добрый день!Вы пропустили похоже имя сервиса. И логин/пароль пользователя 1С заданы? Если на устройстве открыть браузер и написать что то типа http://192.168.1.4:2312/TestWS/hs/simplewms/get_conf?code=5 (надо адрес ваш подставить) то должен возвращать конфу.
86. vdscom 22 04.02.19 21:35 Сейчас в теме
85. sersoft 04.02.19 19:17 Сейчас в теме
(83) У Вас пропущен корневое имя публикации конфигурации,
Ваш пример
http://192.168.0.100/hs/simplewms

Пример Дмитрия
http://192.168.1.4:2312/TestWS/hs/simplewms/

TestWS/ Это есть имя публикации, у Вас его нет, перед /hs/...
87. Skripagan 07.02.19 12:23 Сейчас в теме
Скажите пожалуйста. данная разработка поддерживает RFID считыватели в ТСД ?
89. informa1555 941 07.02.19 16:03 Сейчас в теме
(87) Здравствуйте! К сожалению нет, но в планах есть. А какой у вас тип меток?
88. vdscom 22 07.02.19 13:23 Сейчас в теме
Добрый день. Может ли мобильный клиент использовать GPS координаты, чтобы по ним определять адрес помещения ? У нас ОС находятся в помещениях у наших контрагентов, а им штрихкода не наклеишь :(
Спасибо
90. informa1555 941 07.02.19 16:04 Сейчас в теме
(88) Здравствуйте! Добавить можно, это не сложно. В следующем релизе добавлю.
ekors; vdscom; +2 Ответить
91. Froloid 66 08.02.19 12:13 Сейчас в теме
Куда деньги отправлять? ;0)
92. informa1555 941 08.02.19 12:52 Сейчас в теме
(91) Спасибо, не надо)) Это некоммерческий проект
93. Froloid 66 08.02.19 16:18 Сейчас в теме
(92) ну тогда просто большое Спасибо!
94. rolin555 22 09.02.19 09:43 Сейчас в теме
Спасибо автору за разработку.
...уже нашел, вопрос снимается...
95. informa1555 941 09.02.19 10:18 Сейчас в теме
(94) Спасибо! Обработчики выполняются модуле веб сервиса в процедуре ОбработатьДанныеКлиента(СтруктураJSON,ИмяМетода) и там есть тКодКлиента = СтруктураJSON.client; Соответственно в тКодКлиента хранится код справочника Мобильные клиенты. Ну или можно немного дописать и в структуру Переменные добавить код клиента там же
rolin555; +1 Ответить
96. rolin555 22 09.02.19 10:19 Сейчас в теме
(95) через Переменные сделал
97. rolin555 22 09.02.19 17:20 Сейчас в теме
Почему могут не завершаться сеансы в 1С "соединения с HTTP-сервером"?
Приложение давно закрыто, а сеансы висят
98. informa1555 941 09.02.19 18:35 Сейчас в теме
(97) Параметр "Время жизни сеанса" в веб сервисе сделан сильно большим. Отрегулируйте как Вам надо.
rolin555; +1 Ответить
99. rolin555 22 11.02.19 07:25 Сейчас в теме
ПолуОФФ.
Не хватает "вид элемента экрана" кнопки (button). Или клавиатуры как в боте у Телеграм. Тогда можно было бы прикрутить создание заказов для торговых представителей. Ввод количество уже есть, но необходимо как то "перемещаться" по иерархии справочника Номенклатуры.
P.S. Может и не в этой разработке, но с той же концепцией конструктора ;)
Оставьте свое сообщение