(800) а, ну да, по идее это оно. Как называется - интент и переменная- вопрос. Как вариант - документация, форумы, саппорт. Ещё вариант взять устройство, андроид Студио, подключить в режиме ADB, что то соскакивать и по дорогу в LogCat искать broadcast intent.
Поискал на форумах , попробуйте интент и переменную вот такие(первое интент, второе переменная):
ActionName: DATA_SCAN
(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) Всё заработало! Спасибо большое!
Подскажите ещё, Дмитрий: как сделать в онлайн режиме задачу для пользователя с уведомлением? - Не нашёл этого в документации и в примере.
(812) Там в список берется из таблицы todo, сам список (в эту таблицу) пытается подтянуть из /get_tasklist?code= (URL конфы) либо из потгре. Примеры были давно. Этот функционал по идее надо пересмотреть и обновить, так как платформа сильно развилась, руки не дошли. Это писалось еще в "допитоновскую" эпоху, сейчас как вариант можно из питона дергать задачи, отправлять их в todo посылать уведомления (+на иконке задач они еще рисуются сами).
(809) Здравствуйте, Дмитрий! Подскажите по подключению ТСД(Атол ТСД Slim). Выше вы помогали мне запустить сканер на нём. Сканер запустился, но с ним такая проблема: после перезагрузки ТСД он не работает(нажатие на кнопки не вызывает сканирования). В утилите сканирования запускаю - сканирует. Из SimpleUI - не реагирует. У меня на том же ТСД установлен Склад 15 Cleverence - вот если его запущу и отсканирую что-нибудь, то потом начинает нормально работать и в SimpleUI. Как его настроить, чтоб сразу подключался?
(814) Добрый день! "Нажатие кнопки не вызывает сканирования" - это что имеется ввиду - сам лазер не включается? Если это так то тут 2 варианта 1) это есть в настройках сканера 2) это делается через API как я для Урово делал в последнем релизе (есть на видео) - т.е. там нужна функция которая включит сканер. Но это как то странно.
Добрый день.
В документации написано:
"Нам нужно передать настройки подключения к сервису конструктора на устройстве. Это можно сделать через QR-код, который генерирует конструктор – Файл- QR-настройки. Запустите Simple UI на устройстве и выберите в меню QR-настройки, сканируйте код и перезапустите приложение (либо нажать в главном меню Обновить приложение). На устройстве должно появиться меню конфигурации – развертывание прошло успешно."
К сожалению, не могу заставить приложение на телефоне загрузить конфигурацию из QR кода данного конструктором . Код считывает но не добавляет конфигурацию в приложение.Как с этим справиться?
(818) Добрый день! QR код просто передает настройки подключения, которые также можно указать вручную в настройках. Судя по всему с телефона не получается достучаться до сервиса опубликованного с конструктора. Причины могут быть разные - файрвол, vpn и т.д. Надо чтобы url указанный в настройках открывался, это можно проверить из браузера устройства, там обычный get запрос. Также конфу можно просто передать в виде файла и открыть симплом. Посмотрите на форуме выше - это каждый второй вопрос тут.
Добрый день. Подскажите, в чем может быть проблема. В контейнере добавила кнопку, и событие во вводу:
Переменные.Вставить("ShowDialog","Экран Вопрос Выполнить");
Переменные.Вставить("ShowDialogStyle","{""title"": ""Выполнить?"", ""yes"": ""Да"", ""no"": ""Нет"" }");
Но модальное окно не отображается( Хотя в примере этот же код работает.
(820)
Переменные.Вставить("ShowDialog", "doc_edit_end");
Переменные.Вставить("ShowDialogStyle", "{ ""title"": ""Завершить работу с документом"", ""yes"": ""Да"", ""no"": ""Отмена"" }");
в обработчике формы, "oninput", listener="doc_edit_end", run, online
и дальше обработчик в 1с
процедура ...
Событие = "";
Если Переменные.Свойство("event", событие)
и событие = "onResultPositive" Тогда
КонецЕсли;
КонецПроцедуры;
Экран такой есть. Там контейнер с полем типа надпись. У вас в примере я нашла что можно вообще не указывать экран. Но так тоже не работает. Вообще нужно вот так.
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 отрабатывает нормально
ЧЯДНТ?
(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))
(826) Возник такой вопрос. Вот я заполнил HTTPAddAlias. Он у меня подставляется в обработчик http. Метод пишу Get
GET #odata/hs/marking/V1/MarkInfo?
Соответственно возникает вопрос. А что дальше? Как мне воспользоваться ответом? Как его увидеть? При выполнение метода просто на экране появляется синяя надпись со строкой адреса и всё.
/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 - в обоих случаях.
Добрый день.
Сделал customtable.
При первоначальном выводе отображается криво, как на первом скрине.
Теперь если ткнуть в ячейку с наименованием Товар 1,
то таблица перерисуется и станет нормально выглядеть, как на втором скрине.
Теперь можно сколько угодно тыкать для перерисовки, результат будет таким, как и задумано.
Однако, если прокрутить изображение на экран вверх, а потом вернуть на экран вниз,
то изображение снова испортится, и вернется к первоначальном виду.
(833) Добрый день! Что то с разметкой. Можно контенеры справа (которых 6 маленьких) упаковать в контейнер с такой же высотой как у левого. И всё это в вертикальном контейнере. Честно говоря таких сложных сроду не видел)
(834) Это все динамическое. У каждого товара может быть от одной до восьми видов упаковки, у каждого вида упаковки, в свою очередь, может быть от одной до пяти дат производства
(834)Все надписи которые выделены жирным - это Button. Нажать на любую из них - установится соответствующий фильтр и таблица выведется с учетом этого фильтра. Может, подскажите, на какие реквизиты разметки обратить внимание? Кажется, все перепробовал(
(836) реквизит только один высота - либо mach_parent либо 0. Я говорю запакуйте это в вертикальный контейнер (правые, которые в 2 ряда или больше рядов)
Добрый день. Хочу организовать работу через Simple UI с мой склад.
Одной из задач является отображение содержимого ячейки в Моём складе. API для этого в Моём складе нет, поэтому, принято решение по отсканированному штрихкоду получать имя ячейки и формировать ссылку, при нажатии которой должен открываться сайт мой склад с содержимым ячейки.
Вопрос, как в Simple UI отобразить ссылку или кнопку, чтобы при нажатии на неё открывался браузер с этой ссылкой в адресной строке?
Пытался сделать через элемент HTML - ссылку отображает, но при нажатии никуда не переходит. Через нажатие кнопки и код в Python тоже не получилось.
(840) Добрый день! Интересно было бы узнать как все получится в целом. С Моим складом ещё не встречал интеграции. По поводу вашего вопроса: все надписи в симпле поддерживают html - просто Надпись, таблицы и т.д. То есть в надписи можно вывести Привет "мир" Аналогично можно с href=. Примеры можно например тут глянуть https://stackoverflow.com/questions/2734270/how-to-make-links-in-a-textview-clickable
(841) Спасибо за подсказку. Работает вариант когда в href указана полная ссылка (Ссылка) - При нажатии ссылка открывается в браузере, как и хотелось.
По поводу Моего склада - у них есть своё приложение для ТСД, но не весь необходимый функционал в нём реализован, поэтому и возникла идея сделать нужный функционал самостоятельно. Вся работа с ним ведётся через JSON API (POST запросы), поэтому теоретически имея в арсенале Python ничего сложного там нет. На практике же посмотрим :-).
Добрый день. А есть возможность распознавать штрихкоды с фотки, а не с видеопотока ActiveCV?
Например, прислали фотку (прикреплена). Нужно узнать, какие символы содержатся в штрихкоде.
На самом деле это код маркировки. По коду маркировки у нас ведется вся статистика: кто, когда её нанес и т.п.
После получения кода маркировки из базы будет получена вся эта статистика и представлена пользователю
(843) Добрый день. Распознавание камерой(на экранах или ActiveCV) и так с фотки получается. Если речь о том что закинуть файл на устройство и там питоном распознать то в ближайшем (не следующем, а через) релизе будет добавлен opencv и им уже можно это проделывать. Но опять же - это проще помоему не на носимых устройствах а где то на ПК делать. Библиотек под тот же пайтон - полно. Кстати есть чат, можно во нем вопросы создавать. https://t.me/simpledevchat
(844)Спасибо. Жду следующего и следующего-следующего релиза. На устройстве практичнее - можно фотки получить с полей и получать всю статистику, а можно самим на складе оперативно сканировать коды и тоже получать статистику, не бегая с каждой фоткой к компу.
Добрый день.
Устройство: ATOL Smart Slim.
Любое действие например сканирование QR, или штрих кода конфигурации приводит к ошибке камеры.
Как можно обойти этот момент на данном устройстве ?
Всем привет. Тема уже "поостыла", но я для того чтобы помочь коллегам мученикам последователям решил написать немного про терминал и 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. Сохраняем, перезапускаем симпл, радуемся :)