Тип: РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент. Показывает установленный режим использования синхронных вызовов расширений и внешних компонент.
Полное описание, параметры и ограничения
ОбъектМетаданныхКонфигурация.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент (ConfigurationMetadataObject.SynchronousPlatformExtensionAndAddInCallUseMode)
ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)
РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент (SynchronousPlatformExtensionAndAddInCallUseMode)
Доступен, начиная с версии 8.3.8.
Использование:
Только чтение.
Описание:
Тип: РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.
Показывает установленный режим использования синхронных вызовов расширений и внешних компонент.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.8.
Методическая информация
Практические примеры
Проверить режим приложения перед переносом кода формы
Перед копированием обработчика из старой конфигурации смотрим управляемый/обычный режим, модальность и синхронные вызовы. Ничего не переключаем в рабочей базе.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Запускайте из серверного обработчика учебной обработки. Фактически активный клиент пользователя может отличаться от ОсновнойРежимЗапуска.
Настройки = Новый Структура;
Настройки.Вставить("Запуск", Метаданные.ОсновнойРежимЗапуска);
Настройки.Вставить("ОбычныеВУправляемом", Метаданные.ИспользоватьОбычныеФормыВУправляемомПриложении);
Настройки.Вставить("УправляемыеВОбычном", Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении);
Настройки.Вставить("Модальность", Метаданные.РежимИспользованияМодальности);
Настройки.Вставить("СинхронныеРасширения", Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент);
Настройки.Вставить("СинхронныеРасширенияПлатформы", Метаданные.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент);
Настройки.Вставить("СовместимостьИнтерфейса", Метаданные.РежимСовместимостиИнтерфейса);
Настройки.Вставить("ОсновноеОкно", Метаданные.РежимОсновногоОкнаКлиентскогоПриложения);
Настройки.Вставить("ВариантОсновногоОкна", Метаданные.ВариантОтображенияОсновногоОкнаКлиентскогоПриложения);
Настройки.Вставить("ОткрытиеОкон", Метаданные.ВариантОткрытияОконКлиентскогоПриложения);
Настройки.Вставить("Тема", Метаданные.ТемаКлиентскогоПриложения);
Настройки.Вставить("Переход85", Метаданные.РежимПереходаНаИнтерфейсВерсия85);
Для Каждого Поле Из Настройки Цикл
Сообщить(Поле.Ключ + ": " + Строка(Поле.Значение));
КонецЦикла;
Сообщить(Настройки.Количество() = 12);
Если Метаданные.ОсновнойЯзык = Неопределено Тогда
Сообщить("Основной язык не назначен");
Иначе
Сообщить("Основной язык: " + Метаданные.ОсновнойЯзык.Имя);
КонецЕсли;
Если Метаданные.ОсновнойСтиль = Неопределено Тогда
Сообщить("Основной стиль не назначен");
Иначе
Сообщить("Основной стиль: " + Метаданные.ОсновнойСтиль.Имя);
КонецЕсли;
Если Метаданные.ОсновнойИнтерфейс <> Неопределено Тогда
Сообщить("Обычный интерфейс: " + Метаданные.ОсновнойИнтерфейс.Имя);
КонецЕсли;Разбор по шагам
Собираем отдельную структуру настроек запуска и отображения. ОсновнойРежимЗапуска — настройка по умолчанию, не измерение текущего сеанса.
Разрешения смешения обычных и управляемых форм не делают клиентские/серверные директивы взаимозаменяемыми.
РежимИспользованияМодальности и два режима синхронных вызовов важны при переносе старых диалогов и внешних компонент.
Настройки интерфейса и темы влияют на оформление и окна, но не исправляют код автоматически.
Основной язык, стиль и обычный интерфейс могут быть не назначены: проверяем Неопределено до обращения к Имя.
Как проверить результат
В структуре двенадцать настроек, вывод совпадает со свойствами корня учебной конфигурации.
У базы без назначенного основного стиля выводится понятное сообщение, а не ошибка обращения к Неопределено.
После выполнения никакие настройки интерфейса/модальности не изменились: сравните с Конфигуратором.
Ожидаемый результат
Получены исходные условия переноса кода формы без автоматической смены режима приложения.
На что обратить внимание
Не включайте модальность ради запуска старого примера: выбирайте API, поддерживаемый нужным клиентом.
Доступность API следует смотреть на карточке метода: одного флага смешения форм недостаточно.
Для визуального соответствия реальной формы дополнительно проверяйте активный клиент и тему, а не только настройки корня.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Прочитать политику синхронных вызовов компонентов
В XML КА2 Progress установлен Use. Читаем настройку, но не устанавливаем компонент, не регистрируем COM и не выполняем блокирующий вызов.
Где и как запускать
Полный серверный модуль соответствующей учебной копии КА2 или УТ 10.3. Никаких операций перепроведения или изменения настроек.
Подготовка
Последовательность ПартионныйУчет взята из C:\claude\UT10_3\XML_UT_10_3\Sequences\ПартионныйУчет.xml. Используйте отдельную учебную копию именно этой УТ 10.3 на установленной платформе 8.5.1.1343, не рабочую базу.
Для первых двух уроков о режимах конфигурации используйте отдельную копию КА2 Progress. Для последующих пяти — копию указанной УТ 10.3. Не смешивайте имена и настройки разных конфигураций.
В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока и вызовите ВыполнитьПример() из своей серверной команды. В обычной конфигурации можно вызвать серверную процедуру из собственной учебной обработки.
Только чтение схемы и собственные значения в памяти: нет проведения, восстановления последовательности, изменения границ, назначения номеров или переключения совместимости.
Процедура ВыполнитьПример() Экспорт
Варианты = Метаданные.СвойстваОбъектов;
Режим = Метаданные.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент;
Сообщить(Режим = Варианты.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.Использовать);
Если Режим = Варианты.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.НеИспользовать Тогда
Сообщить("Синхронные методы не должны использоваться; выбирайте поддерживаемый асинхронный контракт");
ИначеЕсли Режим = Варианты.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.ИспользоватьСПредупреждениями Тогда
Сообщить("Использование связано с предупреждениями; сообщение не является подтверждением установленного компонента");
ИначеЕсли Режим = Варианты.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.Использовать Тогда
Сообщить("Политика допускает использование; конкретный метод, клиент и наличие компонента проверяются отдельно");
КонецЕсли;
КонецПроцедурыРазбор по шагам
Используем точное современное имя свойства с РасширенийПлатформы. Оно не заменяется похожим старым свойством без слова Платформы.
Сравнение с Использовать основано на реальном SynchronousPlatformExtensionAndAddInCallUseMode=Use в Configuration.xml КА2 Progress.
Все три системных значения рассматриваются отдельно. Политика проверки не является запуском установки или подключения расширения платформы.
Для конкретного сценария затем отдельно выбирают API, доступное на нужном клиенте, и проверяют наличие компонента. Ни одной такой внешней операции здесь нет.
Как проверить результат
В исходной копии КА2 первая проверка — Истина и выполняется ветка Использовать.
Не открывались установщики, не менялась регистрация COM, не добавлялись расширения платформы.
Ожидаемый результат
Настройка прочитана без неверного обещания, что компонент уже установлен и готов к работе.
На что обратить внимание
Разрешённая политика не подтверждает совместимость DLL, разрядность или права установки.
Не переключайте настройку рабочей конфигурации только ради устранения предупреждения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.