Имя: Пароль:
1C
 
Honeywell - отправка http post запроса в 1С
0 Прохожий
 
21.07.26
12:45
кто с интентами этого сканера работал подскажите:
MacroDroid сделал триггер, все прекрасно летает на нужный интент, но макрос
{"barcode":"%data", "name": "vasya"}
в ДанныеJSON.barcode так и возвращает "%data". Если будет  "{data}" тоже не просчитывает.
Есть вариант написать "{clipboard}", тогда из буфера берет что есть. Но как результат сканирования поместить в буфер?
В общем желательно как-то переменные интента разворошить, но не ясно как до них докопаться
1 Прохожий
 
21.07.26
12:49
В "{clipboard}" я поместить результат не могу настройка позволяет только в текстовое поле выводить.
2 p-soft
 
21.07.26
12:51
если разблокирована настройка ручного ввода интента, то лучше ее задать и использовать. вендор предлагает еще предопределенный интент, но видно рассчитано на свою экосистему - глючит.
3 Прохожий
 
21.07.26
12:55
Я и задал новый интент, сделал к нему триггер. Как в json правильно обратиться к переменной, содержащей результат сканирования? Ее надо как-то объявить как локальную или глобальную в MacroDroid и только потом использовать в тексте json или напрямую можно как у "{clipboard}"?
4 p-soft
 
21.07.26
12:57
(3) прростите, а что такое макродроид и при чем тут интенты хонейвел? и что вы вообще такое интересное творите?)
5 H A D G E H O G s
 
21.07.26
12:58
Honeywell-ы шлют поток байтов, а не строку, думаю, в этом проблема.
6 H A D G E H O G s
 
21.07.26
12:58
(4) Как мы ревностно реагируем на конкурентов, ты погляди.
7 p-soft
 
21.07.26
13:00
(5) нет. все либо шлют строку, либо есть выбор типа данных
8 p-soft
 
21.07.26
13:03
(6) не слышал даже.. тогда понятно. думал утилита какая то чисто для макросов
9 Прохожий
 
21.07.26
13:05
(8) Хорошо, другая утилита для макросов, которая перехватит сканированный штрихкод и отправит в HTTP? Что предлагаете вместо?
10 Прохожий
 
21.07.26
13:06
(4) интент хонейвел надо передать HTTP 1с.
11 p-soft
 
21.07.26
13:07
(9) накидать несколько десятков строк на мп 1с?
а почему именно макрос? что за задача?
12 Прохожий
 
21.07.26
13:09
(5) В каком виде шлют?
13 Прохожий
 
21.07.26
13:09
(11) Мобильное приложение - это дополнительные лицензии.
14 Прохожий
 
21.07.26
13:10
сканер сканирует, кидает в 1с все что сосканировал. Отправляет свое имя и скан.
15 p-soft
 
21.07.26
13:10
(10) понятно. кроме мп 1с ничего в голову не приходит. причем надо сервисом делать.
16 Прохожий
 
21.07.26
13:13
Сомневаюсь что honeywall вообще мп учитывала когда свои сканеры проектировала.
Сосканированый штрихкод бросить в HTTP.
1с вообще тут ни о чем.
17 p-soft
 
21.07.26
13:14
(13) ну описанная задача кучу нюансов тянет. например, как параметры задавать.
в принципе, можно андроид студио развернуть и через алису попробовать на котлине или яве написать.
18 p-soft
 
21.07.26
13:18
(16) просто так сосканировать шк и бросить в хттп не получится. много попутных задач надо решать. начиная от нюансов использования протокола хттп на разных версиях андроида, заканчивая необходимостью обеспечения механизма контроля переданных данных, т.к. разрыв связи для хттп - норма
19 Fragster
 
гуру
21.07.26
16:41
нарисуй простейшую вебстраничку с использованием https://github.com/FragsterAt/barcode_hid_reader и шли данные с помощью js
20 Fragster
 
гуру
21.07.26
16:43
да или даже просто с полем ввода, пусть ловит submit у формы
21 Прохожий
 
22.07.26
06:03
(19) Вэбстраничка будет зло, наверное сервис с парой функций. Подумаем...
22 Прохожий
 
22.07.26
06:04
На экран марать не надо точно.
23 Прохожий
 
22.07.26
12:06
в общем андроид приложение готово. Но есть сюрпризы. Интент андроида не может читать сканер. Поэтому приходится ставить SDK вендора... И читает только при открытом окне программы. То есть интенты андроида идут лесом. Такая беда...
24 Прохожий
 
22.07.26
12:10
Ну всякие перехватчики интента типа MacroDroid вообще не годятся потому что служба сканера Honeywell EDA57 отправляет чистый интент (Broadcast), в котором контейнер Bundle (Extras) физически отсутствует.
25 Прохожий
 
22.07.26
12:10
В общем весело. Чего и всем желаю. Тема закрыта.
26 Прохожий
 
22.07.26
12:11
(22) Это не сбылось.
27 p-soft
 
22.07.26
12:11
(23) приложение на чем? котлин? интент правильно надо задавать: экшен, категория, данные.
вендор-сдк привязывает ситуацию к конкретной модели тсд. разбирайтесь с проблемой
28 Fragster
 
гуру
22.07.26
12:13
(24) там в настройках можно переключить в клавиатурный режим и забыть об интентах
29 Fragster
 
гуру
22.07.26
12:13
по крайней мере я не видел ТСД на андроиде без этой фичи
30 p-soft
 
22.07.26
12:14
(24) значит они вместо имени поля данных "data" используют какую то экзотику, типа "data_string" и т.п.
берете апк утилиты и смотрите ее строковые ресурсы, подбираете варианты.
31 p-soft
 
22.07.26
12:15
(29) да, передача шк через интенты - фактически стандарт, но бывают разные извращения
32 p-soft
 
22.07.26
12:17
(24) и да, контейнер возможно кто то напрямую и использует, но в основном, инкапсулируют строку или массив байт внутри интента
33 p-soft
 
22.07.26
12:19
и скиньте сюда фотку раздела меню, откуда на настройку интента переход. там варианты могут быть
34 p-soft
 
22.07.26
12:22
вот смотрю настройки eda60, так там есть пункт "scan to intent" и есть отдельно "data intent". прикол в том, что нормально работает только второй пункт. и поле данных прошито как "data" и поменять нельзя
35 p-soft
 
22.07.26
12:25
(34) то есть чтобы заработало, надо отключать все лишнее и в разделе "data intent" прописать идентификатор события в "action". больше ничего задавать не надо, поля должны быть пустыми. приемник настраивается на прием указанной команды, категория не задается, поле данных (extras) - "data"
36 p-soft
 
22.07.26
12:27
в общем, с 21го года я не встречал тсд, где это бы не работало.
37 Новиков
 
22.07.26
12:54
(28) можно переключить в клавиатурный режим и забыть об интентах
Кажется, ТС и хотел от этого уйти через интенты.
38 Fragster
 
гуру
22.07.26
13:14
(37) как раз наоборот, макродроид слушает интенты и делает дела.
39 Fragster
 
гуру
22.07.26
13:18
в способе с клавиатурой есть косяк в том, что нужно, чтобы "слушатель" (вебстраница или приложение) были активны, а с интентом - не обязательно. но вообще это не большое неудобство.
40 Прохожий
 
22.07.26
13:30
(28) Можно. Но не наш путь.
Колхоз совсем
41 Прохожий
 
22.07.26
13:31
(30) Вообще ничего он не содержит, NULL вместо коллекции. В любом случае все решилось.
42 Прохожий
 
22.07.26
13:33
(35) есть. Не работает.EDA75. Вчера предложил поговорить. Сегодня все варианты уже попробовали. Практической пользы от разговора уже нет.
43 Прохожий
 
22.07.26
13:35
(37) интент с полностью чистым бандлом, фича какая-то. Макродроид интент ловит. Это как раз не сложно.
44 Fragster
 
гуру
22.07.26
13:36
(40) колхоз не колхоз, а нормальное рабочее место можно сделать, а не тупо "ремоут сканнер в 1с"
45 p-soft
 
22.07.26
13:41
(41) вы явно ковыряли не в том направлении, если говорите про "коллекции". в коде обработки интента пишется что то вроде String str = intent.getStringExtras("data"); и str имеете строку с штрихкодом. или байты, или массив строк или байт..
(42) везите, полечим) можно с пивом)
46 Новиков
 
22.07.26
14:22
(39) в способе с клавиатурой есть косяк в том, что нужно, чтобы "слушатель" (вебстраница или приложение) были активны

Так именно от этого и хотел уйти ТС, обозвав это колхозом :)

А с интентом, тебе этого не нужно, у тебя же событие в 1с прокидывается, ты там его ловишь, без всей этой дополнительной "Активности" приложения/формы.
47 Fragster
 
гуру
22.07.26
14:28
(46) я вот за всю тему про нежелание иметь активное приложение от топикстартера не увидел.
да и сам подход прокидывания ШК прям в веб сервис 1с - такое себе, практическое применение весьма ограничено и является не меньшим колхозом.
полноценное же рабочее место в любом случае требует чего-то активного на экране и двустороннего обмена данными.
48 Fragster
 
гуру
22.07.26
14:31
все-таки очень хочется причесать и выложить свой ремоут сканер. там все просто - в клиенте 1с открываешь форму со штрихкодом, сканируешь её с устройства, далее все что отсканируешь на устройстве - прилетает в этот сеанс. работает через внешнюю компоненту + вебсокет сервер.
49 Новиков
 
22.07.26
14:39
(48) все что отсканируешь на устройстве - прилетает в этот сеанс

Я вспомнил старый добрый беспроводной сканер с памятью на 200 ШК :) Ходишь себе, пикаешь, подошел к базе - тот тебе все слил, ты в обработку к себе все это и поймал. Получается, что все новое - это хорошо забытое старое.
50 Прохожий
 
22.07.26
14:40
(44) Андроид приложение ок работает. сейчас уже смотрю как удобнее будет автообновление андроид приложения замутить. В принципе все добро оно мне уже делает
51 Прохожий
 
22.07.26
14:45
(47) Мы не полноценные. у нас задача.
52 Fragster
 
гуру
22.07.26
14:53
(50) с вебстраничкой проблемы автообновления не стоит )
53 Fragster
 
гуру
22.07.26
14:54
(49) >Я вспомнил старый добрый беспроводной сканер с памятью на 200 ШК

это называется "дата-коллектор", оно не онлайн. а ремоут сканнер - прямо онлайн, типа как блютузный сканер, только по сети
54 Новиков
 
22.07.26
15:00
(53) в клиенте 1с открываешь форму со штрихкодом, сканируешь её с устройства

У клеверенса также сделано, кстати: https://kb.cleverence.ru/assets/images/qr-7922d3e2a92dbb35320dec4ffa8dcb83.png