Внешняя компонента для широковещательных сообщений (broadcasts) и буфера обмена (clipboard) в ОС Андроид

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

Разработка - Разработка внешних компонент

Оповещения Broadcasts Буфер обмена Clipboard

47
Представлена компонента для получения широковещательных оповещений и управления буфером обмена в ОС Андроид.

Широковещательные оповещения

Продолжение статьи автора о внешних компонентах для мобильных приложений, в которой представлен развернутый пример компоненты получения широковещательных оповещений в андроиде (broadcasts). Идею ее создания подсказала работа //catalog.mista.ru/public/587908/, в которой был предложен универсальный получатель сообщений от сканеров, но решение выполнено через сервис, хотя ничто не мешает оформить его в виде компоненты. Архитектурный выигрыш несомненный, но главные удобства получает пользователь, которому нужно будет установить только приложение 1С без дополнительного ПО.

Для подключения компоненты используем стандартный код:

// Component - имя макета, в котором находится компонента

ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native);
Компонента = Новый("AddIn.Broadcasts.UniversalBroadcast");

Так как решение полностью выполнена по стандарту 1С (устройство ввода), установка параметров выполняется методом "УстановитьПараметр", включение и выключение - "Подключить" и "Отключить" соответственно. Параметр, который обязательно нужно установить - "FilterName", это имя оповещения. Для сканеров его необходимо взять из документации. Также можно использовать любые системные броадкасты, например отсюда. В примере конфигурации к статье представлен способ получения информации о батарее устройства. Следующий важный параметр - "CaptureData". В него следует передать XML строку с описанием извлекаемых дополнительных данных оповещения. Для удобства ее можно получить, вызвав метод "ПолучитьШаблонОписанияДанных", который возвращает строку:

<?xml version="1.0" encoding="utf-8"?>
<dataExtra name="%1" arrayToString="%2" dataType="%3" />

Она содержит три параметра в формате %n, чтобы ее было удобно использовать в методе "ПодставитьПараметрыВСтроку" из БСП. Первый параметр - имя дополнительных данных. Второй должен иметь значения true или false и используется только для обработки массива байт или символов (см. ниже). Третий параметр - число, тип извлекаемых данных в соответствии с таблицей:

Значение параметра Тип данных
0 строка
1 массив строк
2 short
3 массив типов short
4 long
5 массив типов long
6 int
7 массив типов int
8 float
9 массив типов float
10 double
11 массив типов double
12 символ
13 массив символов
14 байт
15 массив байтов
16 булево
17

массив типов булево

18

неподдерживаемый тип данных

19

Пустые данные (null)

(Типы последних двух строк могут возвращаться, если параметр CaptureData не задан, об этом режиме работы см. ниже).

Для массивов типов байт или символ параметр attayToString может быть установлен в true. В этом случает при получении дополнительных значений, они будут преобразовываться в строку. Это может пригодится для работы с некоторыми сканерами, которые возвращают результат в виде набора байтов. Покажем код установки параметров перед включением компоненты:

ШаблонДанных = Компонента.ПолучитьШаблонОписанияДанных();
health = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"health",XMLСтрока(Ложь),XMLСтрока(6));
Компонента.УстановитьПараметр("CaptureData",health);
tech = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"technology",XMLСтрока(Ложь),XMLСтрока(0));
Компонента.УстановитьПараметр("CaptureData",tech);
present = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"present",XMLСтрока(Ложь),XMLСтрока(16));
Компонента.УстановитьПараметр("CaptureData",present);
level = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"level",XMLСтрока(Ложь),XMLСтрока(6));
Компонента.УстановитьПараметр("CaptureData",level);

Какие данные необходимо получить мы определяем последовательными вызовами установки параметра CaptureData. Удалить или изменить этот набор после установки невозможно, для этого необходимо пересоздать объект компоненты.

Параметр "Category" позволяет добавить к намерению отбор по категориям. Его также можно устанавливать перед стартом отслеживания броадкастов несколько раз, если требуется отбор по нескольким категориям. Очистка набора категорий возможна только при пересоздании объекта компоненты.

После включения компонента, как и любое устройство ввода, возвращает данные через внешнее событие 1С. Первый параметр события - серийный номер устройства, второй параметр имеет значение "UniversalBroadcastEvent", а третий - текст в формате XML примерно такого вида:

<?xml version="1.0" encoding="utf-8"?>
<MessageData>
<FilterName>Имя оповещения, заданного параметром FilterName</FilterName>
<FilterData name="имя очередного параметра CaptureData">Значение дополнительных данных</FilterData>
<FilterData name="имя очередного параметра CaptureData">
<ArrayValue>элемент 1 массива данных</ArrayValue>
<ArrayValue>элемент 2 массива данных</ArrayValue>
</FilterData>
</MessageData>

Как можно догадаться из примера, значения одиночных дополнительных данных возвращаются в тексте элемента <FilterData>, а массивов элементами <ArrayValue>.

Начиная с релиза 1.1.4 компонента поддерживает автоматическое определение всех возможных фильтров и возвращаемых типов данных. Чтобы включить такой режим, необходимо оставить параметр CaptureData пустым. При возникновении события xml тэг MessageData не будет возвращать значений, но будет включать числовой атрибут datatype в соответствии с приведенной выше таблицей. Если событие будет иметь данные с пустым значением, тип которого невозможно определить, атрибут будет равен 19. Сложным типам, необрабатываемым компонентой, будет присвоен индекс 18.

<?xml version="1.0" encoding="utf-8"?>
<MessageData>
<FilterName>Имя оповещения, заданного параметром FilterName</FilterName>
<FilterData name="имя очередного параметра CaptureData" datatype="число - индекс типа из таблицы"/>
<!-- любое число тэгов FilterData -->
</MessageData>

Приведем пример xml, возвращаемого батареей (android.intent.action.BATTERY_CHANGED) в режиме определения фильтров:

Пользователи могут использовать конфигурацию из статьи для определения значений фильтров любых событий, если вручную отредактируют имя намерения и вызовут событие.

Буфер обмена

В версии 1.1 компоненты добавлена работа с буфером обмена Андроида (clipboard). Буфер позволяет выполнять операции вставки и извлечения (Copy/Paste) и может содержать данные типов текст, гиперссылка и намерение. Свойство СодержимоеБуфера возвращает их в текстовом представлении. Метод УстановитьСодержимое передает в буфер любой текст. Компонента также в состоянии передать в 1С оповещение об изменении буфера любой программой или службой.

Подключение объекта буфера:

КомпонентаБуфер = Новый("AddIn.Broadcasts.Clipboard");

Объект Clipboard тоже реализован по стандарту устройства ввода. Соответственно, имеет методы Подключить и Отключить. После подключения компонента передает в 1С внешнее событие с именем ClipboardEvent при изменении содержимого буфера. Третий параметр внешнего события содержит текстовое представление данных или пустой, если буфер очищен. Независимо от подключения, разработчик может использовать свойство компоненты СодержимоеБуфера (ClipboardContent) доступное только для чтения, которое возвращает содержимое буфера обмена и метод УстановитьСодержимое (SetContent) с двумя параметрами (данные и метка - строки) для его модификации.

Примечание: Если компонента буфера подключена методом Подключить, помещение данных через УстановитьСодержимое породит внешнее событие ClipboardEvent, неотличимое от любого другого изменения. Нужно либо отключать компоненту перед изменением буфера либо фильтровать такие события по данным, если стоит задача их проигнорировать.

О примере

Макет компоненты из конфигурации, прилагаемой, к статье не содержит дополнительных разрешений (permissioms). Если они требуются для получения конкретных оповещений, их можно добавить в архив макета компоненты (включить файл android_manifest_permissions.xml) и собрать приложение.

Конфигурация и внешняя компонента предназначены для работы с релизом мобильной платформы не ниже 8.3.15.59.  Допускается также работа с релизами, начиная с 13-го, но для этого необходимо вручную отредактировать манифест компоненты в архиве и удалить поддержку 64-битный платформ.

47

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

Наименование Файл Версия Размер
Конфигурация с компонентой и примером ее использования
.cf 1,70Mb
07.02.19
203
.cf 1.1.4 1,70Mb 203 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. saa@kuzov.org 02.03.18 23:47 Сейчас в теме
Спасибо!
А исходники этой ВК можно увидеть?
Flok; vasiliy_b; user1041486; PROF1L; +4 Ответить
2. greyhedgehog 2 17.05.18 12:51 Сейчас в теме
Игорь, спасибо! Очень помогла компонента для работы со встроенным сканером в ТСД Honeywell EDA50K.
10. s.neumyvakin_2015 09.06.18 13:24 Сейчас в теме
(2)Добрый день! Напиши пожалуйста как ты настраивал компоненту. Четвертый день ума не могу дать ТСД Honeywell EDA50K
11. greyhedgehog 2 09.06.18 15:08 Сейчас в теме
(10) Там основные настройки надо на ТСД производить:

в ТСД:
Настройки --> Scan Settings --> Internal Scanner --> Default profile --> Data Processing Settings -->
Поставить галку Scan to Intent. Ткнуть в поле Data Intent (Именно в строку, а не в галку), откроются настройки Data Intent. Там поставить галку Data Intent и в поле Action вбить произвольное уникальное имя действия. Я ввел: "scan.rcv.message" (без кавычек).

Дальше, в конфигурации-примере Игоря, надо немного код изменить с батарейки на ШК:

В конфигурации, в общей форме FormMain можно прям в ПриСозданииНаСервере() прописать ИмяСобытия = "scan.rcv.message"; (этот имя события, которое задал в настройках ТСД, у меня это "scan.rcv.message").
А в процедуре ПриОткрытии() вместо строк с получением состояния батареи прописать поле "data", из которого получать данные:
barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"data",XMLСтрока(Ложь),XMLСтрока(0));
Компонента.УстановитьПараметр("CaptureData",barcode);
tricolor; temsan; +2 Ответить
66. temsan 17.01.19 12:42 Сейчас в теме
(11) Заработало на ТСД Honeywell EDA50K. Спасибо! До этого были сомнения, т.к. другой сервис для Android? работающий чкерез локальные уведомления не взлетел на 8.3.13.50
3. greyhedgehog 2 17.05.18 16:41 Сейчас в теме
Поторопился похвалить. На мобильной платформе 8.3.11.61 на указанном выше устройстве (Android 4.4.4) после подключения компоненты (именно после нажатия кнопки "Старт" в форме) даже на чистом примере с определением состояния батареи непредсказуемо начинает жутко тормозить интерфейс или вообще "падает" приложение в течение нескольких десятков секунд. До подключения все работает. Не подскажете, возможно ли это исправить? Очень нужна стабильная работа на устройстве.
Спасибо.
4. IgorKissil 252 17.05.18 22:22 Сейчас в теме
Проверил на указанной платформе и 8-м андроиде - все ОК. Проверить на 4-м сейчас не могу. Но вполне допускаю, что могут быть проблемы. Я до сих пор держу два сборщика мобильных приложений под рукой, один "свежий", другой с платформой 8.3.9, ибо ТСД у одного клиента с 4м андроидом работают только с этой платформой.
5. greyhedgehog 2 17.05.18 23:47 Сейчас в теме
(4) Спасибо. Да, похоже дело в версии Андроида, на телефоне с 6-м работает, а на телефоне с 4-м такое же поведение. К сожалению ТСД на 4-м и ее не обновить, попробую с платформой 8.3.9 поэкспериментировать.
7. IgorKissil 252 29.05.18 07:44 Сейчас в теме
(5) Проверил на эмуляторе 4-го андроида - пример к статье работает. Увы, физических устройств с этой версией у меня нет. На терминале с 5-м адроидом тоже все в порядке.
8. IgorKissil 252 02.06.18 19:47 Сейчас в теме
(5) Обновил пример для новой мобильной платформы
70. KostyaBu 20 30.01.19 17:04 Сейчас в теме
Сканер использует datawedge, Сканер LPT82
В настройках datawedge стоит send Barcode data - clipboard (Есть еще keyboard )

пример с батарейкой работает превосходно.
Но совершенно не могу поймать Шк, Событие есть, а шк в XML нет. Прошу подсказки.

ИмяСобытия = "DATA_SCAN";
имя поля как написано выше "com.symbol.datawedge.data_string"

barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"com.symbol.datawedge.data_string",XMLСтрока(Ложь),XMLСтрока(8));
Компонента.УстановитьПараметр("CaptureData",barcode);

пожалуйста подскажите, что не так.
150. Meteorage 17 12.09.19 11:03 Сейчас в теме
(70) Приветствую! Ты решил свою проблему при помощи этой компоненты?
151. KostyaBu 20 12.09.19 14:43 Сейчас в теме
(150) и да и нет. сейчас часть терминалов использует эту обработку а часть самописную (написанную тоже благодаря бесплатной статье автора).Но насколько мне известно автор доработал функционал с буфером и все работает.
71. KostyaBu 20 30.01.19 17:56 Сейчас в теме
Сканер использует datawedge, Сканер LPT82
В настройках datawedge стоит send Barcode data - clipboard (Есть еще keyboard )

пример с батарейкой работает превосходно.
Но совершенно не могу поймать Шк, Событие есть, а шк в XML нет. Прошу подсказки.

ИмяСобытия = "DATA_SCAN";
имя поля как написано выше "com.symbol.datawedge.data_string"

barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"com.symbol.datawedge.data_string",XMLСтрока(Ложь),XMLСтрока(8));
Компонента.УстановитьПараметр("CaptureData",barcode);

пожалуйста подскажите, что не так.
6. IgorKissil 252 18.05.18 08:33 Сейчас в теме
попробуйте собрать под sdk ниже 25
9. greyhedgehog 2 09.06.18 09:38 Сейчас в теме
Спасибо. Обновленная версия примера работает стабильно, по крайней мере на имеющемся у меня телефоне с Android 5.0.1 и на ТСД с Android 7.1.1 проблем больше нет. На ТСД перенастроил компоненту на событие от сканера штрихкода, ШК перехватываются замечательно. Специально проверил на предмет описанных в некоторых статьях пропусков при сканировании ШК, у меня на ТСД не получилось заставить пример пропускать сканирования, даже при очень интенсивной работе, при последовательном сканировании нескольких ШК, все работало.
12. rem2222 17 28.06.18 13:56 Сейчас в теме
Добрый день, помогите пожалуйста. Установил на ТСД с андроид 4.4, интент ловит и батарейки и сканШК, но данных в них нет. Что можно с этим сделать? Прилагаю скан на Андр8 и на 4.4
Прикрепленные файлы:
13. hobi 551 16.07.18 16:52 Сейчас в теме
Отличная компонента, на Honeywell EDA50 работает без проблем !
14. IgorKissil 252 16.07.18 18:11 Сейчас в теме
В версии 1.0.2 исправлена ошибка в компоненте, которая в редких случаях может вызвать утечку памяти
15. hobi 551 18.07.18 16:10 Сейчас в теме
Странное поведение компоненты.
Связь ТСД с компьютером через кабель (ADB.exe, Интернет тоже через кабель)

Сценарий 1:
Добавляю на мобильной платформе мобильное приложение, оно загружается на ТСД, сразу вхожу
пользовательский режим.
ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native)
отрабатывает успешно и впоследствии работает в этом приложении.

Сценарий 2:
После загрузки мобильного приложения на ТСД отключаю кабель, затем вхожу в пользовательский
режим.
ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native)
не отрабатывает ! И впоследствии не запускается.

Сценарии 1 и 2 запускал несколько раз, поведение не меняется, именно такое, как описано.
Такое ощущение, что при первом подключении компонента обращается к внешнему интернет-ресурсу
и начинает затем работать, только если этот ресурс был доступен.

Если доступ к сети интернет перекрыт службой безопасности, то использовать компоненту проблематично (
16. hobi 551 18.07.18 17:50 Сейчас в теме
(15)
Странное поведение компоненты

Такое поведение наблюдается и в собственном приложении и в приложении, загруженном из конфигурации broadcast.cf, размещенной в публикации.
17. IgorKissil 252 18.07.18 21:24 Сейчас в теме
(15) Никаких обращений к внешним ресурсам через интернет компонента не выполняет. Собирайте приложение сборщиком. Но если хотите запускать через платформу, для приложений с внешними компонентами есть нюансы, приложение должно быть опубликовано на сервере отладки и тогда действительно идет обращение в интернет.
user1021675; +1 Ответить
18. hobi 551 19.07.18 06:43 Сейчас в теме
(17) Спасибо за ответ. Буду с нюансами бороться.
175. Azamatex 8 30.10.19 07:55 Сейчас в теме
(17)Я настроил сервер отладки (проверил, отладка идет), но ошибка компонента не подключена все равно выходит. Можно как-нибудь отключить этот нюанс?
67. pushking 8 21.01.19 10:29 Сейчас в теме
ТСД Caribe PL-40L (Android 7.0)

ИмяВнешнегоСобытия = "scan.rcv.message";

РезультатПодключенияВК = ПодключитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканераUniversalBroadcast", "Broadcasts", ТипВнешнейКомпоненты.Native);
Если РезультатПодключенияВК = Истина Тогда
	
	Попытка
		глВнешняяКомпонентаUniversalBroadcast = Новый("AddIn.Broadcasts.UniversalBroadcast")
	Исключение
		СтруктураОтвета.Вставить("Ошибка", "Ошибка создания класса ""UniversalBroadcast""!");
	Конецпопытки;
	
	Если НЕ глВнешняяКомпонентаUniversalBroadcast = Неопределено Тогда
		Попытка
			глВнешняяКомпонентаUniversalBroadcast.УстановитьПараметр("FilterName", ИмяВнешнегоСобытия);
			глВнешняяКомпонентаUniversalBroadcast.УстановитьПараметр("CaptureData", ОбщийМодульКлиентСервер.ПодставитьПараметрыВСтроку(глВнешняяКомпонентаUniversalBroadcast.ПолучитьШаблонОписанияДанных(), "barocode", XMLСтрока(Истина), XMLСтрока(15)));
		Исключение
			СтруктураОтвета.Вставить("Ошибка", "Ошибка при установке параметра ""CaptureData""!");
		Конецпопытки;
	КонецЕсли;
	
Иначе
	СтруктураОтвета.Вставить("Ошибка", "Ошибка подключения компоненты ""UniversalBroadcast""!");
КонецЕсли;
Показать
alexex; markers; +2 Ответить
114. markers 243 20.06.19 13:53 Сейчас в теме
(67) Большое спасибо! Работает!
19. NecroJew 07.08.18 13:19 Сейчас в теме
Добрый день!

Пробовал установить демонстрационное приложение на два устройства (в обоих случаях мобильная платформа 8.3.12.64, согласно вашей рекомендации):
1. ТСД Urovo V5100, Android 4.3
2. Чистый телефон Nexus 5, голый андроид 6.0.1

При выполнении команды Компонента.Подключить() приложение вылетает. На Андроиде 4.3 без отображения информации об ошибке, в 6.0.1 выдает следующий текст:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Intent.addFlags(int)' on a null object reference
at com.iksoftware.unimes.BroadcastMessage$2.run(BroadcastMessage.java:283)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Не подскажете, в чем может быть проблема?
Спасибо.
s.neumyvakin_2015; +1 Ответить
20. s.neumyvakin_2015 08.08.18 08:02 Сейчас в теме
(19) Добрый день!

У меня на ТСД Honeywell тоже самое, хотя на прошлой версии компоненты все работало.
21. IgorKissil 252 08.08.18 08:10 Сейчас в теме
(19) (20) Попробуйте эту версию компоненты, если она рабочая, обновлю пример в статье: https://1drv.ms/u/s!AnW7yKDG1JDfh8J5DM1-VL_mHAdDqg
22. s.neumyvakin_2015 08.08.18 10:25 Сейчас в теме
(21) Добрый день!
К сожалению ошибка осталась:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Intent.addFlags(int)' on a null object reference
at com.iksoftware.unimes.BroadcastMessage$2.run(BroadcastMessage.java:283)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6130)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
NecroJew; +1 Ответить
23. IgorKissil 252 08.08.18 11:13 Сейчас в теме
Тогда все сложнее. Я ошибку воспроизвести не могу, на доступных мне устройствах все работает. В моем коде даже нет такого места Intent.addFlags(int). Максимум что могу, это позже попробовать на эмуляторе nexusa.
107. s.neumyvakin_2015 03.06.19 08:01 Сейчас в теме
(23)
(105)
Добрый день!
К сожалению нет. Что то я наверное не так делаю раз у всех работает а у меня нет.
24. hobi 551 21.08.18 10:23 Сейчас в теме
Результат в виде XML-строки - это здорово.
Но недавно наткнулся на проблему обработки XML-строки платформой 1С.
Вот XML, полученный при считывании штрихового кода на образце упаковки сигарет:
<?xml version="1.0" encoding="UTF-8"?><MessageData><FilterName>com.android.server.scannerservice.broadcast</FilterName><FilterData name="m3scannerdata">010460026601181721"Nv>vM-91ffd0929ysTNw==24010053940</FilterData><FilterData name="m3scanner_code_type">DataMatrix</FilterData></MessageData>

В этом примере кода последовательность символов & # 2 9 ; при вставке кода в данном сообщении автоматически была заменена на собственно сам спецсимвол. Внешняя компонента возвращает именно представление спецсимвола & # 2 9 ; ( без пробелов, если пробелы убрать, получится  )

Код
	ЧтениеXML = Новый ЧтениеXML;
		ЧтениеXML.УстановитьСтроку(ТекстXML);
		Пока ЧтениеXML.Прочитать() Цикл
...
	

выбрасывает исключение. Спецсимвол с кодом 29 (представление
& # 2 9 ;
) платформой не обрабатывается.
Приходится вставлять "костыль" СтрЗаменить перед УстановитьСтроку.

Это просто константация факта, особенности обработки XML-представления данных, возвращаемых компонентой.
25. hobi 551 22.08.18 10:28 Сейчас в теме
Вопрос к Автору:
В связи с тем, что в составе данных широковещательного сообщения
может быть строка, содержащая символы, не обрабатываемые
платформой 1С (символ с кодом 29) в том случае, если строка
размещена в XML-формате, можно ли доработать компоненту
следующим образом:
- добавить параметр с типом булево: HexСтрокиВXML или Base64СтрокиВXML.
Чтобы при установке параметра в значение "Истина", компонента
возвращала в XML, в котором строчные значения преобразованы
в Hex или Base64.

Такая доработка позволила бы обойти текущую ошибку платформы 1С -
исключение при вызове ЧтениеXML.Прочитать() , если для ЧтениеXML
установлена строка, содержащая последовательность символов & # 2 9 ;
И, кроме того, для остальных символов с кодом, меньшим 32
(например символ ">") не придется обрабатывать значения строчных полей
СтрЗаменить(Поле, "& g t ;", ">"). Лучше уж один раз обработать и преобразовать
из Hex или Base64 в оригинальную строку.

?

Для иллюстрации проблемы - изображение этикетки на блоке сигарет.
Обработка строки XML, возвращаемой компонентой при чтении
кода DataMatrix с этикетки, вызывает исключение в платформе 1С
( ЧтениеXML.Прочитать() )
Прикрепленные файлы:
26. IgorKissil 252 22.08.18 13:44 Сейчас в теме
(25) Можно. По срокам пока ничего не скажу
27. PaulSharkoff 28.08.18 17:38 Сейчас в теме
Игорь, спасибо. Компонента отлично завелась на Zebra MC3300 (Andriod 7) на мобильном клиенте 8.3.12 для перехвата сообщений от DataWedge
34. user1024947 19.10.18 13:55 Сейчас в теме
(27)Добрый день

Помогите разобраться у нас оборудование почти как у Вас:
сбора данных: Zebra TC-20 на 7 андроиде

При сканирование ШК в обработчике "Внешнее событие" в переменную данные возвращается XML строка которая не содержит Штрих код

В обработчике при открытии barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"data",XMLСтрока(Ложь),XMLСтрока(8));
Компонента.УстановитьПараметр("CaptureData",barcode);
46. user708791_ared2000 02.11.18 12:37 Сейчас в теме
(34) Вам удалось разобраться? У меня Zebra MC40. Тоже событие ловит, а данные пустые. Может поле должно не "data" называться?
48. user1024947 02.11.18 15:54 Сейчас в теме
(46) Да, удалось. Имя переменной для баркода "com.symbol.datawedge.data_string" , для типа баркода "com.symbol.datawedge.label_type".
50. user708791_ared2000 02.11.18 16:14 Сейчас в теме
(48) Ну ничего себе имя... Заработало! Спасибо огромное!
57. adt 16.11.18 11:11 Сейчас в теме
(50) Добрый день, такая же проблема - подскажите, где и как задать имя переменной для для баркода и для типа баркода, никак не могу сообразить.
61. user708791_ared2000 19.11.18 16:15 Сейчас в теме
(57) В обработчике при открытии barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"data",XMLСтрока(Ложь),XMLСтрока(8));
Компонента.УстановитьПараметр("CaptureData",barcode);

Вот здесь вместо "data" нужно написать то самое длинное имя "com.symbol.datawedge.data_string". Если нужен еще тип кода, то нужно установить еще один параметр и вместо "data" указать "com.symbol.datawedge.label_type".
100. vita8383 08.05.19 09:06 Сейчас в теме
(61) А вы манифест не правили? У меня при следующем коде, ШК не перехватывается:

Процедура ПриОткрытии(Отказ)

ИмяСобытия = "scan.rcv.message";

Если ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда
		Компонента = Новый("AddIn.Broadcasts.UniversalBroadcast");
		Компонента.УстановитьПараметр("FilterName",ИмяСобытия);
		ШаблонДанных = Компонента.ПолучитьШаблонОписанияДанных();
barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"com.symbol.datawedge.data_string",XMLСтрока(Ложь),XMLСтрока(0)); 
		Компонента.УстановитьПараметр("CaptureData",barcode);
	Иначе
		ПоказатьПредупреждение(,"Компонента не подключена",5);
		ЗавершитьРаботуСистемы(Ложь);
	КонецЕсли;

КонецПроцедуры


Показать
28. SergeyPodolniy 12.09.18 09:24 Сейчас в теме
Добрый день!
Пытаюсь настроить компоненту на ТСД Zebra MC36, Android 4.4. Данные с батареи ловит, а со сканера - нет. Имя события в 1С прописал такое же, как в настройках сканера. Может ли проблема заключаться в том, что я неверное имя данных указываю в CaptureData? В документации к ТСД этой информации нет, разные варианты перепробовал и пока ничего не получается.
29. SergeyPodolniy 13.09.18 11:19 Сейчас в теме
(28) Нашел причину. Оказалось, что intent формируется с определенной категорией и чтобы его отловить нужно в фильтре эту категорию явно указать. Вопрос к автору, можно ли добавить в настройки компоненты параметр "FilterCategory" по аналогии с "FilterName"?
30. IgorKissil 252 17.09.18 11:31 Сейчас в теме
(29) В релиз 1.0.4 добавил параметр Category
31. Гость 18.09.18 07:40
47. user708791_ared2000 02.11.18 15:44 Сейчас в теме
(29)А какая категория по умолчанию формируется? Или вы в Datawedge категорию указали? У меня тоже событие ловится, а данные не передаются.
32. SenFeron 02.10.18 19:19 Сейчас в теме
Добрый день.
После запуска приложения. Выдается сообщения "Компонента не подключена".
Подскажите пожалуйста, кто то встречался с данной проблемой?
Может кто подсказать как запустить компоненту?

ТСД Honeywell EDA50K
Android 7.1.1
Платформа 8.3.12.67

Пробовал сначала все выполнить по комментарию greyhedgehog (номер комментария - 11)

Потом поставил оригинальный из темы Cf , проблема осталась.
43. menen 25.10.18 09:33 Сейчас в теме
(32) Вопрос не решили? Также не подключается ни на ТСД (PL-40 Android 7), ни на планшете (Huawei Andr 7) ...
33. user1024947 19.10.18 13:37 Сейчас в теме
Добрый день

Подскажите пожалуйста что сделать.
Наше оборудование Терминал сбора данных: Zebra TC-20 android ver 7.1

В обработчике по открытии
Добавлено
barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"data",XMLСтрока(Ложь),XMLСтрока(0));
Компонента.УстановитьПараметр("CaptureData",barcode);

При сканирование ШК в обработчике "Внешнее событие" в переменную данные возвращается XML строка которая не содержит Штрих код
35. menen 25.10.18 07:05 Сейчас в теме
Здравствуйте!
Игорь, пытаемся опубликовать скаченную конфигурацию (платформа 8.3.12.1685 32x в 64 WinОС) для проверки на ТСД - не получается - выдается ошибка следующего содержания:

"Ошибка разбора манифеста внешней компоненты Component: отсутствует обязательный атрибут name"

В чем может быть проблема?
36. IgorKissil 252 25.10.18 07:30 Сейчас в теме
(35) Я думаю, Вы пытаетесь собрать приложение на Windows 64? Взял cf из статьи и пересобрал сборщиком в Win10 64bit - все ОК.
41. menen 25.10.18 08:18 Сейчас в теме
(36) Платформа 1С 8.3.12 развернута на ноуте 64 Windows 7. Это как-то влияет?
42. menen 25.10.18 09:03 Сейчас в теме
(41) Развернул 1С на Win10 ошибка ушла.
Однако как и у (32) - компонента на ТСД НЕ подключается.

ТСД PL-40L (Caribe)
Android 7.0
Платформа 8.3.12.67
37. IgorKissil 252 25.10.18 07:33 Сейчас в теме
(35) Как Вы ее пытаетесь публиковать? На http сервере? Разобраться как это делать для приложений с компонентами у меня не хватило времени/терпения. Я все делаю через adb install
alexex; user1021675; +2 Ответить
38. menen 25.10.18 07:57 Сейчас в теме
Из конфигуратора - Публикация мобильного приложения - на Веб-сервере (Apache 2.2)
39. menen 25.10.18 08:00 Сейчас в теме
(37) Игорь, пока планировали работать на мобильной платформе без сборки
40. menen 25.10.18 08:08 Сейчас в теме
(39) даже при записи конфигурации мобильного приложения в файл (для сборщика) выходит это сообщение
162. alexex 44 17.10.19 13:47 Сейчас в теме
(37)
Разобраться как это делать для приложений с компонентами у меня не хватило времени/терпения.


Во время публикации приложения в настройках http-сервера необходимо добавить типы MIME для следующих расширений: .so, .apk, .dylib, .a. Тип MIME: application/octet-stream.


рестарт web сервера
Прикрепленные файлы:
62. АлександрЯрославичъ 23.11.18 11:45 Сейчас в теме
(35)
Платформа 8.3.12.1685
"Ошибка разбора манифеста внешней компоненты бла-бла..."
Такая ошибка вываливается почти на каждой компоненте.

В проблемных манифестах добавлял атрибут
<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle" name="com_1c_MobileBarcodeScanner">
  <component os="Android" path="libcom_1c_MobileBarcodeScanner_i386_1_0_3_2.so" codeType="c++" type="native" arch="i386" name="com_1c_MobileBarcodeScanner"/>
  <component os="Android" path="com_1c_MobileBarcodeScanner_1_0_3_2.apk" codeType="java" type="native" arch="i386" name="com_1c_MobileBarcodeScanner"/>
  <component os="Android" path="libcom_1c_MobileBarcodeScanner_ARM_1_0_3_2.so" codeType="c++" type="native" arch="ARM" name="com_1c_MobileBarcodeScanner"/>
  <component os="Android" path="com_1c_MobileBarcodeScanner_1_0_3_2.apk" codeType="java" type="native" arch="ARM" name="com_1c_MobileBarcodeScanner"/>  
</bundle>


По аналогии, как в комментарии (56)
44. Rokstedi 17 31.10.18 18:03 Сейчас в теме
Не срабатывает внешнее событие, хотя компонента подключается. Подскажите, приложение обязательно нужно собирать или можно опубликовать и подключиться с мобильной платформы?
45. Rokstedi 17 01.11.18 11:57 Сейчас в теме
(44)Все разобрался. Собрал приложение, заменил по инструкции интент фильтр и сообщения начали приходить.
160. volchica 3 16.10.19 12:13 Сейчас в теме
(45) можно подробнее.. у меня такая же ситуация, компонента подключается, а событие не срабатывает. Я публикую конфу и запускаюсь с моб.платформы (если это важно в данном случае).
"заменил по инструкции интент фильтр" - поясните что вы сделали..
161. Rokstedi 17 16.10.19 15:50 Сейчас в теме
(160)
нструкции интент ф

Нужно обизательно сборщиком приложение собрать и сборщику подсунуть платформу откорректированную. Иначе 1с морозится от этих броадкаст сообщений!
49. user708791_ared2000 02.11.18 15:59 Сейчас в теме
Здравствуйте! ТСД Motorola MC40 на андоиде 5.1.1. На нем работа идет через Datawedge. Событие ловится, но в данные ничего не возвращает. А для батарейки все норм передает. Может ему имя поля "data" не подходит для этого ТСД? Подскажите в чем может быть причина.
51. user708791_ared2000 02.11.18 16:49 Сейчас в теме
(49) Разобрался с помощью(46)
Да, удалось. Имя переменной для баркода "com.symbol.datawedge.data_string" , для типа баркода "com.symbol.datawedge.label_type".
52. hobi 551 02.11.18 17:14 Сейчас в теме
Добрый день.
На платформе 1С:Предприятие 8.3.12.1685 перестала работать загрузка мобильного приложения через сервер.
Сообщение при попытке публикации мобильного приложения.
Ошибка разбора манифеста внешней компоненты Component: отсутствует обязательный атрибут
name

На предыдущих версиях 8.3.12 публикация завершается нормально.
53. user708791_ared2000 02.11.18 18:49 Сейчас в теме
(52)Это наверное не через сервер, а если в конфигураторе по пути Конфигурация/Мобильноеприложение/Опубликовать . У меня тоже такая ошибка в этом случае. Но на web-сервере все публикуется без ошибок
54. hobi 551 09.11.18 09:47 Сейчас в теме
Манифест изменил, всё заработало.
АлександрЯрославичъ; +1 Ответить
55. kosten 67 14.11.18 10:53 Сейчас в теме
(54) Здравствуйте. Подскажите что необходимо изменить в манифесте, чтобы исправить ошибку "Ошибка разбора манифеста внешней компоненты Component: отсутствует обязательный атрибут name"?
56. hobi 551 15.11.18 16:59 Сейчас в теме
Это вариант у меня заработал:

<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle" name="com_iksoftware_unimes">
  <component os="Android" path="libcom_iksoftware_unimes_ARM.so" codeType="c++" type="native" arch="ARM" name="com_iksoftware_unimes"/>
  <component os="Android" path="unimes.apk" codeType="java" type="native" arch="ARM" name="com_iksoftware_unimes"/>
  <component os="Android" path="libcom_iksoftware_unimes_x86.so" codeType="c++" type="native" arch="i386" name="com_iksoftware_unimes"/>
  <component os="Android" path="unimes.apk" codeType="java" type="native" arch="i386" name="com_iksoftware_unimes"/>
</bundle>
KAV2; АлександрЯрославичъ; +2 Ответить
58. adt 16.11.18 15:53 Сейчас в теме
Здравствуйте.
ТСД symbol mc32n0, Андроид 4.1.1
события приходят, но доп поля, указанные в параметрах CaptureData - в XML отсутствуют.
Тот же пример прогнал на телефоне с Андроид 5.1 - все пришло с параметрами.
Получается, что дело в версии андроида? У кого-нибудь заработало на 4.1.1?
59. IgorKissil 252 16.11.18 17:14 Сейчас в теме
(58) Думаю это потому что компонента собрана для андроида начиная с 19й версии (4.4). Будет время сделаю ребилд с 16-й.
92. arancheev.s 03.04.19 18:03 Сейчас в теме
59. IgorKissil 185 16.11.18 17:14
(58) Думаю это потому что компонента собрана для андроида начиная с 19й версии (4.4). Будет время сделаю ребилд с 16-й


Подскажите, еще ребилд с 16-ой не делали ? Очень нуно.
Спасибо.
93. IgorKissil 252 04.04.19 06:47 Сейчас в теме
(92) Сделан в последнем релизе около двух месяцев назад
94. arancheev.s 04.04.19 07:52 Сейчас в теме
(93)

Я прошу прощение. Не посмотрел информации перед тем как писать.
У меня Android 4 (API Level 14 насколько я понял). Вот с него есть возможность собрать компоненту. А то два ТСД есть с 4 и 4.1, события отлавливаются, а данные приходят пустые. Хотелось бы все терминалы на единую Вашу компоненту посадить.
(На 5.1 все норм)

Заранее большое спасибо.
95. IgorKissil 252 04.04.19 14:34 Сейчас в теме
(94) Если нет ограничений по используемому функционалу (в компоненте) сделаю
96. arancheev.s 04.04.19 15:46 Сейчас в теме
(95) Очень хочется использовать последние релизы 1с и одну компоненту на своих разных терминалах. Спасибо большое, буду ждать.
97. IgorKissil 252 09.04.19 10:25 Сейчас в теме
(96) Только что выложил релиз 1.1.1 под андроид API 14. После обновления публикации пробуйте.
102. vita8383 11.05.19 11:41 Сейчас в теме
(58) Добрый день, удалось победить проблему на данном устройстве?
60. Xershi 762 16.11.18 18:08 Сейчас в теме
Добрый день!
Подскажите материалы как самому написать компоненту для андроида?
Вот в этой теме изучаю вопрос:
https://forum.infostart.ru/forum15/topic202825/
63. hobi 551 03.12.18 11:28 Сейчас в теме
Добрый день.
Можно ли каким-то образом использовать сборку из нескольких конфигураций, в каждую из которых встроена компонента сканирования ?
Пока только с одной конфигурацией в сборке заработало...
64. koupny 12.12.18 17:20 Сейчас в теме
Добрый день. А у кого то получалось отловить нажатия на встроенной клавиатуре?
65. koks17v 10 27.12.18 15:12 Сейчас в теме
Прекрасно, спасибо, работает идеально! А можно получить исходники?
68. Cube_krsk 33 28.01.19 11:21 Сейчас в теме
Спасибо! Классная компонента!
Использовал для сканирования штрихкодов на следующих ТСД: Honeywell EDA50 и HT380K.
На обоих ТСД проверил работоспособность под платформой 8.3.10.84 и 8.3.13.45 - работает на обоих. Поэтому, просьба автору: поставь режим совместимости в cf в значение "8.3.10" - проверено, работает.
69. IgorKissil 252 28.01.19 12:32 Сейчас в теме
(68) на всех релизах платформы до 12го была утечка памяти при генерировании внешних событий из внешних компонент а также приложение не выгружалось при закрытии. Если у Вас такого нет, наверное повезло с устройствами
72. WellMaster 99 01.02.19 09:09 Сейчас в теме
Шикарная компонента. Завелось практически сразу. Надо только разобраться в передаваемых параметрах.
Спасибо.
73. Cube_krsk 33 12.02.19 10:38 Сейчас в теме
Столкнулся с проблемой: компонена не умеет передавать русский шрифт в сообщениях. Приходят крякозябры.
Через другие приложения на ТСД русский текст сканируется со штрихкодов, а вот через компоненту приходят крякозябры.
76. IgorKissil 252 13.02.19 10:55 Сейчас в теме
(73) Кодировка XML устанавливается по дефолту из настроек ОС. Т.е. если у вас андроид настроен на русскую локаль все должно быть ОК (проверил). Другое дело если стоит английская или другая локализация. Возможно в будущих версиях добавлю программную настройку
87. Cube_krsk 33 26.02.19 09:13 Сейчас в теме
(73) В настройках сканера EDA50 стояла кодировка ISO 8859-1. Поставил UTF-8 и русский шрифт начал сканироваться нормально.
74. Cube_krsk 33 12.02.19 10:41 Сейчас в теме
Также неплохо было бы получать со сканера XML без обработки компонентой, так как я не знаю, как называются поля в XML, чтобы подставить их в ПолучитьШаблонОписанияДанных()...
75. IgorKissil 252 12.02.19 11:03 Сейчас в теме
(74) Что значит без обработки? XML формируется в компоненте
81. Cube_krsk 33 25.02.19 11:44 Сейчас в теме
(75) Немного не так выразился.
Неплохо было бы, чтобы компонента имела функцию, возвращающую массив имен доступных полей интента.
Вот тут есть пример: http://forum.infostart.ru/forum92/topic166842/message2034308/#message2034308

Имея такой массив, можно было бы заполнить им список выбора у поля на форме, чтобы пользователь не вбивал имя поля с клавиатура, а выбирал из списка.
83. IgorKissil 252 25.02.19 21:43 Сейчас в теме
(81) Но для этого необходимо вначале получить броадкастовое событие
84. Cube_krsk 33 26.02.19 04:44 Сейчас в теме
(83) Пусть хоть так. Сейчас вообще нет возможности получить список полей, доступных для отслеживания. Например, на ТСД EDA50 я никак не могу найти в интернете имя поля, возвращающего тип штрихкода (EAN13, EAN8, DataMatrix и т.д.). Занимаюсь брутфорсом... Причем безуспешно.
Поэтому я и писал в (74), что неплохо было бы получить XML, содержащий список всех возможных полей. А, если, этот список будет ещё и значения этих полей содержать - вообще будет шикардос!
Можно сделать в виде служебного поля "AllData" и при получении XML, она будет содержать всевозможные поля интента с их значениями.
77. maxxxon34 21.02.19 17:02 Сейчас в теме
Сканер АТОЛ Smart.Lite, не отлавливает событие сканирования, имя оповещения взял из настроек сканера, возможно неправильно указал категорию, можно уточнить в каком виде передается параметр категории?
78. maxxxon34 22.02.19 13:49 Сейчас в теме
Вопрос решен, не ловит оповещение, если неверно указан формат данных. Для АТОЛ SMART.LITE:
Компонента.УстановитьПараметр("FilterName", "com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST");
Компонента.УстановитьПараметр("CaptureData",СтрокаПараметров, "EXTRA_BARCODE_DECODING_DATA",
XMLСтрока(Ложь), XMLСтрока(0)));
user1021675; +1 Ответить
79. Cube_krsk 33 25.02.19 07:14 Сейчас в теме
Наткнулся на нехорошую ошибку, которую научился воспроизводить со 100% результатом: если мобильное приложение удалить, заново установить и запустить, то стабильно через раз приложение падает с ошибкой:

java.lang.UnsatisfiedLinkError: dalvik.system.DexClassLoader[DexPathList[[zip file "/data/user/0/com.e1c.mobile/files/1C/1cem/76624a6c-6eb9-516e-b5f4-9ad5799f6cb6/ExtCompT/com_iksoftware_unimes.apk"],nativeLibraryDirectories=[/data/user/0/com.e1c.mobile/files/1C/1cem/76624a6c-6eb9-516e-b5f4-9ad5799f6cb6/ExtCompT, /system/lib, /vendor/lib]]] couldn't find "libcom_iksoftware_unimes.so"
	at java.lang.Runtime.loadLibrary0(Runtime.java:984)
	at java.lang.System.loadLibrary(System.java:1530)
	at com.iksoftware.unimes.BroadcastMessage.run(BroadcastMessage.java:46)
	at android.os.Handler.handleCallback(Handler.java:751)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6130)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Показать


Через раз - имеется ввиду, что каждый раз приложение удаляется и устанавливается заново из того же файла 1cema.xml, то есть каждый раз происходит первый запуск мобильного приложения.

Приложение простое с единственным кодом (закомментированный кусок оставил для наглядности, для воспроизведения ошибки он не нужен):

Процедура ПриНачалеРаботыСистемы()
	
	Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаШироковещательныхСообщений", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда
		КомпонентаШироковещательныхСообщений = Новый("AddIn.Broadcasts.UniversalBroadcast");
		КомпонентаШироковещательныхСообщений.УстановитьПараметр("FilterName", "scan.rcv.message");
		//ШаблонОписанияДанных = КомпонентаШироковещательныхСообщений.ПолучитьШаблонОписанияДанных();
		//КомпонентаШироковещательныхСообщений.УстановитьПараметр("CaptureData", ОбщегоНазначенияКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОписанияДанных, "data", XMLСтрока(Ложь), XMLСтрока(0)));
		//Если НЕ КомпонентаШироковещательныхСообщений.Подключить() Тогда
		//	ТекстОшибки	= "";
		//	КодОшибки	= КомпонентаШироковещательныхСообщений.ПолучитьОшибку(ТекстОшибки);
		//	ПоказатьПредупреждение(, "Компонента широковещательных сообщений не подключена по причине: " + КодОшибки + ", " + ТекстОшибки);
		//КонецЕсли;
		ПоказатьПредупреждение(, "Компонента широковещательных сообщений успешно подключена");
	Иначе
		ПоказатьПредупреждение(, "Компонента широковещательных сообщений не подключена");
	КонецЕсли;
	
КонецПроцедуры
Показать


При последующих запусках приложения (не первых), всё работает стабильно и ошибок нет.

Проверял на платформах 8.3.13.45 и 8.3.10.84, ТСД EDA50 (android 7.1.1) и HT380K (android 6.0) - в любых комбинациях ТСД и платформы поведение одинаковое.
Оставьте свое сообщение

См. также

Simple UI – простой конструктор мобильных приложений для бизнеса. Обновление 11.12.19: распознавание текста и многое другое 50

Инструменты и обработки Программист Пользователь Руководитель проекта Архив с данными v8 УУ Абонемент ($m) Мобильная разработка

Simple UI – платформа для создания приложений на Android мобильных рабочих мест (в точ числе ТСД, телефонов и т.д.), работающих в режиме мобильного фронта к учетнйо системе так и самостоятельно. Это продолжение и развитие проекта Simple WMS. Новая платформа содержит все, что есть в Simple WMS но, вместе с тем реализует новые подходы к разработке, которые позволяют создавать приложения для любых целей, а не только для склада. Приложение имеет полную обратную совместимость и способно запускать старые конфигурации. Тестировалось на 1С: Предприятие 8.3 релиз 8.3.13.1865.

5 стартмани

14.11.2019    3385    23    informa1555    8       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Получение AndroidID в мобильном приложении 8

Инструменты и обработки Программист Архив с данными v8::Mobile Россия Абонемент ($m) Мобильная разработка

Получаем Android DeviceID в мобильном приложении/клиенте, используя стороннее приложение.

1 стартмани

05.11.2019    2043    sam441    8       

ODa - Android приложение для подключения к любой конфигурации 1С, используя OData протокол 63

Инструменты и обработки no Приложение (apk) v8 1cv8.cf Абонемент ($m) Мобильная разработка

В платформе 1С реализована прекрасная возможность работы с открытым веб-протоколом OData, который предоставляет любой другой платформе интерфейс доступа - возможность запрашивать и обновлять данные из базы 1С. Далее в статье будут описаны особенности работы мобильного приложения ODa, которое без программировании на стороне Android'a позволит разработчикам публиковать базы 1С, что даст возможность обычным пользователям взаимодействовать с объектами метаданных, используя нативные элементы интерфейса платформы Android.

1 стартмани

22.10.2019    4313    7    Kosigo    11       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Маленькая и скромная мобильная внешняя компонента 46

Вопрос Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Изваять простенькую мобильную компоненту на 1С для android не так-то просто. Посему назло отдельным супостатам, не желающим делится исходниками, представляю весь свой скромный труд на публичный суд.

1 стартмани

21.10.2019    3959    1    ripreal1    12       

Native внешняя компонента для оповещения по UDP или TCP 36

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    3372    7    vdv2701    10       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Мой помощник и бухгалтер 5

Отчеты и формы no Приложение (apk) v8::Mobile Домашние учет и финансы Россия УУ Android Абонемент ($m) Учет доходов и расходов Мобильная разработка

Домашняя бухгалтерия, записная книжка, контакты, напоминания, сканер штрих-кода, матрица Эйзенхауэра - все в твоём телефоне.

1 стартмани

26.09.2019    1929    2    user-sergey    10       

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид 9

Инструменты и обработки Программист Конфигурация (md, cf) v8::Mobile Android Абонемент ($m) Разработка внешних компонент Мобильная разработка Защита и шифрование

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

5 стартмани

17.09.2019    1738    1    IgorKissil    0       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

Пример простого и приятного внешнего HTML интерфейса для мобильного приложения 10

Отчеты и формы Программист Конфигурация (md, cf) v8::Mobile Абонемент ($m) Работа с интерфейсом Мобильная разработка

Реализация простого и приятного внешнего HTML интерфейса для мобильного приложения. Делимся исходниками, чтобы разработчики мобильных приложений разрабатывали больше приятных интерфейсов для приложений.

5 стартмани

05.09.2019    2295    21    Baksheev-Nikita    10       

Мобильное приложение 1С для помарочной инвентаризации маркируемой (алкогольной) продукции 11

Инструменты и обработки Программист Пользователь Архив с данными v8::Mobile Розничная и сетевая торговля (FMCG) Android Розничная торговля Абонемент ($m) Терминал сбора данных Мобильная разработка

Мобильное приложение 1С для помарочной инвентаризации маркируемой (алкогольной) продукции на ТСД под Android. Получение данных марок (штрихкодов), используя БПО для мобильного приложения. Разработка на платформе 8.3.13.1809. Мобильная платформа 8.3.13.64. Версия сборщика 2.0.8.19.

1 стартмани

18.07.2019    2765    7    savostin.alex    0       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Внешняя компонента для принтеров Bixolon 3

Инструменты и обработки Программист Конфигурация (md, cf) v8::Mobile Android Абонемент ($m) Разработка внешних компонент

Представлена компонента мобильной платформы 1С для ОС Android, поддерживающая принтеры этикеток и чеков семейства Bixolon. Тестировалась на релизе мобильной платформы 8.3.14.53.

5 стартмани

08.07.2019    1533    IgorKissil    2       

Мобильное приложение "Сбор заказов" 7

Отчеты и формы Программист Пользователь Приложение (apk) v8 v8::Mobile 1cv8.cf Украина УУ Монитор заказов Абонемент ($m) Мобильная разработка

Приложение «Сбор заказов» разрабатывалось и разрабатывается для хранения и накопления данных от торговых представителей и автоматического обмена данными с программой учёта на базе платформы 1С:Предприятие. Мобильное приложение написано на технологии мобильной платформы 1С:Предприятие. Механизм обмена данных происходит посредством почтового сервера. В дальнейшем будет реализован механизм непосредственного доступа приложения к учётной системе через прямое интернет-соединение. FTP-соединение не работает как надо, так что будем довольствоваться тем, что есть... :)

4 стартмани

06.06.2019    2963    yarsort    9       

Перенос данных БП 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 руб.

Мобильное приложение 1С: Список покупок и анализ расходов 33

Отчеты и формы Программист Пользователь Конфигурация (md, cf) v8 v8::Mobile Домашние учет и финансы Россия УУ Windows Финансовый учет и бюджетирование (FRP) Абонемент ($m) Мобильная разработка

В публикации рассмотрено небольшое домашнее мобильное приложение для составления списка покупок и анализа расходов. В приложении реализованы: работа с штрихкодами (сканирование встроенной камерой), поиск наименования товара по штрихкоду из интернета, загрузка чеков из ФНС по QR-коду, вывод QR-кода ранее загруженного чека и др.

1 стартмани

06.06.2019    4039    18    vasilievil    4       

Event Management - мобильное приложение для управления мероприятиями (Android) 2

Отчеты и формы no Приложение (apk) v8::Mobile Развлечения, искусство, спорт УУ Android Производство готовой продукции (работ, услуг) Абонемент ($m) Мобильная разработка

Event Management - мобильное приложение для управления мероприятиями. Отлично подойдет event-агентствам, свадебным организаторам, а также тем, кто проводит консультации, тренинги и т.д. Работает на Android (проверено на версии 5.1).

4 стартмани

31.05.2019    2442    1    yuriy_lokhonya    1       

Перенос данных УПП 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 руб.

Шаблон http-сервиса для вашего проекта 89

Инструменты и обработки Программист Архив с данными v8 v8::Mobile 1cv8.cf Абонемент ($m) Внешние источники данных WEB Мобильная разработка

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    8969    57    MarkoSokolov    47       

Управление ТСД Zebra с помощью внешней компоненты для мобильной платформы 5

Инструменты и обработки Программист Конфигурация (md, cf) v8::Mobile Android Абонемент ($m) Разработка внешних компонент Мобильная разработка

Представлена внешняя компонента для управления сканерами терминалов Zebra из мобильных приложений 1С.

2 стартмани

15.04.2019    3297    6    IgorKissil    1       

Перенос данных БП 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 руб.

Андроид активити, разработанное для запуска и сбора информации из мобильного приложения 1С 8.3 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::Mobile 1cv8.cf Автомобили, автосервисы Android Абонемент ($m) Мобильная разработка

Активити доступно из кода мобильного приложения 1С 8.3. Может использоваться как часть приложения при приемке автомобиля на предприятиях автосервиса. По сути является модальным диалогом, для внесения данных по осмотру автомобиля при приемке/передаче.

1 стартмани

10.04.2019    2255    hiEnergy    1       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Подкасты сайта "Эхо Москвы" в мобильном приложении 1С 3

Инструменты и обработки no Архив с данными v8::Mobile Россия Android Абонемент ($m) Мобильная разработка

Данная разработка показывает возможности мобильного приложения от 1С на примере получения данных с сайта радиостанции "Эхо Москвы" и последующего проигрывания мультимедиа.

1 стартмани

09.03.2019    2466    2    NovPas    6       

Альтернатива для "ПоказатьВыборИзСписка" и "ПоказатьВопрос" для приложений на Мобильной Платформе (УФ) 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ v8::Mobile 1cv8.cf Абонемент ($m) Мобильная разработка

Внешняя обработка, которая может быть интегрирована в вашу мобильную конфигурацию, если вы собираетесь уделить внимание интерфейсу программы в объеме отличном от нуля. Позволяет организовать выбор пользователем одного элемента из массива или спискаЗначений с возможностью управления цветом, размером и положением как текста вопроса, так и вариантов ответов.

1 стартмани

04.02.2019    3210    HorusTheOne    0       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Внешние компоненты мобильной платформы 1С для ОС Андроид 55

Статья Программист Нет файла v8::Mobile Android Абонемент ($m) Разработка внешних компонент Мобильная разработка

На трех простых примерах описана процедура разработки внешних компонент для Андроид. Статья написана по мотивам доклада на конференции INFOSTART 2018 EDUCATION.

31.01.2019    9311    109    IgorKissil    18       

Инструкция по применению мобильного приложения 1С:Штрихкоды 3

Инструменты и обработки Программист Приложение (apk) v8::Mobile Android Абонемент ($m) Практика программирования Сканер штрих-кода Мобильная разработка

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

1 стартмани

18.01.2019    4456    2    inord777    0       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Сканер штрих-кодов Сервер + Клиент 5

Инструменты и обработки Программист Пользователь Архив с данными v8::Mobile 1cv8.cf Россия Windows Розничная торговля Абонемент ($m) Мобильная разработка Сканер штрих-кода

Мобильное приложение для магазинов одежды, продавец сканирует товар, и ему мобилка выдает остаток +сумму+ склад+ цвет+ размер+ свойство товара.

1 стартмани

18.01.2019    3301    1    enot_tut    0       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 178

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

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

5 стартмани

09.01.2019    25173    229    informa1555    189       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Мобильное приложение для Android по учету выполненных работ/услуг и отслеживанию состояния расчетов с клиентами 1

Отчеты и формы Пользователь Архив с данными v8::Mobile УУ Производство готовой продукции (работ, услуг) Абонемент ($m) Мобильная разработка

Мобильное приложение для Android по учету выполненных работ/услуг. Позволяет вести почасовой учет выполненных работ/услуг, их закрытие, а так же отражение оплаты за выполненные работы и услуги. Позволяет сформировать отчеты о выполненных работах и услугах и о состоянии расчетов с клиентами, а так же отправлять результаты формирования отчетов в pdf формате на электронную почту.

1 стартмани

31.12.2018    3376    alevpe_1c    12       

Мобильное приложение: Терминал сбора данных (Автоматизация работы склада в режиме он-лайн) 29

Отчеты и формы no Расширение (cfe) v8::ОУ v8::Mobile ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Оптовая торговля Розничная торговля Учет ТМЦ Абонемент ($m) Терминал сбора данных Мобильная разработка

Мобильное приложение предназначено для автоматизации работы склада в режиме он-лайн. Программа работает на ТСД (или на смартфоне) под управлением Android. Для работы необходим постоянный доступ к веб-публикации центральной базы данных через интернет.

1 стартмани

10.12.2018    8377    47    user1028927    20