Глобальный контекст.СоздатьОбъектВнешнейКомпонентыАсинх

Методы · CreateAddInObjectAsync

Асинхронная функция. Создает объект внешней компоненты.

Синтаксис

СоздатьОбъектВнешнейКомпонентыАсинх(<Тип>)
Полное описание, параметры и ограничения

Глобальный контекст.СоздатьОбъектВнешнейКомпонентыАсинх (Global context.CreateAddInObjectAsync)

Глобальный контекст (Global context)

СоздатьОбъектВнешнейКомпонентыАсинх (CreateAddInObjectAsync)

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

Синтаксис:
СоздатьОбъектВнешнейКомпонентыАсинх(<Тип>)
Параметры:

<Тип> (необязательный)
Тип: Строка, Тип.
Имя типа или значение типа Тип.
Возвращаемое значение:
Тип: Обещание.
Результат выполнения обещания – объект внешней компоненты.
Описание:

Асинхронная функция. Создает объект внешней компоненты.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).

См. также:

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

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

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

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

Компонента: дождаться установки, подключения и объекта

Объект собственного экспортированного класса создаётся только после завершённого успешного подключения.

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

Синтаксический пример в клиентском модуле своей управляемой формы. Полные процедуры вставляются в модуль; короткий фрагмент без процедуры — в тело клиентского обработчика. Здесь ничего не устанавливалось и не выполнялось.

Подготовка

  1. Добавьте общий макет УчебнаяКомпонента с двоичными данными ZIP-пакета вашей доверенной Native API компоненты для нужной ОС и разрядности.

  2. В примере символическое имя подключения УчебнаяКомпонента, а поставляемый класс — Scanner. Это условие собственного учебного пакета, не встроенная поставка 1С. Для другого класса используйте его действительное имя из документации поставщика.

  3. Установка компоненты может потребовать согласия пользователя. Здесь пакет не загружался, не устанавливался и не запускался.

&НаКлиенте
Асинх Процедура ПодготовитьКомпоненту()
    Местоположение = "ОбщийМакет.УчебнаяКомпонента";
    Установка = Ждать УстановитьВнешнююКомпонентуАсинх(Местоположение);
    Сообщить("Этап установки завершён: " + Строка(Установка = Неопределено));
    Подключено = Ждать ПодключитьВнешнююКомпонентуАсинх(Местоположение, "УчебнаяКомпонента");
    Если Подключено Тогда
        Компонента = Ждать СоздатьОбъектВнешнейКомпонентыАсинх("AddIn.УчебнаяКомпонента.Scanner");
        Сообщить("Создан объект: " + Строка(ТипЗнч(Компонента)));
    КонецЕсли;
КонецПроцедуры

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

  1. Дождитесь доставки собственного ZIP-пакета.

  2. Дождитесь булева результата подключения.

  3. Создайте настоящий поставляемый класс Scanner по его точному составному имени.

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

  1. Без успешного подключения СоздатьОбъектВнешнейКомпонентыАсинх не вызывается.

  2. Имя класса должно существовать в вашем пакете; иначе пример отказывает, а не создаёт универсальный объект.

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

Показан синтаксис для указанной подготовки. Здесь код не запускался; реальные результаты и побочные эффекты проверяются только при будущем осознанном выполнении в своём учебном приложении.

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

  1. AddIn.УчебнаяКомпонента.Scanner — обусловленное подготовкой имя внешнего класса, не встроенный тип 1С.

  2. Результат установки Неопределено не доказывает успешное подключение или создание объекта.

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

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

Работаем с настоящими экспортами собственной компоненты: Offset = 10, затем сложение 2 + 3 + 10.

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

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

Подготовка

  1. Подготовьте собственный ZIP внешней компоненты Native API в общем макете УчебнаяКомпонента. Она должна действительно предоставлять класс Calculator, числовое RW-свойство Offset и метод Сложить(А, Б), возвращающий А + Б + Offset.

  2. Это не встроенные имена платформы: установку, совместимость и эти экспорты обеспечивает ваш компонент. Все обработчики вставляются в модуль своей управляемой формы; создание объекта выполняется после подключения.

&НаКлиенте
Асинх Процедура ПроверитьКомпоненту()
    Ждать УстановитьВнешнююКомпонентуАсинх("ОбщийМакет.УчебнаяКомпонента");
    Подключено = Ждать ПодключитьВнешнююКомпонентуАсинх("ОбщийМакет.УчебнаяКомпонента", "УчебнаяКомпонента");
    Если Не Подключено Тогда
        ВызватьИсключение "Учебная компонента не подключена";
    КонецЕсли;
    Компонента = Ждать СоздатьОбъектВнешнейКомпонентыАсинх("AddIn.УчебнаяКомпонента.Calculator");
    Ждать Компонента.УстановитьOffsetАсинх(10);
    Смещение = Ждать Компонента.ПолучитьOffsetАсинх();
    Результат = Ждать Компонента.СложитьАсинх(2, 3);
    Сообщить(Смещение);
    Сообщить(Результат.Значение);
    Сообщить(Результат.Параметры.Количество());
КонецПроцедуры

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

  1. Устанавливаем, подключаем и создаём собственную компоненту.

  2. Асинхронно записываем и читаем Offset.

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

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

  1. При указанном контракте компоненты сообщения содержат 10, 15 и 2.

  2. При неудачном подключении вызовы экспортов не выполняются.

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

Контрольный результат описывает будущую ручную проверку в подготовленном учебном окружении. Выполнение в 1С здесь не проверялось.

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

  1. Имя экспорта подставляется буквально: ПолучитьOffsetАсинх. Все эти методы клиентские; Ждать используется только внутри Асинх.

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

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

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

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

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