Тип: Неопределено. Список требуемых разрешений мобильного приложения.
Полное описание, параметры и ограничения
ОбъектМетаданныхКонфигурация.ТребуемыеРазрешенияМобильногоПриложения (ConfigurationMetadataObject.RequiredMobileApplicationPermissions)
ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)
ТребуемыеРазрешенияМобильногоПриложения (RequiredMobileApplicationPermissions)
Не рекомендуется использовать, начиная с версии 8.3.18.
Рекомендуется использовать:
ИспользуемаяФункциональностьМобильногоПриложения
Доступен, начиная с версии 8.3.5.
Использование:
Только чтение.
Описание:
Тип: Неопределено.
Список требуемых разрешений мобильного приложения.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Данное свойство всегда имеет значение Неопределено, т.к. во встроенном языке не предусмотрена работа со значением данного свойства.
Использование в версии:
Доступен, начиная с версии 8.3.5.
Не рекомендуется использовать, начиная с версии 8.3.18.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Не принять Неопределено за пустой исходник или выключенную возможность
Ряд свойств корня пока возвращает только Неопределено. Проверяем границу API, а не наличие модулей, рисунков, интерфейса или разрешений мобильного приложения.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте отдельную НОВУЮ пустую файловую базу на 8.5.1.1343. Корневое имя конфигурации УчебныйПаспорт85. Рабочие конфигурации не меняйте.
Режим совместимости Не использовать; основной запуск Управляемое приложение. Пользовательские назначения общих форм, хранилища настроек, дополнительные словари и основные роли не задавайте. Расширения не устанавливайте.
Обновите конфигурацию БД. В собственной обработке создайте серверный обработчик ВыполнитьПример() Экспорт; фрагмент вставляйте внутрь него. Каждую задачу запускайте отдельно.
Задачи только читают настройки схемы. Не вызываются сохранение настроек, запись данных, смена прав, публикация сервисов или чтение секретов.
НедоступныеПредставления = Новый Структура;
НедоступныеПредставления.Вставить("МодульВнешнегоСоединения", Метаданные.МодульВнешнегоСоединения);
НедоступныеПредставления.Вставить("МодульОбычногоПриложения", Метаданные.МодульОбычногоПриложения);
НедоступныеПредставления.Вставить("МодульСеанса", Метаданные.МодульСеанса);
НедоступныеПредставления.Вставить("МодульУправляемогоПриложения", Метаданные.МодульУправляемогоПриложения);
НедоступныеПредставления.Вставить("Справка", Метаданные.Справка);
НедоступныеПредставления.Вставить("КомандныйИнтерфейс", Метаданные.КомандныйИнтерфейс);
НедоступныеПредставления.Вставить("ИнтерфейсКлиентскогоПриложения", Метаданные.ИнтерфейсКлиентскогоПриложения);
НедоступныеПредставления.Вставить("КомандныйИнтерфейсОсновногоРаздела", Метаданные.КомандныйИнтерфейсОсновногоРаздела);
НедоступныеПредставления.Вставить("ФрагментКомандногоИнтерфейса", Метаданные.ФрагментКомандногоИнтерфейса);
НедоступныеПредставления.Вставить("РабочаяОбластьНачальнойСтраницы", Метаданные.РабочаяОбластьНачальнойСтраницы);
НедоступныеПредставления.Вставить("КартинкаОсновногоРаздела", Метаданные.КартинкаОсновногоРаздела);
НедоступныеПредставления.Вставить("Логотип", Метаданные.Логотип);
НедоступныеПредставления.Вставить("Заставка", Метаданные.Заставка);
НедоступныеПредставления.Вставить("ДопустимыеТипыВходящихЗапросовПоделиться", Метаданные.ДопустимыеТипыВходящихЗапросовПоделиться);
НедоступныеПредставления.Вставить("ИспользуемаяФункциональностьМобильногоПриложения", Метаданные.ИспользуемаяФункциональностьМобильногоПриложения);
НедоступныеПредставления.Вставить("НавигационныеСсылкиМобильногоПриложения", Метаданные.НавигационныеСсылкиМобильногоПриложения);
НедоступныеПредставления.Вставить("НазначенияИспользования", Метаданные.НазначенияИспользования);
НедоступныеПредставления.Вставить("ПодписьМобильногоКлиента", Метаданные.ПодписьМобильногоКлиента);
НедоступныеПредставления.Вставить("СоставАвтономнойКонфигурации", Метаданные.СоставАвтономнойКонфигурации);
НедоступныеПредставления.Вставить("ТребуемыеРазрешенияМобильногоПриложения", Метаданные.ТребуемыеРазрешенияМобильногоПриложения);
НедоступныеПредставления.Вставить("РодительскиеКонфигурации", Метаданные.РодительскиеКонфигурации);
Сообщить(НедоступныеПредставления.Количество() = 21);
Для Каждого Представление Из НедоступныеПредставления Цикл
Сообщить(Представление.Ключ + ": " + Строка(Представление.Значение = Неопределено));
КонецЦикла;Разбор по шагам
Собираем конкретные свойства, чей контракт текущей платформы возвращает Неопределено, а не исходный текст/рисунок/список разрешений.
Свойства модулей не дают содержимое обработчиков. Свойства интерфейса не отражают фактически видимое окно.
Названия мобильных свойств не делают их Булево: нельзя проверять Если Метаданные.ТребуемыеРазрешенияМобильногоПриложения Тогда.
В цикле проверяем только значение, предоставленное этим API. Вывод не является аудитом функциональности конфигурации.
Как проверить результат
Количество равно 21; для каждого поля выводится Истина по текущему контракту.
Не делайте вывод «модуль пуст» или «камера запрещена»: для проверки нужны Конфигуратор/соответствующая выгрузка или профильный API.
Ожидаемый результат
Показана реальная граница чтения схемы без выдуманного извлечения недоступных данных.
На что обратить внимание
Возвращаемое Неопределено не доказывает отсутствие объекта/настройки в конфигурации.
Эта задача не проверяет разрешения ОС, сертификаты подписи, публикацию мобильного клиента или автономную синхронизацию.
Не добавляйте автоматическую замену Неопределено на Ложь: смысл будет искажён.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.