Прочитать сервер и режим сна собственного мобильного клиента

Учебные задачи

Диагностируем текущий выбор основного/автономного сервера и настройку запрета засыпания, не меняя их.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Только собственный учебный мобильный клиент 8.5.1.1343 с настроенной автономной работой на своём изолированном устройстве. Это не самостоятельное мобильное приложение: getter предпочтения в его клиентском контексте не объявлен доступным.

  2. Создайте учебную обработку с управляемой формой, командой Выполнить и кнопкой. Весь приведённый модуль относится к мобильному клиенту; обычный тонкий клиент Windows для него не подходит.

  3. Не запускаются GPS, карта, синхронизация, переключение сервера или удержание телефона от сна. Читаются уже действующие настройки.

  4. Результаты зависят от режима приложения. Наличие поддержки не означает, что разрешение пользователя уже получено.

&НаКлиенте
Процедура Выполнить(Команда)
    Используемый = ПолучитьИспользуемыйСервер();
    Сообщить(СтрШаблон("Используемый сервер: %1", Используемый));
    Сообщить(СтрШаблон("Выбран основной=%1; выбран автономный=%2", Используемый = ИспользуемыйСервер.Основной, Используемый = ИспользуемыйСервер.Автономный));
    ПредпочтениеОсновного = ПолучитьПреимущественноеИспользованиеОсновногоСервера();
    Если ПредпочтениеОсновного = Неопределено Тогда
        Сообщить("Предпочтение основного сервера не задано");
    Иначе
        Сообщить(СтрШаблон("Предпочтение основного: %1", ПредпочтениеОсновного));
    КонецЕсли;
    Сообщить(СтрШаблон("Запрет засыпания компьютера сейчас=%1", ПолучитьЗапретЗасыпанияКомпьютера()));
КонецПроцедуры

Разбор по шагам

  1. ПолучитьИспользуемыйСервер возвращает перечисление, не HTTP адрес и не объект сервера кластера. Сравниваем с документированными Основной/Автономный.

  2. Текущий используемый сервер и преимущественное использование — разные параметры. Предпочтение может быть Неопределено; это не то же самое, что Ложь.

  3. ПолучитьЗапретЗасыпанияКомпьютера читает значение запрета сна. Это не измерение разряда аккумулятора и не тайм-аут спящего сеанса сервера.

  4. Ни один setter не вызывается. Устройство не переключается на основной сервер и не получает постоянный запрет сна.

Как проверить результат

  1. Показаны фактическое перечисление сервера, две проверки сравнения, предпочтение или его отсутствие и текущий запрет сна.

  2. Не требуйте, чтобы оба сравнения сервера дали Истина одновременно. Состояние телефона осталось прежним.

Ожидаемый результат

Дан полный диагностический пример с обработкой необязательного мобильного предпочтения.

На что обратить внимание

  1. Этот модуль не предназначен для обычного тонкого клиента Windows.

  2. Чтение предпочтения не доказывает доступность сети и успешную синхронизацию.

  3. Долгий запрет сна может расходовать аккумулятор, но урок его не устанавливает.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.