Многофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth

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

Интеграция с оборудованием и сервисами - Разработка внешних компонент

Оповещения Broadcasts Буфер обмена Clipboard Блютуз Bluetooth

Компонента получает широковещательные оповещения, может получать/помещать текст и отслеживать изменения буфера обмена, а также осуществляет связь с bluetooth устройствами с последовательным доступом. Рекумендуется для использования с лазерными и bluetooth сканерами терминалов сбора данных. Предназначена для ОС Андроид.

Новое в релизе 1.3.3

Исправлена ошибка повторной генерации внешнего события при использовании XML формата.

Новое в релизе 1.3.2

В сообщение внешнего события о получении широковещательного сообщения добавлена возможность вывода данных в формате json (см. параметр OutputFormat). В более ранних релизах использовался xml, который иногда не читался (по отзывам отдельных пользователей) средствами 1С (ЧтениеXML) из-за представления некоторых символов в виде &...;.

Новое в релизе 1.3

  1. Теперь все компоненты сборки поддерживают стандарт 1С требований по разработке драйверов 3.3 поскольку фирма 1С выпустила библиотеку подключаемого оборудования для мобильных приложений, поддерживающую этот стандарт. Изменения коснулись, в основном, общих требований к разрабатываемым драйверам. Удален метод ПолучитьНомерВерсии. Вместо него необходимо использовать ПолучитьРевизиюИнтерфейса. Метод ПолучитьОписание содержит только один параметр, который возвращает структуру xml (см. здесь). Состав и параметры общих методов мобильных драйверов приведены к аналогичному составу и параметрам драйверов для стационарной платформы.
  2. Интерфейс компоненты буфера переработан с целью приближения к стандарту устройства ввода. Удалены свойство СодержимоеБуфера и метод УстановитьСодержимое. Вместо них следует использовать параметр Content и дополнительные действия GetClipboard и PutInClipboard.
  3. Добавлена компонента работы с bluetooth: поиск и подключение устройств, взаимодействие по протоколу последовательного доступа (com over bluetooth).
  4. Демострационная конфигурация сделана более наглядной. Теперь для показа работы каждой компоненты используется отдельная форма:

 

Замечание об архитектуре

Стандарт подключаемых драйверов 1С требует, чтобы поставка драйвера отдельным архивом содержала только один драйвер и, соответственно, один объект AddIn. Цитата из документации: "Внешняя компонента для работы с подключаемым оборудованием должна содержать только один объект, реализующий расширение встроенного языка". В моей практике создания мобильных приложений такой подход часто приводил к катастофическому разрастанию размера приложения. Добавление функциональности к существующей компоненте обычно увеличается ее суммарный размер (apk+so файлы) на 10-20%, в то время как следование правилам стандарта приводит к линейному росту от числа компонент. Исходя из этого, данная разработка нарушает стандарт для удобства применения и развертывания приложений с представленной компонентой.

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

Продолжение статьи автора о внешних компонентах для мобильных приложений, в которой представлен развернутый пример компоненты получения широковещательных оповещений в андроиде (broadcasts). Идею ее создания подсказала работа //infostart.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" позволяет добавить к намерению отбор по категориям. Его также можно устанавливать перед стартом отслеживания броадкастов несколько раз, если требуется отбор по нескольким категориям. Очистка набора категорий возможна только при пересоздании объекта компоненты.

Параметр "OutputFormat" управляет форматом вывода данных внешнего события, информирующего о приеме оповещения. Он числовой и может принимать значения: 0 - вывод в виде xml (значение по умолчанию) или 1 - json.

После включения компонента, как и любое устройство ввода, возвращает данные через внешнее событие 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>

Пример аналогичного вывода в формате JSON:

{
"FilterName":"Имя оповещения, заданного параметром FilterName",
"FilterData":
[{"имя очередного параметра CaptureData":"Значение дополнительных данных"},
{"имя очередного параметра CaptureData":["элемент 1 массива данных","элемент 2 массива данных"]}]
}

Как можно догадаться из примера, значения одиночных дополнительных данных возвращаются в тексте элемента <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>
{
"FilterName":"Имя оповещения, заданного параметром FilterName",
"FilterData":
[{"name":"имя очередного параметра CaptureData","datatype":число - индекс типа из таблицы},
...
]}

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

 

И в режиме определения заряда батареи:

 

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

Буфер обмена

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

Для помещения текста в буфер обмена установите параметры Content и Label и вызовите дополнительный метод PutInClipboard. Компонента также в состоянии передать в 1С оповещение об изменении буфера любой программой или службой.

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

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

Объект Clipboard реализован по стандарту устройства ввода. Соответственно, имеет методы Подключить и Отключить. Получение содержимого буфера выполняется с помощью дополнительного действия GetClipboard. Сразу после его вызова компонента порождает внешнее событие ClipboardEvent. В третьем параметре оповещения находится текст из буфера обмена.

Работа с Bluetooth

Драйвер поддерживает следующие операции:

  • программное включение bluetooth, получение списка подключенных устройств, обнаружение доступных неподключенных устройств и их подключение;
  • работу с устройствами через последовательные чтение/запись (com over bluetooth). Чтение данных может выполняться синхронно, в этом случае приложение ожидает данные, пока они не появятся от устройства, а приложение останавливается. Либо асинхронно в двух режимах - по запросу и в фоне. В первом случае компонента проверяет наличие данных и если их нет, возвращает ошибку, во втором ответ от устройства проверяется постоянно в отдельном потоке и при появлении данных в 1С возникает внешнее событие. Последний режим удобен для работы со сканерами, например такими. Работа с блютуз добавлена в представленную компоненту, чтобы расширить область ее применения в отношение сканеров.

Рассмотрим сценарии использования bluetooth драйвера. Подключение объекта выполняется стандартно:

КомпонентаBluetooth = Новый("AddIn.Broadcasts.BluetoothCommunication");

Включение или выключение булевого параметра DiscoveryMode определяет в каком режиме мы будем подключать компоненту. Вначале рассмотрим режим поиска устройств (DiscoveryMode = Истина). В этом режиме после вызова метода Подключить компонента в фоновом процессе будет выполнять поиск всех доступных устройств и при их обнаружении передавать внешнее событие с именем DeviceDiscovered:

Данные об устройстве возвращаются в строке xml вида:

<BluetoothDevice Name="Any device" Address="01:01:01:01:01:01"/>

содержащей имя и mac-адрес устройства. О включении и завершении режима поиска дополнительно сигнализируют внешние события DiscoveringStarted и DiscoveringStopped. Когда DiscoveryMode установлен в Истина, прочие параметры не оказывают возвдействие на работу компоненты, кроме одного - AutoEnable. Он также содержит булево значение. Если его включить, а в настройках вашего устройства блютуз окажется выключенным, компонента попытается его включить, запросив разрешение у пользователя через стандартный диалог. Аналогичным образом блютуз может включатся и в режиме обмена данными.

Примечание: К сожалению, архитектура внешних компонент 1С для Андроид не позволяет оповещать мобильное приложение об ответах пользователя в стандартных диалогах. В данной работе это относится как к упомянутому диалогу активации блютуз, так и к выводимым компонентой запросам на дополнительное права администратора блютуз и диалогам на сопряжения устройств. В таких случаях компонента в методе Подключить возвращает ошибки с кодом 2001 или 1002. Разработчик мобильного приложения должен будет предложить пользователю подключиться повторно или реализовать какой-нибуть цикл с задержкой для повторной проверки результата подключения.

При работе драйвера в режиме коммуникации (DiscoveryMode=False) обязательна установка параметра Device (строка). Это может быть как mac-адрес, так и имя устройства. Несопряженные устройства при подключении будут вызывать стандартный системный диалог:

После подтверждения пользователя устройство будет добавлено в список сопряженных и подключено. Разрабочик мобильного приложения может также воспользоваться списком сопряженных устройств, который читается и возвращается в 1С при получении параметров (метод ПолучитьПараметры) в подчиненных элементах ChoiceList элемента Parameter с именем Device. Если устройство доступно и поддерживает коммуникацию по com-протоколу, после вызова метода Подключить, драйвер открывает потоки на запись и чтение.

Для записи (передачи данных) от мобильного приложения на устройство разработчик может воспользоваться

  • подходом, соответствующим стандарту внешних компонент: данные записываются в параметр InputData в формате строки Base64; передача происходит при вызове дополнительного действия SendData
  • более быстрым способом: вызвать метод ЗаписатьДанные (WriteData), который принимает два аргумента - номер устройства (возвращаемый при вызове Подключить, строка) и сами данные для записи с типом 1С ДвоичныеДанные. При частой коммуникации, понятно, что в этом случае скорость достигается за счет экономии в преобразованиях из base64 и обратно

Чтение данных, как было упомянуто выше, может выполняться в трех режимах, определяемых установкой параметра ReadMode. Если он равен 0, компонента будет ожидать данные от устройства бесконечно долго, и если их нет, блокировать основной поток. Если он равен 1, компонента проверяет наличие данных в потоке чтения. Если они есть, данные читаются, если нет - возвращается ошибка 2013 (в методе ReadData). Установка параметра в значение 2 включает асинхронный режим чтения, когда появление данных будет вызывать внешнее событие DataReceived, а сами данные возвращатся в третьем параметре события в виде строки base64. В асинхронном режиме последовательность чтения и записи не определена, то есть невозможно гарантировать, что данные, отправленные на устройство окажутся там раньше или позже прочитанных данных. Технически чтение инициализируется методом ПрочитатьДанные (ReadData). Первый параметр, как обычно, логический номер устройства, во второй возвращаются данные в виде двоичных данных 1С. Добавленные в платформу в последних релизах мощные средства работы с двоичными данными в виде потоков, позволят разработчику перекодировать их в строки с любыми кодировками при необходимости. Параметр DirectRead (булево) во включенном состоянии указывает драйверу порождать внешние события DataReceived при каждом получении данных. Понятно, что он имеет смысл для режимов 0 и 1. В асинхронном режиме внешнее событие возникает в любом случае. Его установка как и при чтении немного замедляет работу драйвера, если Вы работаете с синхронным устройством в режиме 0, внешние события будут лишними. Для режима 0 используется еще один параметр BufferSize. Это число - размер буфера чтения в байтах. Если размер данных превышает установленный размер буфера, чтение будет успешно выполнено несколько раз до исчерпания данных.

В режиме последовательной коммуникации (ReadMode=0), с помощью этой компоненты можно запрограммировать работу многих синхронных устройств, например, кассовых аппаратов. В моем багаже имееется несколько компонент для мобильной платформы 1С, предназначенных для ККМ, поддерживающих технологию блютуз. Командный протокол для них "зашит" в код самой компоненты, но я не вижу препятствий для реализации команд устройств, используя саму 1С платформу и эту внешнюю компоненту.

О примере

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

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

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

Наименование Файл Версия Размер
Конфигурация с компонентой и примером ее использования

.cf 1,93Mb
423
.cf 1.3.3 1,93Mb 423 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. saa@kuzov.org 02.03.18 23:47 Сейчас в теме
Спасибо!
А исходники этой ВК можно увидеть?
Pozd; Flok; vasiliy_b; user1041486; PROF1L; +5 Ответить
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 332 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 332 29.05.18 07:44 Сейчас в теме
(5) Проверил на эмуляторе 4-го андроида - пример к статье работает. Увы, физических устройств с этой версией у меня нет. На терминале с 5-м адроидом тоже все в порядке.
8. IgorKissil 332 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 19 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 332 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 23 28.06.18 13:56 Сейчас в теме
Добрый день, помогите пожалуйста. Установил на ТСД с андроид 4.4, интент ловит и батарейки и сканШК, но данных в них нет. Что можно с этим сделать? Прилагаю скан на Андр8 и на 4.4
Прикрепленные файлы:
286. 1cspec 71 05.02.21 00:29 Сейчас в теме
(12) Вы разобрались как отловить Штрихкод? Аналогичная проблема.
13. hobi 600 16.07.18 16:52 Сейчас в теме
Отличная компонента, на Honeywell EDA50 работает без проблем !
14. IgorKissil 332 16.07.18 18:11 Сейчас в теме
В версии 1.0.2 исправлена ошибка в компоненте, которая в редких случаях может вызвать утечку памяти
15. hobi 600 18.07.18 16:10 Сейчас в теме
Странное поведение компоненты.
Связь ТСД с компьютером через кабель (ADB.exe, Интернет тоже через кабель)

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

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

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

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

Такое поведение наблюдается и в собственном приложении и в приложении, загруженном из конфигурации broadcast.cf, размещенной в публикации.
17. IgorKissil 332 18.07.18 21:24 Сейчас в теме
(15) Никаких обращений к внешним ресурсам через интернет компонента не выполняет. Собирайте приложение сборщиком. Но если хотите запускать через платформу, для приложений с внешними компонентами есть нюансы, приложение должно быть опубликовано на сервере отладки и тогда действительно идет обращение в интернет.
user1021675; +1 Ответить
18. hobi 600 19.07.18 06:43 Сейчас в теме
(17) Спасибо за ответ. Буду с нюансами бороться.
175. Azamatex 11 30.10.19 07:55 Сейчас в теме
(17)Я настроил сервер отладки (проверил, отладка идет), но ошибка компонента не подключена все равно выходит. Можно как-нибудь отключить этот нюанс?
67. pushking 9 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""!");
КонецЕсли;
Показать
Mayak; chemezov; alexex; markers; +4 Ответить
114. markers 257 20.06.19 13:53 Сейчас в теме
(67) Большое спасибо! Работает!
250. chemezov 43 21.07.20 14:17 Сейчас в теме
(114)Подскажите пожалуйста. Этот код вы исполняете где то при запуске 1с мобильного приложения или при открытии приложения у вас программно запускается форма и при открытии этой формы уже исполняется код?
248. chemezov 43 21.07.20 11:07 Сейчас в теме
(67) Подскажите пожалуйста. Этот код вы исполняете где то при запуске 1с мобильного приложения или при открытии приложения у вас программно запускается форма и при открытии этой формы уже исполняется код?
251. pushking 9 21.07.20 14:35 Сейчас в теме
(248)
ПередНачаломРаботыСистемы - вызывается инициализация и помещается в глобальную переменную.
ПриЗавершенииРаботыСистемы - устройство отключается.

Не забудьте что компоненты работают лишь в скомпилированном приложении.
252. chemezov 43 21.07.20 16:04 Сейчас в теме
(251) Большое спасибо, сейчас буду пробовать.
253. chemezov 43 21.07.20 16:35 Сейчас в теме
(251) А правильно ли я понял, что после инициализации, где нибудь в форме в которой мы будем находиться во время сканирования, мне надо слушать событие "ОбработкаОповещения" с именем события "scan.rcv.message"?
254. chemezov 43 21.07.20 16:46 Сейчас в теме
(251) Правили ли вы какой-нибудь манифест, как некоторые коллеги?
242. alexex 44 19.03.20 05:44 Сейчас в теме
Автору спасибо!

Caribe PL-55L

ИмяВнешнегоСобытия = "com.action.SCAN_RESULT";
	
	Если ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда
		Компонента = Новый("AddIn.Broadcasts.UniversalBroadcast");
		Компонента.УстановитьПараметр("FilterName",ИмяВнешнегоСобытия);
		ШаблонДанных = Компонента.ПолучитьШаблонОписанияДанных();
		barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"scanContext", XMLСтрока(Истина), XMLСтрока(15));
		Компонента.УстановитьПараметр("CaptureData",barcode);
		
		Если не Компонента.Подключить(НомерУстройства) Тогда
			ТекстОшибки = "";
			КодОшибки = Компонента.ПолучитьОшибку(ТекстОшибки);
			ПоказатьПредупреждение(,"Ошибка: "+КодОшибки+", "+ТекстОшибки);
		КонецЕсли;
				
	Иначе
		ПоказатьПредупреждение(,"Компонента не подключена",5);
		ЗавершитьРаботуСистемы(Ложь);
	КонецЕсли;
Показать
321. пользователь 16.07.21 12:54
Сообщение было скрыто модератором.
...
322. BALGAR 16.07.21 13:03 Сейчас в теме
(242)Добрый день! У меня тоже ТСД Caribe PL55L, но не могу поймать broadcast. Может проконсультируете меня как вы настроили свой ТСД. Напишите мне пожалуйста на почту dima.stanchevskiy@gmail.com
323. alexex 44 05.08.21 10:37 Сейчас в теме
(322) Просто режим сканирования broadcast. Вопрос, приложение собранное?
329. BALGAR 31.08.21 14:06 Сейчас в теме
(323)Приложение не собрано, будет ли оно работать если его опубликовать как мобильное приложение?
331. alexex 44 01.09.21 04:54 Сейчас в теме
(329) будет работать, только надо сконфигурировать веб сервер. см 162 сообщение
332. BALGAR 01.09.21 07:27 Сейчас в теме
333. BALGAR 01.09.21 14:57 Сейчас в теме
(331) У меня веб сервер Apache, добавил в mime.types параметры (so apk dylib a). Опубликовал мобильное приложение, подключаюсь к нему, все нормально. Но при выполнении кода "Компонента.Подключить()" выдает код ошибки "0". Не получали такой ошибки? А если собрать APK файл. всё работает нормально).
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 332 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 Ответить
247. chemezov 43 20.07.20 06:26 Сейчас в теме
(19) Для Urovo есть нормальный драйвер. Можно на сайте скачать, либо в конфигурации 1С Мобильная касса в макетах. Я дл Urovo 5100 делал приложение в прошлом году, драйвер рабочий.
23. IgorKissil 332 08.08.18 11:13 Сейчас в теме
Тогда все сложнее. Я ошибку воспроизвести не могу, на доступных мне устройствах все работает. В моем коде даже нет такого места Intent.addFlags(int). Максимум что могу, это позже попробовать на эмуляторе nexusa.
107. s.neumyvakin_2015 03.06.19 08:01 Сейчас в теме
(23)
(105)
Добрый день!
К сожалению нет. Что то я наверное не так делаю раз у всех работает а у меня нет.
24. hobi 600 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 600 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 332 22.08.18 13:44 Сейчас в теме
(25) Можно. По срокам пока ничего не скажу
user598655_ilia-bers; hobi; +2 Ответить
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. ared20 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. ared20 02.11.18 16:14 Сейчас в теме
(48) Ну ничего себе имя... Заработало! Спасибо огромное!
57. adt 16.11.18 11:11 Сейчас в теме
(50) Добрый день, такая же проблема - подскажите, где и как задать имя переменной для для баркода и для типа баркода, никак не могу сообразить.
61. ared20 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 332 17.09.18 11:31 Сейчас в теме
(29) В релиз 1.0.4 добавил параметр Category
31. Гость 18.09.18 07:40
47. ared20 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 , проблема осталась.
chemezov; +1 Ответить
43. menen 25.10.18 09:33 Сейчас в теме
(32) Вопрос не решили? Также не подключается ни на ТСД (PL-40 Android 7), ни на планшете (Huawei Andr 7) ...
chemezov; +1 Ответить
33. user1024947 19.10.18 13:37 Сейчас в теме
Добрый день

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

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

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

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

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

На предыдущих версиях 8.3.12 публикация завершается нормально.
53. ared20 02.11.18 18:49 Сейчас в теме
(52)Это наверное не через сервер, а если в конфигураторе по пути Конфигурация/Мобильноеприложение/Опубликовать . У меня тоже такая ошибка в этом случае. Но на web-сервере все публикуется без ошибок
54. hobi 600 09.11.18 09:47 Сейчас в теме
Манифест изменил, всё заработало.
SagittariusA; +1 Ответить
55. kosten 67 14.11.18 10:53 Сейчас в теме
(54) Здравствуйте. Подскажите что необходимо изменить в манифесте, чтобы исправить ошибку "Ошибка разбора манифеста внешней компоненты Component: отсутствует обязательный атрибут name"?
56. hobi 600 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>
swenzik; comptr; KAV2; SagittariusA; +4 Ответить
58. adt 16.11.18 15:53 Сейчас в теме
Здравствуйте.
ТСД symbol mc32n0, Андроид 4.1.1
события приходят, но доп поля, указанные в параметрах CaptureData - в XML отсутствуют.
Тот же пример прогнал на телефоне с Андроид 5.1 - все пришло с параметрами.
Получается, что дело в версии андроида? У кого-нибудь заработало на 4.1.1?
59. IgorKissil 332 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 332 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 332 04.04.19 14:34 Сейчас в теме
(94) Если нет ограничений по используемому функционалу (в компоненте) сделаю
96. arancheev.s 04.04.19 15:46 Сейчас в теме
(95) Очень хочется использовать последние релизы 1с и одну компоненту на своих разных терминалах. Спасибо большое, буду ждать.
97. IgorKissil 332 09.04.19 10:25 Сейчас в теме
(96) Только что выложил релиз 1.1.1 под андроид API 14. После обновления публикации пробуйте.
102. vita8383 11.05.19 11:41 Сейчас в теме
(58) Добрый день, удалось победить проблему на данном устройстве?
60. Xershi 1266 16.11.18 18:08 Сейчас в теме
Добрый день!
Подскажите материалы как самому написать компоненту для андроида?
Вот в этой теме изучаю вопрос:
https://forum.infostart.ru/forum15/topic202825/
Оставьте свое сообщение

См. также

Дневник времени. Простое мобильное приложение 1С для телефона на Андроид Промо

Мобильная разработка v8::Mobile Абонемент ($m)

Дневник времени. Для адептов тайм-менеджмента и всех тех, кто ценит свое время. Предназначен для ежедневных записей в телефоне расхода времени на различные задачи. Отчет по записям программы позволяет увидеть, сколько времени, на какие задачи расходовалось и проанализировать траты времени за месяц. Можно выгрузить записи в csv файл и анализировать на дескопном компьютере, например в Экселе. Можно составлять планы на день и отмечать, что удалось сделать, а что нет.

1 стартмани

12.03.2021    2811    4    pricec    1    

Внешняя компонента для мобильного приложения

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

Внешняя компонента для дополнения мобильной платформы некоторыми функциями.

1 стартмани

02.11.2021    1511    1    Prometeus2011    8    

Пример формы авторизации на Javascript для мобильного приложения

Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

Пример формы авторизации на Javascript для мобильного приложения

3 стартмани

25.10.2021    1061    3    rail21    11    

Внешняя компонента: Android tools Промо

Мобильная разработка Разработка внешних компонент v8 v8::Mobile Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 230KB.

1 стартмани

12.01.2021    6061    17    KAV2    13    

Распознавание речи в мобильном приложении 1С на Android

Мобильная разработка Разработка внешних компонент v8::Mobile Абонемент ($m)

Внешняя компонента для мобильной платформы 1С, работающая в связке с отдельной службой и позволяющая реализовать распознавание речи в мобильном приложении на Android.

1 стартмани

15.07.2021    4147    5    salexdv    6    

Мобильное приложение для 1C:Drive для фотоотчетов с сохранением фотографий в Microsoft Azure Blob storage

Мобильная разработка v8::Mobile Абонемент ($m)

Пример реализации мобильного приложения, которое использует Microsoft Azure Blob storage для сохранения фотографий и передает сведения о сделанных фотографиях в 1C:Drive.

1 стартмани

26.02.2021    3341    3    keypax    2    

Авторизация в мобильном приложении 1С

Роли и права Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

Реализация входа по паролю (личному коду) в мобильном приложении 1С.

10 стартмани

23.02.2021    5382    6    kaiman_fedor_yandex    0    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    37349    71    Ditron    103    

Выбор документов на мобильном устройстве (iOS)

Мобильная разработка v8::Mobile Абонемент ($m)

При внедрении мобильного приложения, имеющего в своём функционале работу с файлами, возникла необходимость прикреплять к документам не только фотографии из библиотеки мультимедиа или тут же созданные фотографии, а документы (pdf, doc, xlsx, и др.). В операционной системе iOS файловая система скрыта для пользователя и взаимодействие с файлами осуществляется средствами самого приложения и только с файлами, расположенными в директории приложения (контейнере приложения). Т.е. задачей было поместить файлы в директорию приложения и организовать взимодествие с этим каталогом.

1 стартмани

29.11.2020    3647    0    OlegK    0    

Программа расчёта питательной ценности ежедневной диеты по тридцати восьми нутриентам (мобильное приложение 1С для Андроид), APK + исходная конфигурация

Мобильная разработка v8::Mobile Домашние учет и финансы Абонемент ($m)

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

5 стартмани

12.10.2020    3903    1    ovasiliev    4    

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

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

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

5 стартмани

09.01.2019    62933    271    informa1555    239    

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка v8 Абонемент ($m)

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

3 стартмани

09.10.2020    22558    190    ltfriend    153    

1C.QuickPhoto - мобильное приложение для быстрой отправки фотографий в присоединенные файлы БСП

Мобильная разработка Обработка справочников Адаптация типовых решений v8 УНФ ERP2 УТ11 КА2 Абонемент ($m)

Приложение предназначено для быстрого прекрепления фотографий к документам и справочникам программ 1С. Требуется установить расширение для своей конфигурации и опубликовать http-сервис.

2 стартмани

17.09.2020    5428    12    suepifanov    33    

Мобильная платформа. Штрихкоды в Android.

Разработка внешних компонент Мобильная разработка Сканер штрих-кода v8::Mobile Абонемент ($m)

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

3 стартмани

14.09.2020    4798    4    kinan    19    

TextRadar - нечеткий поиск в тексте Промо

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

В отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны, в задаче нечеткого поиска выделяются строка поиска и строка данных, а вычислить необходимо не степень похожести двух строк, а степень присутствия строки поиска в строке данных. Нормированный коэффициент, находящийся между 0 и 1 позволяет отсечь заведомо низкие результаты, организовать поиск по синонимам и т.д. Наглядное отображение результатов в кратком и детальном виде поможет быстро найти интересующий фрагмент.

1 стартмани

19.09.2018    24121    32    TSSV    19    

Инструменты отладки Web-страниц в приложении на устройстве Android

Мобильная разработка WEB Инструментарий разработчика Разработка внешних компонент v8::Mobile Абонемент ($m)

При разработке сложных интерфейсов на базе HTML часто возникает необходимость отладки стилей CSS и скриптов непосредственно на устройстве. Статья описывает способ отладки web-содержимого приложения мобильной платформы 1С на Андроид устройстве с помощью Chrome Development Tools.

7 стартмани

26.08.2020    6231    3    ingeneerz@gmail.com    2    

Мусорная корзина, или удаление помеченных объектов для мобильной платформы

Мобильная разработка Чистка данных v8 v8::Mobile 1cv8.cf Абонемент ($m)

Обработка удаления помеченных объектов для встраивания в Ваши мобильные приложения.

2 стартмани

18.08.2020    4218    3    GAMLET    0    

Расширение "PUSH уведомления для мобильного клиента".

Мобильная разработка v8::Mobile КА1 ERP2 УТ11 1С:CRM Россия Абонемент ($m)

Расширение для отправки PUSH уведомлений в мобильный клиент на Android. Подходит для типовых конфигураций, протестирована на конфигурации КА 2.4.

1 стартмани

04.08.2020    6272    10    romanpolyashov@yandex.ru    0    

Беспроводные метки NFC Промо

Мобильная разработка NFC, RFID v8::Mobile Абонемент ($m)

Технический прогресс не стоит на месте, появляющиеся новые технологии со временем дешевеют и становятся доступны практически всем желающим. Как пример можно привести мобильные телефоны. Середина 80-ых - начало 90-ых были переносные таксофоны с ручками или кирпичи стоимостью несколько тысяч $, конец 90-ых - большого размера трубки, с торчащими антеннами со стоимостью от 100$ Такую же аналогию можно провести с NFC метками, используемыми в учетных целях.

1 стартмани

16.05.2017    26148    74    PloAl    20    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    8972    2    YPermitin    14    

Универсальная обертка для использования NATIVE компонент на платформе 1С 7.7, 8.0 и 8.1

Разработка внешних компонент v8 Абонемент ($m)

Используете 1С 7.7, 8.0 или 8.1 и вас раздражает, что под вашу 1С уже не выпускаются современные компоненты. А хотелось бы?

1 стартмани

07.07.2020    7333    8    karpik666    5    

Нано HTTP сервер - внешняя компонента для мобильного приложения 1C, на Android

Разработка внешних компонент Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

Нано HTTP сервер на терминале сбора данных "ATOL Smart.Lite android 7.0". Работает только с GET и POST запросами. Аутентификация BASE64. Не поддерживает HTTPS и не передает файлы. В прикрепленном архиве исходники на компоненту (С++ и java для Android Studio 3.6.2), ЦФ - мобильного приложения и тестовая обработка.

1 стартмани

22.06.2020    6967    12    SanyMaga    19    

Использование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент. Промо

Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Данная разработка создана для использования сборок .Net в 1С через преобразование объектов и классов в COM-объекты, которые можно использовать в 1С. Достигается это путем создания класса, реализующего методы интерфейса IReflect public class AutoWrap: IReflect.

1 стартмани

28.11.2013    93922    295    Serginio    74    

Простое мобильное приложение, информирующее об остатках на складах и ценах по штрихкоду, для 1С: УНФ, Розница, УТ 11

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

Для различных торговых предприятий(магазинов, супермаркетов, торговых баз и т.п.) крайне необходимо персоналу, быстро уточнять наличие на складе или цену продаваемой номенклатуры. Что может быть проще взять свой смартфон навести камеру, и все выяснить. Но не тут то было, в стандартном функционале 1С Розницы, УНФ, Торговли и т.п., ничего для быстрой обработки штрихкодов нет. На инфостарте ничего нужного, я также не нашел. В итоге пришлось разработать данное решение.

2 стартмани

03.06.2020    9120    25    Romyl01    23    

Перехват сканирования Android Native API

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

Native компонента для перехвата сканирования шк и передачу в мобильную 1С.

1 стартмани

29.04.2020    11090    65    evgeny43    57    

Мобильная платформа. Уникальный идентификатор устройства Android при помощи внешней компоненты. Не IMEI

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

Идентифицируем устройства, на которых установлены копии нашего приложения.

3 стартмани

23.04.2020    7551    7    kinan    19    

Приложение Android для идентификации/распознавания образов (с обучением с одного раза, One-Shot Learning) с возможностью работы с 1С через веб-сервис Промо

Мобильная разработка v8 Абонемент ($m)

В данной статье описано приложение, алгоритм и методика распознавания изображений, предоставляющее посредством http-запросов информацию о распознанных объектах в 1С. В качестве примера интеграции прилагается конфигурация, реализующая веб-сервис для приема запросов от приложения.

1 стартмани

19.06.2018    19841    5    informa1555    16    

Внешняя компонента Native API для управления окнами и буфером обмена, получения снимков окон Windows и Linux

Разработка внешних компонент v8::УФ Россия Абонемент ($m)

Внешняя компонента Native API для Windows и Linux с исходными кодами на C++. Возможности компоненты: получение списка окон и списка процессов, управление размерами и положением окна, снимок окон и снимок экрана, доступ к данным буфера обмена, взаимодействие по протоколу WebSocket.

2 стартмани

16.04.2020    7439    12    kandr    13    

Мобильная платформа. Шифрование строк в Android при помощи внешней компоненты

Разработка внешних компонент Защита и шифрование v8::Mobile Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Шифруем строки.

3 стартмани

15.04.2020    5647    1    kinan    0    

Android Java и NativAPI C++ внешняя компонента для широковещательных сообщений (отправка и прием). Подключаем сканер ШК и клавиатуру к "1С мобильное приложение"

Оптовая торговля Розничная торговля Сканер штрих-кода Разработка внешних компонент Мобильная разработка v8::Mobile Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Подключаем сканер ШК и клавиатуру к "1С мобильное приложение", на терминале сбора данных "ATOL Smart.Lite android 7.0". Работаем с буфером обмена. В архиве к теме; 1. исходник компоненты (папка package готовый zip); 2. исходник "AccessibilityService" для перехвата клавиатуры (папка package готовый apk); 3. cf - тестовая конфигурация

1 стартмани

15.04.2020    10073    69    SanyMaga    88    

Tool1CD Beta в деле Промо

Разработка внешних компонент v8 Абонемент ($m)

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    32150    32    dmpas    26    

Мобильная платформа. Реакция на внешнее событие в Android при помощи внешней компоненты

Мобильная разработка Разработка внешних компонент v8::Mobile Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Пришиваем платформе уши, чтобы лучше слышать.

3 стартмани

06.04.2020    8830    15    kinan    25    

Получение фото с веб-камеры

Разработка внешних компонент v8 Абонемент ($m)

Получение фото с веб-камеры без ActiveX. Внешняя компонента по технологии Native API.

1 стартмани

25.03.2020    11828    101    berezdetsky    46    

Готовые решения для инвентаризации товаров и основных средств на мобильных устройствах для КА, УТ, ERP и БП 3.0 на базе Simple UI

Оптовая торговля Розничная торговля Учет ОС и НМА Мобильная разработка Учет ТМЦ v8 ERP2 БП3.0 УТ11 КА2 БУ УУ Абонемент ($m)

В расширениях для Бухгалтерия 3.0 и КА2.4/УТ11.4/ERP2.4 представлены готовые рабочие места для онлайн и оффлайн инвентаризации товаров (для БП 3.0 также инвентаризации основных средств) на базе бесплатного конструктора мобильного фронта Simple UI. При этом используется расширенная работа с идентификацией товаров и ОС с помощью различных подходов – сканирование штрих кода, распознавание артикулов и инвентарных номеров и различные поиски. Также используются различные возможности платформы Simple UI. Данная разработка может быть полезна как конечным пользователям, так и разработчикам в качестве заготовки, так как на базе этих блоков можно сделать ввод любого документа конфигурации , связанного с товаром или с ОС. Тестировалось на 1С 8.3.13.1865, КА 2.4.8.63 и БП 3.0.74.69

5 стартмани

28.02.2020    15671    74    informa1555    76    

Мобильное приложение "Отчет по проделанной работе" Промо

Мобильная разработка Учет рабочего времени Учет рабочего времени v8 Россия УУ Абонемент ($m)

Приложение выполняет фиксацию рабочего времени у клиентов, а также заявок на работы, пригодится как шаблон для разработки своего или как готовое решение для работников в сфере услуг, которые фиксируют время у клиентов. В приложении 2 документа: первый "отчет за день", второй "заявка" и полезный инструмент "Отчет задачи", который в свою очередь создан для просмотра, анализа и закрытия заявок. Тестировал на Iphone 6s.

10 стартмани

01.12.2017    28778    10    olejnikov_m    6    

Обработка голосового ввода текста с использованием (intent)

Мобильная разработка v8::Mobile 1cv8.cf Абонемент ($m)

Обработка для голосового ввода текста с использованием дополнительных возможностей ОС Android.

1 стартмани

26.02.2020    5869    3    algabas    7    

Быстрая печать этикеток (ZPL, EPL, TSPL, EZPL, GEPL, TSPL-EZ)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Качественная и быстрая печать на внутреннем языке принтеров этикеток.

4 стартмани

02.02.2020    13698    56    Johny_v    14    

Сканирование по TWAIN в 1С (обычные и управляемые формы)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка показывает пример, как можно в 1С проводить сканирование с помощью компоненты TWAIN.

3 стартмани

03.01.2020    10016    36    Denr83    0    

NativeDraw: Компонента рисования для 1С [V2.6.2] Промо

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.07.2015    53675    474    ПерваяСистема    147    

Обмен данными с Android через USB

Мобильная разработка Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка с примером обмена данными конфигурации 1С через USB. Без установки Web сервера и настройки WiFi.

1 стартмани

23.12.2019    7203    6    asdfgcom    2    

Simple UI: простой конструктор мобильных приложений для устройств на Android. Обновление от 25.11.21 - ORM

Мобильная разработка v8 УУ Абонемент ($m)

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

1 стартмани

14.11.2019    32113    331    informa1555    183    

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

Мобильная разработка v8::Mobile Россия Абонемент ($m)

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

1 стартмани

05.11.2019    11886    8    sam441    13    

Компоненты распознавания и печати штрих-кодов Промо

Разработка внешних компонент Сканер штрих-кода v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Комплект программного обеспечения для реализации функций оптического распознавания штрих-кодов различных систем при помощи обычной web-камеры, а также их отображения в печатных формах. Программы могут работать в составе конфигураций, созданных на базе платформ «1С-Предприятие» версий 7.7, 8.2, 8.3. Компонент чтения кодов реализован в виде внешней компоненты 1С с COM-интерфейсом. Компонент отображения создан по стандартной технологии ActiveX для Windows, и может быть встроен в любое приложение, поддерживающее встраивание ActiveX элементов управления, например в документ Word или Excel, или форму VBA. P.S. Добавлена новая версия программы распознавания. Новые функции: обработка видео в реальном режиме (а не по таймеру, как раньше), добавлена возможность распознавания штрих-кодов из графических файлов JPEG, PNG, GIF, BMP, а также передавать для распознавания картинки из 1С, теперь можно получить в 1С захваченное с камеры или файла изображение, как с выделением мест, содержащих коды, так и без, а также отдельные фрагменты изображений, содержащие код. Добавлены новые свойства и методы для программирования. Обновлена документация.

10 стартмани

10.07.2015    77588    91    igorberezhnov    121    

Мобильное приложение для Android для отправки СМС из 1C

SMS рассылки Мобильная разработка v8 1cv8.cf Абонемент ($m)

Вашему вниманию предлагается мобильное приложение (конфигурация .cf) + HTTP сервис для отправки СМС из 1С8

2 стартмани

04.11.2019    10467    18    dimasikus31    7    

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

Мобильная разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.10.2019    14380    8    Kosigo    11    

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

Разработка внешних компонент v8 Абонемент ($m)

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

1 стартмани

21.10.2019    14439    11    ripreal1    34    

Полезные приемы при работе с Excel из 1С (Версия 3.1) Промо

Разработка внешних компонент Загрузка и выгрузка в Excel Практика программирования v8 1cv8.cf Абонемент ($m)

Программисту 1С часто приходится работать с таблицами Excel из 1С. Я постарался собрать небольшой FAQ и набор функций для работы с файлами Excel. Надеюсь, кому-то будет полезна данная статья.

1 стартмани

22.09.2015    255454    522    Zerocl    81    

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

Разработка внешних компонент v8 Абонемент ($m)

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

1 стартмани

06.10.2019    15914    38    vdv2701    40    

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

Разработка внешних компонент Мобильная разработка Защита и шифрование v8::Mobile Абонемент ($m)

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

5 стартмани

17.09.2019    9715    2    IgorKissil    9