Тестировалось на платформе 8.3.14. Управляемые формы. Любые конфигурации.
Натолкнула на мысль организация с повышенной безопасностью и невозможностью использования WiFi для работы с ТСД. Пришлось в срочном порядке подтягивать матчасть. Не нашел ровным счетом ничего касательно записи/чтения на Андроид-устройствах посредством USB. Решил использовать средства ADB для организации обмена.
Успешно протестировав 2 устройства с мобильной разработкой ТСД, спешу поделиться методикой передачи данных на Андроид-устройства и чтения с них.
Обработка использует ADB(Android Debug Bridge).
За идею взяты исходники и материалы отсюда: https://4pda.ru/forum/index.php?showtopic=383300&st=5020
Обработка содержит в макете архив с ADB и самостоятельно устанавливает его по кнопке "Установить ADB" в каталог C:\ADB.
Создает файл для поиска подключенных устройств.
стр = "echo off
|adb devices
|pause";
Текст = Новый ЗаписьТекста("C:\ADB\devices.cmd");
Текст.Записать(стр);
КомандаСистемы("C:\ADB\devices.cmd");
Создает тестовый файл и посредством команд ADB отправляет и проверяет успешность записи чтением на Андроид-устройстве.
По умолчанию файлы пишутся по пути:
файлАндроид = "/mnt/shell/emulated/0/Download/Exchange/" + ИмяФайла;
Вот основная функция с чтением и записью:
&НаКлиенте
Функция ЗаписатьФайлВТСД(ИмяФайла, ТекстСообщения)
Попытка
///mnt/shell/emulated/0/Download/Exchange/
файлАндроид = "/mnt/shell/emulated/0/Download/Exchange/" + ИмяФайла;
ВремФайл = ПолучитьИмяВременногоФайла("jsn");
стр = ТекстСообщения;
Текст = Новый ЗаписьТекста(ВремФайл);
Текст.Записать(стр);
Текст.Закрыть();
КомандаЗапись = "C:\ADB\adb.exe push " + ВремФайл + " " + файлАндроид;
КомандаСистемы(КомандаЗапись);
УдалитьФайлы(ВремФайл);
ВремФайл = ПолучитьИмяВременногоФайла("jsn");
Командачтение = "C:\ADB\adb.exe pull " + файлАндроид + " " + ВремФайл;
КомандаСистемы(Командачтение);
Текст = Новый ЧтениеТекста(ВремФайл);
стр = Текст.Прочитать();
Текст.Закрыть();
//Сообщить(стр);
УдалитьФайлы(ВремФайл);
//сравнение
РезультатСравнения = ТекстСообщения = стр;
Если РезультатСравнения Тогда
Возврат Истина;
КонецЕсли;
Исключение
Сообщить("Ошибка подключения.");
УдалитьФайлы(ВремФайл);
КонецПопытки;
Возврат Ложь;
КонецФункции
Как всегда для "ленивых" прилагается готовая обработка.
В Андроиде должны быть открыты режим разработчика. Тип подключения ЮСБ выберете самостоятельно. На разных устройствах - по разному. Иногда режим "Только зарядка", иногда "медиаустройство".