ОбъектМетаданныхКонфигурация.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент

Свойства · SynchronousPlatformExtensionAndAddInCallUseMode

Тип: РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент. Показывает установленный режим использования синхронных вызовов расширений и внешних компонент.

Полное описание, параметры и ограничения

ОбъектМетаданныхКонфигурация.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент (ConfigurationMetadataObject.SynchronousPlatformExtensionAndAddInCallUseMode)

ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)

РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент (SynchronousPlatformExtensionAndAddInCallUseMode)

Доступен, начиная с версии 8.3.8.

Использование:
Только чтение.
Описание:
Тип: РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.
Показывает установленный режим использования синхронных вызовов расширений и внешних компонент.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.3.8.

Методическая информация

Практические примеры

Проверить режим приложения перед переносом кода формы

Перед копированием обработчика из старой конфигурации смотрим управляемый/обычный режим, модальность и синхронные вызовы. Ничего не переключаем в рабочей базе.

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

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

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Запускайте из серверного обработчика учебной обработки. Фактически активный клиент пользователя может отличаться от ОсновнойРежимЗапуска.


Настройки = Новый Структура;
Настройки.Вставить("Запуск", Метаданные.ОсновнойРежимЗапуска);
Настройки.Вставить("ОбычныеВУправляемом", Метаданные.ИспользоватьОбычныеФормыВУправляемомПриложении);
Настройки.Вставить("УправляемыеВОбычном", Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении);
Настройки.Вставить("Модальность", Метаданные.РежимИспользованияМодальности);
Настройки.Вставить("СинхронныеРасширения", Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент);
Настройки.Вставить("СинхронныеРасширенияПлатформы", Метаданные.РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент);
Настройки.Вставить("СовместимостьИнтерфейса", Метаданные.РежимСовместимостиИнтерфейса);
Настройки.Вставить("ОсновноеОкно", Метаданные.РежимОсновногоОкнаКлиентскогоПриложения);
Настройки.Вставить("ВариантОсновногоОкна", Метаданные.ВариантОтображенияОсновногоОкнаКлиентскогоПриложения);
Настройки.Вставить("ОткрытиеОкон", Метаданные.ВариантОткрытияОконКлиентскогоПриложения);
Настройки.Вставить("Тема", Метаданные.ТемаКлиентскогоПриложения);
Настройки.Вставить("Переход85", Метаданные.РежимПереходаНаИнтерфейсВерсия85);
Для Каждого Поле Из Настройки Цикл
    Сообщить(Поле.Ключ + ": " + Строка(Поле.Значение));
КонецЦикла;
Сообщить(Настройки.Количество() = 12);
Если Метаданные.ОсновнойЯзык = Неопределено Тогда
    Сообщить("Основной язык не назначен");
Иначе
    Сообщить("Основной язык: " + Метаданные.ОсновнойЯзык.Имя);
КонецЕсли;
Если Метаданные.ОсновнойСтиль = Неопределено Тогда
    Сообщить("Основной стиль не назначен");
Иначе
    Сообщить("Основной стиль: " + Метаданные.ОсновнойСтиль.Имя);
КонецЕсли;
Если Метаданные.ОсновнойИнтерфейс <> Неопределено Тогда
    Сообщить("Обычный интерфейс: " + Метаданные.ОсновнойИнтерфейс.Имя);
КонецЕсли;

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

  1. Собираем отдельную структуру настроек запуска и отображения. ОсновнойРежимЗапуска — настройка по умолчанию, не измерение текущего сеанса.

  2. Разрешения смешения обычных и управляемых форм не делают клиентские/серверные директивы взаимозаменяемыми.

  3. РежимИспользованияМодальности и два режима синхронных вызовов важны при переносе старых диалогов и внешних компонент.

  4. Настройки интерфейса и темы влияют на оформление и окна, но не исправляют код автоматически.

  5. Основной язык, стиль и обычный интерфейс могут быть не назначены: проверяем Неопределено до обращения к Имя.

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

  1. В структуре двенадцать настроек, вывод совпадает со свойствами корня учебной конфигурации.

  2. У базы без назначенного основного стиля выводится понятное сообщение, а не ошибка обращения к Неопределено.

  3. После выполнения никакие настройки интерфейса/модальности не изменились: сравните с Конфигуратором.

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

Получены исходные условия переноса кода формы без автоматической смены режима приложения.

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

  1. Не включайте модальность ради запуска старого примера: выбирайте API, поддерживаемый нужным клиентом.

  2. Доступность API следует смотреть на карточке метода: одного флага смешения форм недостаточно.

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

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

Прочитать политику синхронных вызовов компонентов

В XML КА2 Progress установлен Use. Читаем настройку, но не устанавливаем компонент, не регистрируем COM и не выполняем блокирующий вызов.

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

Полный серверный модуль соответствующей учебной копии КА2 или УТ 10.3. Никаких операций перепроведения или изменения настроек.

Подготовка

  1. Последовательность ПартионныйУчет взята из C:\claude\UT10_3\XML_UT_10_3\Sequences\ПартионныйУчет.xml. Используйте отдельную учебную копию именно этой УТ 10.3 на установленной платформе 8.5.1.1343, не рабочую базу.

  2. Для первых двух уроков о режимах конфигурации используйте отдельную копию КА2 Progress. Для последующих пяти — копию указанной УТ 10.3. Не смешивайте имена и настройки разных конфигураций.

  3. В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока и вызовите ВыполнитьПример() из своей серверной команды. В обычной конфигурации можно вызвать серверную процедуру из собственной учебной обработки.

  4. Только чтение схемы и собственные значения в памяти: нет проведения, восстановления последовательности, изменения границ, назначения номеров или переключения совместимости.

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

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

  1. Используем точное современное имя свойства с РасширенийПлатформы. Оно не заменяется похожим старым свойством без слова Платформы.

  2. Сравнение с Использовать основано на реальном SynchronousPlatformExtensionAndAddInCallUseMode=Use в Configuration.xml КА2 Progress.

  3. Все три системных значения рассматриваются отдельно. Политика проверки не является запуском установки или подключения расширения платформы.

  4. Для конкретного сценария затем отдельно выбирают API, доступное на нужном клиенте, и проверяют наличие компонента. Ни одной такой внешней операции здесь нет.

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

  1. В исходной копии КА2 первая проверка — Истина и выполняется ветка Использовать.

  2. Не открывались установщики, не менялась регистрация COM, не добавлялись расширения платформы.

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

Настройка прочитана без неверного обещания, что компонент уже установлен и готов к работе.

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

  1. Разрешённая политика не подтверждает совместимость DLL, разрядность или права установки.

  2. Не переключайте настройку рабочей конфигурации только ради устранения предупреждения.

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

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

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

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

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