Имя: Пароль:
1C
 
Работа с NFC мобильное приложение
0 pioneer_22
 
18.12.23
04:25
Платформа 1с 8.3.24.1342, платформа на мобильном 8.3.24.40. Фирма 1С внедрила поддержку чтения NFC меток в мобильном приложении начиная с версии платформы 8.3.23 - https://infostart.ru/journal/news/mir-1s/potokovoe-skanirovanie-i-podderzhka-nfc-v-mobilnoy-platforme-1s-8-3-23_1727418//

Написал небольшой код для проверки работоспособности чтения NFC
&НаКлиенте
Процедура NFC(Команда)
    СканироватьМеткуNDEF(Команда);
КонецПроцедуры
&НаКлиенте
Процедура СканироватьМеткуNDEF(Команда)
    МенеджерМеток = СредстваNFC.МеткиNDEF;
    Если МенеджерМеток.ПоддерживаетсяАктивноеСканирование() Тогда
        ОбработкаСканированияМетки = Новый ОписаниеОповещения("ПриЧтенииМетки", ЭтотОбъект);
        МенеджерМеток.ВключитьАктивноеСканирование("Поднесите метку к устройству", ОбработкаСканированияМетки);
    Иначе
        Сообщить("Активное сканирование не поддерживается");
    КонецЕсли;
КонецПроцедуры
&НаКлиенте
Асинх Процедура ПриЧтенииМетки(Метка, ДополнительныеДанные) Экспорт
    Если Метка = Неопределено Тогда
        Возврат;
    КонецЕсли;
    Попытка
        СообщениеNFC = Ждать Метка.ПолучитьСообщениеАсинх();
    Исключение
        Сообщить("Ошибка чтения: " + ИнформацияОбОшибке().Описание);
    КонецПопытки;
КонецПроцедуры

Метка сканируется, точка останова срабатывает на СообщениеNFC = Ждать Метка.ПолучитьСообщениеАсинх() но ничего не возвращает, падает в исключение. Кто сталкивался с такой задачей, в чем может быть ошибка?
1 Лефмихалыч
 
18.12.23
10:54
а вот этот ПолучитьСообщениеАсинх(), он "ансинх", случаем, не потому ли, что он ансинхронный и ему нужно повесить обработку оповещения, чтобы он результат вернул?
2 Лефмихалыч
 
18.12.23
13:39
м, прикольно, в 1С появился async/await! Офигеть! Здорово!


(0) А что содержится в ИнформацияОбОшибке()?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший