Вопросы по Simple UI/Simple WMS

1. informa1555 2713 25.02.19 10:52 Сейчас в теме
Вопросы-ответы для разработчиков по использованию конструктора [https://infostart.ru/public/1153616/] и [https://infostart.ru/public/976636/] .

!!!Новый форум для разработчиков: forum.simpleui.ru
f333; gorakh; colV; EasyWay; +4 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
802. informa1555 2713 17.11.22 19:19 Сейчас в теме
(800) а, ну да, по идее это оно. Как называется - интент и переменная- вопрос. Как вариант - документация, форумы, саппорт. Ещё вариант взять устройство, андроид Студио, подключить в режиме ADB, что то соскакивать и по дорогу в LogCat искать broadcast intent.

Поискал на форумах , попробуйте интент и переменную вот такие(первое интент, второе переменная):
ActionName: DATA_SCAN

Extra Data: com.hht.emdk.datawedge.data_string
804. al_zzz 301 18.11.22 08:26 Сейчас в теме
801. al_zzz 301 17.11.22 18:48 Сейчас в теме
(799)Больше там никаких настроек похожих на то, что вы писали я не нашёл. В том числе и в документации.
803. informa1555 2713 17.11.22 19:19 Сейчас в теме
(801) ответил на предыдущее
805. al_zzz 301 18.11.22 08:29 Сейчас в теме
(803)Попробовал указанные значения ввести - не работает. Похоже, у меня эти параметры по другому называются.
Прикрепленные файлы:
806. al_zzz 301 18.11.22 10:11 Сейчас в теме
(803) Стянул лог через ADB, не могу понять, что взять в качестве метода, а что в качестве переменной.
Прикрепленные файлы:
Новый текстовый документ.txt
808. informa1555 2713 18.11.22 10:46 Сейчас в теме
(806) Ну попробуйте SCAN_DECODING_BROADCAST и переменная barcode
807. al_zzz 301 18.11.22 10:43 Сейчас в теме
(803) Запросил у Атола информацию по ТСД. Они мне вот что ответили:
"Для работы через бродкасты потребуется прописать переменные в соответствующих
полях на стороне приложения, а также предварительно в утилите сканера
необходимо выбрать соответствующий режим трансляции данных (Barcode Utility >
Scan Setting > Data Receive Method > Broadcast_Event).

Пример:
Smart.Slim Plus:
Событие Android (action name) =
com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST
Строка с данными ШК (extra data) = EXTRA_BARCODE_DECODING_DATA"
После того, как в качестве метода указал "com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST", а переменной EXTRA_BARCODE_DECODING_DATA, стал получать в приложении при сканировании сообщение(Скрин), хотя при сканировании в утилите сканера отображается верный шк.
Прикрепленные файлы:
809. informa1555 2713 18.11.22 10:49 Сейчас в теме
(807) в логе не видно переменной и непонятно как она задана (строка или bytearray)
810. al_zzz 301 18.11.22 10:56 Сейчас в теме
(809) Всё заработало! Спасибо большое!
Подскажите ещё, Дмитрий: как сделать в онлайн режиме задачу для пользователя с уведомлением? - Не нашёл этого в документации и в примере.
811. informa1555 2713 18.11.22 11:26 Сейчас в теме
(810) уведомления (которые в шторке) - basic_notification. Задачи это которые внизу рядом с чатом?
812. al_zzz 301 18.11.22 11:49 Сейчас в теме
813. informa1555 2713 18.11.22 12:41 Сейчас в теме
(812) Там в список берется из таблицы todo, сам список (в эту таблицу) пытается подтянуть из /get_tasklist?code= (URL конфы) либо из потгре. Примеры были давно. Этот функционал по идее надо пересмотреть и обновить, так как платформа сильно развилась, руки не дошли. Это писалось еще в "допитоновскую" эпоху, сейчас как вариант можно из питона дергать задачи, отправлять их в todo посылать уведомления (+на иконке задач они еще рисуются сами).
814. al_zzz 301 09.12.22 10:52 Сейчас в теме
(809) Здравствуйте, Дмитрий! Подскажите по подключению ТСД(Атол ТСД Slim). Выше вы помогали мне запустить сканер на нём. Сканер запустился, но с ним такая проблема: после перезагрузки ТСД он не работает(нажатие на кнопки не вызывает сканирования). В утилите сканирования запускаю - сканирует. Из SimpleUI - не реагирует. У меня на том же ТСД установлен Склад 15 Cleverence - вот если его запущу и отсканирую что-нибудь, то потом начинает нормально работать и в SimpleUI. Как его настроить, чтоб сразу подключался?
815. informa1555 2713 09.12.22 11:41 Сейчас в теме
(814) Добрый день! "Нажатие кнопки не вызывает сканирования" - это что имеется ввиду - сам лазер не включается? Если это так то тут 2 варианта 1) это есть в настройках сканера 2) это делается через API как я для Урово делал в последнем релизе (есть на видео) - т.е. там нужна функция которая включит сканер. Но это как то странно.
816. al_zzz 301 09.12.22 11:47 Сейчас в теме
(815) Да, верно, лазер не включается.
817. informa1555 2713 09.12.22 12:28 Сейчас в теме
(816) Ну варианты я написал выше значит
818. Алексей1971 20.12.22 21:59 Сейчас в теме
Добрый день.
В документации написано:
"Нам нужно передать настройки подключения к сервису конструктора на устройстве. Это можно сделать через QR-код, который генерирует конструктор – Файл- QR-настройки. Запустите Simple UI на устройстве и выберите в меню QR-настройки, сканируйте код и перезапустите приложение (либо нажать в главном меню Обновить приложение). На устройстве должно появиться меню конфигурации – развертывание прошло успешно."
К сожалению, не могу заставить приложение на телефоне загрузить конфигурацию из QR кода данного конструктором . Код считывает но не добавляет конфигурацию в приложение.Как с этим справиться?
819. informa1555 2713 20.12.22 22:22 Сейчас в теме
(818) Добрый день! QR код просто передает настройки подключения, которые также можно указать вручную в настройках. Судя по всему с телефона не получается достучаться до сервиса опубликованного с конструктора. Причины могут быть разные - файрвол, vpn и т.д. Надо чтобы url указанный в настройках открывался, это можно проверить из браузера устройства, там обычный get запрос. Также конфу можно просто передать в виде файла и открыть симплом. Посмотрите на форуме выше - это каждый второй вопрос тут.
820. a_kristina_v 26.01.23 16:32 Сейчас в теме
Добрый день. Подскажите, в чем может быть проблема. В контейнере добавила кнопку, и событие во вводу:
Переменные.Вставить("ShowDialog","Экран Вопрос Выполнить");
Переменные.Вставить("ShowDialogStyle","{""title"": ""Выполнить?"", ""yes"": ""Да"", ""no"": ""Нет"" }");
Но модальное окно не отображается( Хотя в примере этот же код работает.
821. informa1555 2713 26.01.23 16:52 Сейчас в теме
(820) Добрый день! Может экрана такого нет с контейнером?
849. vx_gas 32 17.08.24 13:52 Сейчас в теме
(820)
Переменные.Вставить("ShowDialog", "doc_edit_end");
Переменные.Вставить("ShowDialogStyle", "{ ""title"": ""Завершить работу с документом"", ""yes"": ""Да"", ""no"": ""Отмена"" }");

в обработчике формы, "oninput", listener="doc_edit_end", run, online

и дальше обработчик в 1с
процедура ...
Событие = "";
Если Переменные.Свойство("event", событие)
и событие = "onResultPositive" Тогда
КонецЕсли;
КонецПроцедуры;

Так будет работать
822. a_kristina_v 26.01.23 16:58 Сейчас в теме
Экран такой есть. Там контейнер с полем типа надпись. У вас в примере я нашла что можно вообще не указывать экран. Но так тоже не работает. Вообще нужно вот так.
Прикрепленные файлы:
823. informa1555 2713 26.01.23 17:22 Сейчас в теме
(822) а само событие работает? Отладкой проверить или тостом - оно есть? Если да то честно говоря больше даже не знаю что и предположить....
824. a_kristina_v 27.01.23 09:00 Сейчас в теме
(823) Нашла причину. Не работает условие "ИначеЕсли" почему-то. Разделила на два отдельных условия и все отработало. Спасибо.
informa1555; +1 Ответить
825. alex_shkut 63 27.02.23 12:56 Сейчас в теме
GET #odata/Catalog_Номенклатура?$format=json&$top=100
URL OData прописан, но в вызове вырезает /odata/standard.odata/
если в URL OData пишу
#odata/odata/standard.odata/Catalog_Номенклатура?$format=json&$top=100
строка вызова выглядит нормально, но 1С посылает.
если из браузера
/simpleui/odata/standard.odata/Catalog_Номенклатура?$format=json&$top=100 отрабатывает нормально
ЧЯДНТ?
826. informa1555 2713 27.02.23 14:30 Сейчас в теме
(825) Добрый день. При инициализации альяса в "HTTPAddAlias" в url пишется все что слева. например http://192.168.1.150:2312/kademo/odata/standard.odata , также при инициализации имеет смысл указать заголовки и логин/пароль как в примере hashMap.put("HTTPAddAlias",json.dumps({"alias":"odata","url":hashMap.get("url"),"headers":{"Content-Type":"application/json; charset=utf-8","Accept":"*/*"},"basic":{"user":hashMap.get("user"),"password":hashMap.get("password")}},ensure_ascii=False))
846. anig99 2852 11.04.23 13:16 Сейчас в теме
(826) Возник такой вопрос. Вот я заполнил HTTPAddAlias. Он у меня подставляется в обработчик http. Метод пишу Get

GET #odata/hs/marking/V1/MarkInfo?

Соответственно возникает вопрос. А что дальше? Как мне воспользоваться ответом? Как его увидеть? При выполнение метода просто на экране появляется синяя надпись со строкой адреса и всё.
827. alex_shkut 63 27.02.23 14:55 Сейчас в теме
Так так и есть. Но при вызове HTTP запроса из Демо 2.0 остается только МойСервис/Catalog_Номенклатура?$format=json&$top=100
828. alex_shkut 63 27.02.23 14:56 Сейчас в теме
Т.е. /odata/standard.odata/ куда-то исчезает.
829. alex_shkut 63 27.02.23 14:57 Сейчас в теме
/simpleui/odata/standard.odata/Catalog_Номенклатура $format=json&$top=100 80 - 192.168.0.251 Dalvik/2.1.0+(Linux;+U;+Android+12;+2201116PG+Build/SKQ1.211006.001) - 401 5 0 15 - с мобилы.
830. alex_shkut 63 27.02.23 14:58 Сейчас в теме
/simpleui/odata/standard.odata/Catalog_Номенклатура $format=json&$top=100 80 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/110.0.0.0+Safari/537.36 - 200 0 0 247 - из браузера. GET - в обоих случаях.
831. alex_shkut 63 27.02.23 15:00 Сейчас в теме
Т.е. браузер отрабатывает 100%, а из SimpleUI что-то не дорабатывает.
832. informa1555 2713 27.02.23 15:16 Сейчас в теме
(831) Но у меня ничего не обрезается. Запишите в другой псевдоним для проверки. какой нибудь odata2
833. stos 34 23.03.23 21:35 Сейчас в теме
Добрый день.
Сделал customtable.
При первоначальном выводе отображается криво, как на первом скрине.
Теперь если ткнуть в ячейку с наименованием Товар 1,
то таблица перерисуется и станет нормально выглядеть, как на втором скрине.
Теперь можно сколько угодно тыкать для перерисовки, результат будет таким, как и задумано.

Однако, если прокрутить изображение на экран вверх, а потом вернуть на экран вниз,
то изображение снова испортится, и вернется к первоначальном виду.

Что я делаю не так?
Прикрепленные файлы:
834. informa1555 2713 23.03.23 21:52 Сейчас в теме
(833) Добрый день! Что то с разметкой. Можно контенеры справа (которых 6 маленьких) упаковать в контейнер с такой же высотой как у левого. И всё это в вертикальном контейнере. Честно говоря таких сложных сроду не видел)
835. stos 34 23.03.23 22:02 Сейчас в теме
(834) Это все динамическое. У каждого товара может быть от одной до восьми видов упаковки, у каждого вида упаковки, в свою очередь, может быть от одной до пяти дат производства
836. stos 34 23.03.23 22:08 Сейчас в теме
(834)Все надписи которые выделены жирным - это Button. Нажать на любую из них - установится соответствующий фильтр и таблица выведется с учетом этого фильтра. Может, подскажите, на какие реквизиты разметки обратить внимание? Кажется, все перепробовал(
837. informa1555 2713 23.03.23 22:25 Сейчас в теме
(836) реквизит только один высота - либо mach_parent либо 0. Я говорю запакуйте это в вертикальный контейнер (правые, которые в 2 ряда или больше рядов)
838. informa1555 2713 23.03.23 22:26 Сейчас в теме
(837) ну или пришлите переменную с данными этой таблицы, я завтра запущу, посмотрю
839. stos 34 23.03.23 22:36 Сейчас в теме
(838)Ура, получилось. Запаковал ряд Дата-План-Факт в вертикальный контейнер и всё стало красиво. Спасибо!
840. user1928042 27.03.23 14:41 Сейчас в теме
Добрый день. Хочу организовать работу через Simple UI с мой склад.

Одной из задач является отображение содержимого ячейки в Моём складе. API для этого в Моём складе нет, поэтому, принято решение по отсканированному штрихкоду получать имя ячейки и формировать ссылку, при нажатии которой должен открываться сайт мой склад с содержимым ячейки.

Вопрос, как в Simple UI отобразить ссылку или кнопку, чтобы при нажатии на неё открывался браузер с этой ссылкой в адресной строке?

Пытался сделать через элемент HTML - ссылку отображает, но при нажатии никуда не переходит. Через нажатие кнопки и код в Python тоже не получилось.
841. informa1555 2713 27.03.23 15:40 Сейчас в теме
(840) Добрый день! Интересно было бы узнать как все получится в целом. С Моим складом ещё не встречал интеграции. По поводу вашего вопроса: все надписи в симпле поддерживают html - просто Надпись, таблицы и т.д. То есть в надписи можно вывести Привет "мир" Аналогично можно с href=. Примеры можно например тут глянуть https://stackoverflow.com/questions/2734270/how-to-make-links-in-a-textview-clickable
842. user1928042 27.03.23 23:57 Сейчас в теме
(841) Спасибо за подсказку. Работает вариант когда в href указана полная ссылка (Ссылка) - При нажатии ссылка открывается в браузере, как и хотелось.

По поводу Моего склада - у них есть своё приложение для ТСД, но не весь необходимый функционал в нём реализован, поэтому и возникла идея сделать нужный функционал самостоятельно. Вся работа с ним ведётся через JSON API (POST запросы), поэтому теоретически имея в арсенале Python ничего сложного там нет. На практике же посмотрим :-).
843. stos 34 03.04.23 10:22 Сейчас в теме
Добрый день. А есть возможность распознавать штрихкоды с фотки, а не с видеопотока ActiveCV?
Например, прислали фотку (прикреплена). Нужно узнать, какие символы содержатся в штрихкоде.
На самом деле это код маркировки. По коду маркировки у нас ведется вся статистика: кто, когда её нанес и т.п.
После получения кода маркировки из базы будет получена вся эта статистика и представлена пользователю
Прикрепленные файлы:
844. informa1555 2713 03.04.23 11:08 Сейчас в теме
(843) Добрый день. Распознавание камерой(на экранах или ActiveCV) и так с фотки получается. Если речь о том что закинуть файл на устройство и там питоном распознать то в ближайшем (не следующем, а через) релизе будет добавлен opencv и им уже можно это проделывать. Но опять же - это проще помоему не на носимых устройствах а где то на ПК делать. Библиотек под тот же пайтон - полно. Кстати есть чат, можно во нем вопросы создавать. https://t.me/simpledevchat
845. stos 34 04.04.23 08:38 Сейчас в теме
(844)Спасибо. Жду следующего и следующего-следующего релиза. На устройстве практичнее - можно фотки получить с полей и получать всю статистику, а можно самим на складе оперативно сканировать коды и тоже получать статистику, не бегая с каждой фоткой к компу.
847. user2083700 25.04.24 13:28 Сейчас в теме
Добрый день.
Устройство: ATOL Smart Slim.
Любое действие например сканирование QR, или штрих кода конфигурации приводит к ошибке камеры.
Как можно обойти этот момент на данном устройстве ?
848. vx_gas 32 17.08.24 11:52 Сейчас в теме
Всем привет. Тема уже "поостыла", но я для того чтобы помочь коллегам мученикам последователям решил написать немного про терминал и simple ui. Итак: у меня терминал Smart_Slim_Plus Атол. Я прочитал весь форум, нашел тут много интересного, но оно не помогло. Что помогло мне, изменение имени события и переменной, но опишу все по шагам, у меня русскоязычная версия, для нее не нашел манов на форуме, поэтому всю настройку опишу тут.
1. Свайпаем снизу вверх и идем в список приложений, находим там иконку с шестерней белой, на темно бардовом, почти черном фоне, с надписью "barcode...". Это "barcode service" штукенция для настройки сканера штрих кодов.
2. В левом верхнем углу есть три полоски, там настройки, нажимаем ее появляется меню
3. Идем сперва в пункт "Профили настроек", снимаем там галку "Автоматическая смена профиля по активному приложению" (возможно мой "затык" был тут, а не в именах события и переменных, но экспериментировать буду на следующем терминале, может отпишусь. Сейчас пишу как работает у меня)
4. Нажимаем кнопку "Назад", чтобы сохранить настройку.
5. Идем в пункт 1 меню под названием "Общие настройки"
6."Отправка сканирования через" выбираем "broadcast",
7. Далее приведу настройки по умолчанию, если кто сбил их, то может выставить отсюда или нажать внизу кнопку "Сбросить настройки". Итак настройки:
"Инверсные коды" - да (они включены по умолчанию, но на всяк случай если выключены, то включите, хорошая штука), "Подсветка" - да, "Прицел" - да, "Режим сканирования" - Однократное, "Размер поля сканирования" -= 4/4, "Уведомление об успешном сканировании" - звук, "Кнопки" все 3 шт. да, Префиксы- везде пусто, Суффиксы - везде пустой, "Клавиши до сканирования и Клавиши после сканирования" - везде пусто. "Преобразование регистра" - хорошая штука, у меня стоит нет, но на некоторых проектах я выбирал "в нижний регистр"
8. Переходим к самому интересному: Intent name
com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST
я его поменял на "com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST" (без кавычек)
9. Строка с данными extra data = EXTRA_BARCODE_DECODING_DATA
я ее поменял на "EXTRA_BARCODE_DATA" (без кавычек)
10. Далее нажимаем в левом верхнем углу кнопку со стрелочкой влево и выходим, настройки сохранились.
11. Идем в приложение в Simple ui, приложение открылось, правый верхний угол, там в меню выбираем пункт "Настройки"
12. В настройках ищем серую полоску с надписью "Настройки оборудования", под ней находится то что нам надо. "Использовать подписку на событие сканера", это чек бокс, в нем проставить "галку".
13. Сообщение сканера, берем содержимое из поля, которое в пункте 8, я прям из одного приложения в другое встроенным копипастом копировал, и указываем здесь.
14. Переменная сканера, берем значение из пункта 9
15. Сохраняем, перезапускаем симпл, радуемся :)
850. informa1555 2713 17.08.24 17:31 Сейчас в теме
(848) Здравствуйте! Спасибо, полезно. На всякий случай пару ссылок на актуальный форум и телегу с релизами: https://t.me/simpledevchat и https://t.me/devsimpleui
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот