---
title: Внешние компоненты клиент
slug: bsp/внешние-компоненты-клиент
---


## ПараметрыПодключения
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Параметры для вызова процедуры ВнешниеКомпонентыКлиент.ПодключитьКомпоненту.
//
// Возвращаемое значение:
//  Структура:
//      * Кэшировать - Булево - (по умолчанию Истина) использовать механизм кэширования компонент на клиенте.
//      * ПредложитьУстановить - Булево - (по умолчанию Истина) предлагать устанавливать компоненту.
//      * ПредложитьЗагрузить - Булево - (по умолчанию Истина) предлагать загрузить компоненту с сайта ИТС.
//      * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
//      * ИдентификаторыСозданияОбъектов - Массив - массив строк идентификаторов создания экземпляров модуля объекта,
//                используется только для компонент, у которых есть несколько идентификаторов создания объектов,
//                при задании параметр Идентификатор будет использоваться только для определения компоненты.
//      * Изолированно - Булево, Неопределено - (по умолчанию Неопределено) если Истина, компонента будет подключена
//                изолированно, в этом случае внешняя компонента загружается в отдельный процесс операционной системы;
//                Ложь - в этом случае внешняя компонента будет выполняться в том же процессе операционной системы,
//                который выполняет код встроенного языка; Неопределено - поддерживается поведение платформы по умолчанию:
//                изолированно - если компонентой поддерживается только этот режим, не изолированно - в остальных случаях.
//                См. https://its.1c.eu/db/v83doc#bookmark:dev:TI000001866
//      * ОбновлятьАвтоматически - Булево - (по умолчанию Истина) при загрузке внешней компоненты устанавливать
//                признак ОбновлятьСПортала1СИТС
//
// Пример:
//
//  ПараметрыПодключения = ВнешниеКомпонентыКлиент.ПараметрыПодключения();
//  ПараметрыПодключения.ТекстПояснения =
//      НСтр("ru = 'Для использования сканера штрихкодов требуется
//                 |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыПодключения() Экспорт
```

Пример вызова
```bsl
Результат = ВнешниеКомпонентыКлиент.ПараметрыПодключения() 
```
</details>

## ПодключитьКомпоненту
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Подключает компоненту, выполненную по технологии Native API или COM на клиентском компьютере.
// Для веб-клиента предлагается диалог, подсказывающий пользователю действия по установке.
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
//
// Параметры:
//  Оповещение - ОписаниеОповещения - описание оповещения о подключении со следующими параметрами:
//      * Результат - Структура - результат подключения компоненты:
//          ** Подключено - Булево - признак подключения;
//          ** ПодключаемыйМодуль - ОбъектВнешнейКомпоненты - экземпляр объекта внешней компоненты;
//                                - ФиксированноеСоответствие из КлючИЗначение - экземпляры объектов внешней компоненты,
//                                      указанные в ПараметрыПодключения.ИдентификаторыСозданияОбъектов:
//                                    *** Ключ - Строка - идентификатор внешней компоненты;
//                                    *** Значение - ОбъектВнешнейКомпоненты - экземпляр объекта внешней компоненты.
//          ** ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  Идентификатор - Строка - идентификатор объекта внешней компоненты.
//  Версия        - Строка - версия компоненты.
//  ПараметрыПодключения - см. ВнешниеКомпонентыКлиент.ПараметрыПодключения.
//
// Пример:
//
//  Оповещение = Новый ОписаниеОповещения("ПодключитьКомпонентуЗавершение", ЭтотОбъект);
//
//  ПараметрыПодключения = ВнешниеКомпонентыКлиент.ПараметрыПодключения();
//  ПараметрыПодключения.ТекстПояснения =
//      НСтр("ru = 'Для использования сканера штрихкодов требуется
//                 |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
//  ВнешниеКомпонентыКлиент.ПодключитьКомпоненту(Оповещение, "InputDevice",, ПараметрыПодключения);
//
//  &НаКлиенте
//  Процедура ПодключитьКомпонентуЗавершение(Результат, ДополнительныеПараметры) Экспорт
//
//      ПодключаемыйМодуль = Неопределено;
//
//      Если Результат.Подключено Тогда
//          ПодключаемыйМодуль = Результат.ПодключаемыйМодуль;
//      Иначе
//          Если Не ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
//              ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
//          КонецЕсли;
//      КонецЕсли;
//
//      Если ПодключаемыйМодуль <> Неопределено Тогда
//          // ПодключаемыйМодуль содержит созданный экземпляр подключенной компоненты.
//      КонецЕсли;
//
//      ПодключаемыйМодуль = Неопределено;
//
//  КонецПроцедуры
//
Процедура ПодключитьКомпоненту(Оповещение, Идентификатор, Версия = Неопределено, Экспорт
```

Пример вызова
```bsl
ВнешниеКомпонентыКлиент.ПодключитьКомпоненту(Оповещение, Идентификатор, Версия, );
```
</details>

## ПодключитьКомпонентуИзРеестраWindows
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Подключает компоненту, выполненную по технологии COM, из реестра Windows в асинхронном режиме.
// (не рекомендуется, для обратной совместимости с компонентами 1С 7.7).
//
// Параметры:
//  Оповещение - ОписаниеОповещения - описание оповещения о подключении со следующими параметрами:
//      * Результат - Структура - результат подключения компоненты:
//          ** Подключено - Булево - признак подключения.
//          ** ПодключаемыйМодуль - ОбъектВнешнейКомпоненты  - экземпляр объекта внешней компоненты.
//          ** ОписаниеОшибки - Строка - краткое описание ошибки.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  Идентификатор - Строка - идентификатор объекта внешней компоненты.
//  ИдентификаторСозданияОбъекта - Строка - идентификатор создания экземпляра модуля объекта
//          (только для компонент, у которых идентификатор создания объекта отличается от ProgID).
//
// Пример:
//
//  Оповещение = Новый ОписаниеОповещения("ПодключитьКомпонентуЗавершение", ЭтотОбъект);
//  ВнешниеКомпонентыКлиент.ПодключитьКомпонентуИзРеестраWindows(Оповещение, "SBRFCOMObject", "SBRFCOMExtension");
//
//  &НаКлиенте
//  Процедура ПодключитьКомпонентуЗавершение(Результат, ДополнительныеПараметры) Экспорт
//
//      ПодключаемыйМодуль = Неопределено;
//
//      Если Результат.Подключено Тогда
//          ПодключаемыйМодуль = Результат.ПодключаемыйМодуль;
//      Иначе
//          ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
//      КонецЕсли;
//
//      Если ПодключаемыйМодуль <> Неопределено Тогда
//          // ПодключаемыйМодуль содержит созданный экземпляр подключенной компоненты.
//      КонецЕсли;
//
//      ПодключаемыйМодуль = Неопределено;
//
//  КонецПроцедуры
//
Процедура ПодключитьКомпонентуИзРеестраWindows(Оповещение, Идентификатор, Экспорт
```

Пример вызова
```bsl
ВнешниеКомпонентыКлиент.ПодключитьКомпонентуИзРеестраWindows(Оповещение, Идентификатор, );
```
</details>

## ПараметрыУстановки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Структура параметров для процедуры ВнешниеКомпонентыКлиент.УстановитьКомпоненту.
//
// Возвращаемое значение:
//  Структура:
//      * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
//      * ПредложитьЗагрузить - Булево - предложить загрузить компоненту с сайта ИТС
//      * ПредложитьУстановить - Булево - (по умолчанию Ложь) предлагать устанавливать компоненту.
//
// Пример:
//
//  ПараметрыУстановки = ВнешниеКомпонентыКлиент.ПараметрыУстановки();
//  ПараметрыУстановки.ТекстПояснения =
//      НСтр("ru = 'Для использования сканера штрихкодов требуется
//                 |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыУстановки() Экспорт
```

Пример вызова
```bsl
Результат = ВнешниеКомпонентыКлиент.ПараметрыУстановки() 
```
</details>

## УстановитьКомпоненту
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устанавливает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
//
// Параметры:
//  Оповещение - ОписаниеОповещения - описание оповещения об установке внешней компоненты:
//      * Результат - Структура - результат установки компоненты:
//          ** Установлено - Булево - признак установки.
//          ** ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  Идентификатор - Строка - идентификатор объекта внешней компоненты.
//  Версия - Строка - версия компоненты.
//  ПараметрыУстановки - см. ПараметрыУстановки.
//
// Пример:
//
//  Оповещение = Новый ОписаниеОповещения("УстановитьКомпонентуЗавершение", ЭтотОбъект);
//
//  ПараметрыУстановки = ВнешниеКомпонентыКлиент.ПараметрыУстановки();
//  ПараметрыУстановки.ТекстПояснения =
//      НСтр("ru = 'Для использования сканера штрихкодов требуется
//                 |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
//  ВнешниеКомпонентыКлиент.УстановитьКомпоненту(Оповещение, "InputDevice",, ПараметрыУстановки);
//
//  &НаКлиенте
//  Процедура УстановитьКомпонентуЗавершение(Результат, ДополнительныеПараметры) Экспорт
//
//      Если Не Результат.Установлено И Не ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
//          ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
//      КонецЕсли;
//
//  КонецПроцедуры
//
Процедура УстановитьКомпоненту(Оповещение, Идентификатор, Версия = Неопределено, Экспорт
```

Пример вызова
```bsl
ВнешниеКомпонентыКлиент.УстановитьКомпоненту(Оповещение, Идентификатор, Версия, );
```
</details>

## ПараметрыПоискаДополнительнойИнформации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl


// Возвращает структуру параметров для описания правил поиска дополнительной информации в составе внешней компоненты,
// см. процедуру ЗагрузитьКомпонентуИзФайла.
//
// Возвращаемое значение:
//  Структура:
//      * ИмяФайлаXML - Строка - (необязательный) имя файла в составе компоненты, из которого будет извлечена информация.
//      * ВыражениеXPath - Строка - (необязательный) XPath путь до информации в файле.
//
// Пример:
//
//  ПараметрыЗагрузки = ВнешниеКомпонентыКлиент.ПараметрыПоискаДополнительнойИнформации();
//  ПараметрыЗагрузки.ИмяФайлаXML = "INFO.XML";
//  ПараметрыЗагрузки.ВыражениеXPath = "//drivers/component/@type";
//
Функция ПараметрыПоискаДополнительнойИнформации() Экспорт
```

Пример вызова
```bsl
Результат = ВнешниеКомпонентыКлиент.ПараметрыПоискаДополнительнойИнформации() 
```
</details>

## ПараметрыЗагрузки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Структура параметров для процедуру ВнешниеКомпонентыКлиент.ЗагрузитьКомпонентуИзФайла.
//
// Возвращаемое значение:
//  Структура:
//      * Идентификатор - Строка -(необязательный)  идентификатор объекта внешней компоненты.
//      * Версия - Строка - (необязательный) версия компоненты.
//      * ПараметрыПоискаДополнительнойИнформации - Соответствие из КлючИЗначение - (необязательный) параметры:
//          ** Ключ - Строка - идентификатор дополнительной запрошенной информации.
//          ** Значение - см. ПараметрыПоискаДополнительнойИнформации.
// Пример:
//
//  ПараметрыЗагрузки = ВнешниеКомпонентыКлиент.ПараметрыЗагрузки();
//  ПараметрыЗагрузки.Идентификатор = "InputDevice";
//  ПараметрыЗагрузки.Версия = "8.1.7.10";
//
Функция ПараметрыЗагрузки() Экспорт
```

Пример вызова
```bsl
Результат = ВнешниеКомпонентыКлиент.ПараметрыЗагрузки() 
```
</details>

## ЗагрузитьКомпонентуИзФайла
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Загружает файл компоненты в справочник внешних компонент в асинхронном режиме.
//
// Параметры:
//  Оповещение - ОписаниеОповещения - описание оповещения об установке внешней компоненты:
//      * Результат - Структура - результат загрузки компоненты:
//          ** Загружена - Булево - признак загрузки.
//          ** Идентификатор  - Строка - идентификатор объекта внешней компоненты.
//          ** Версия - Строка - версия загруженной компоненты.
//          ** Наименование - Строка - наименование загруженной компоненты.
//          ** ДополнительнаяИнформация - Соответствие из КлючИЗначение - дополнительная информация о компоненте,
//                     если не запрашивалась - пустое соответствие:
//               *** Ключ - см. ПараметрыПоискаДополнительнойИнформации.
//               *** Значение - см. ПараметрыПоискаДополнительнойИнформации.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  ПараметрыЗагрузки - см. ПараметрыЗагрузки.
//
// Пример:
//
//  ПараметрыЗагрузки = ВнешниеКомпонентыКлиент.ПараметрыЗагрузки();
//  ПараметрыЗагрузки.Идентификатор = "InputDevice";
//  ПараметрыЗагрузки.Версия = "8.1.7.10";
//
//  Оповещение = Новый ОписаниеОповещения("ЗагрузитьКомпонентуИзФайлаПослеЗагрузкиКомпоненты", ЭтотОбъект);
//
//  ВнешниеКомпонентыКлиент.ЗагрузитьКомпонентуИзФайла(Оповещение, ПараметрыЗагрузки);
//
//  &НаКлиенте
//  Процедура ЗагрузитьКомпонентуИзФайлаПослеЗагрузкиКомпоненты(Результат, ДополнительныеПараметры) Экспорт
//
//      Если Результат.Загружено Тогда
//          Идентификатор = Результат.Идентификатор;
//          Версия = Результат.Версия;
//      КонецЕсли;
//
//  КонецПроцедуры
//
Процедура ЗагрузитьКомпонентуИзФайла(Оповещение, ПараметрыЗагрузки = Неопределено) Экспорт
```

Пример вызова
```bsl
ВнешниеКомпонентыКлиент.ЗагрузитьКомпонентуИзФайла(Оповещение, ПараметрыЗагрузки);
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
