В мобильной платформе 8.3.12.64, как мне кажется, количество ошибок, связанных с технологией внешних компонент, сократилось. Соответственно, их разработка стала более приятным делом, и я предлагаю очередное пополнение их собрания для сообщества.
Хорошая практика в разработке мобильных приложений, имеющих доступ к защищенным ресурсам в сети — просить повторную авторизацию пользователя при выходе из фонового или спящего состояния. Достаточно посмотреть на любое банковское приложение. Но, к сожалению, мобильная платформа 1С не имеет встроенных механизмов для этого. Компонента позволит Вам преодолеть этот недостаток.
В виду ее простоты я предлагаю лишь архив компоненты без конфигурации. Как ее использовать ясно из примеров. Подключение стандартное:
Если ПодключитьВнешнююКомпоненту("ОбщийМакет.ИмяМакета", "State", ТипВнешнейКомпоненты.Native) Тогда
Компонента = Новый("AddIn.State.ApplicationState");
КонецЕсли;
Как видно, имя объекта: "ApplicationState". Компонента реализует минимальную функциональность устройства ввода, она не вызывает внешних событий. Фактически используется только метод "Подключить". Если приложение находится на переднем плане, он возвращает Истина, на заднем плане или свернуто — Ложь. В критически важные моменты, Вы можете периодически опрашивать состояние приложения и отключать его от ресурсов, например, в таймере:
&НаКлиенте
Процедура Включить(Команда)
ПодключитьОбработчикОжидания("СобытиеТаймера",5);
КонецПроцедуры
&НаКлиенте
Процедура СобытиеТаймера()
Если Компонента.Подключить() Тогда
Иначе
КонецЕсли;
КонецПроцедуры
Добавьте к статье информацию о поддерживаемых платформах 🙂
Еще вопрос: файлы, которые мы будем скачивать за стартмани — это что? Это шаблон или просто скомпилированная компонента?
(2) Исходники закрыты