895 lines
62 KiB
Plaintext
895 lines
62 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
// Copyright (c) 2024, ООО 1С-Софт
|
||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||
// Текст лицензии доступен по ссылке:
|
||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
#Область ПрограммныйИнтерфейс
|
||
|
||
#Область ПодключениеВнешнихКомпонент
|
||
|
||
// Параметры для вызова процедуры ВнешниеКомпонентыКлиент.ПодключитьКомпоненту.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Кэшировать - Булево - (по умолчанию Истина) использовать механизм кэширования компонент на клиенте.
|
||
// * ПредложитьУстановить - Булево - (по умолчанию Истина) предлагать устанавливать компоненту.
|
||
// * ПредложитьЗагрузить - Булево - (по умолчанию Истина) предлагать загрузить компоненту с сайта ИТС.
|
||
// * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
|
||
// * ИдентификаторыСозданияОбъектов - Массив из Строка - массив строк идентификаторов создания экземпляров модуля объекта,
|
||
// используется только для компонент, у которых есть несколько идентификаторов создания объектов,
|
||
// при задании параметр Идентификатор будет использоваться только для определения компоненты.
|
||
// * Изолированно - Булево, Неопределено - (по умолчанию Неопределено) если Истина, компонента будет подключена
|
||
// изолированно, в этом случае внешняя компонента загружается в отдельный процесс операционной системы;
|
||
// Ложь - в этом случае внешняя компонента будет выполняться в том же процессе операционной системы,
|
||
// который выполняет код встроенного языка; Неопределено - поддерживается поведение платформы по умолчанию:
|
||
// изолированно - если компонентой поддерживается только этот режим, не изолированно - в остальных случаях.
|
||
// См. https://its.1c.ru/db/v83doc#bookmark:dev:TI000001866
|
||
//
|
||
// Пример:
|
||
//
|
||
// ПараметрыПодключения = ВнешниеКомпонентыКлиент.ПараметрыПодключения();
|
||
// ПараметрыПодключения.ТекстПояснения =
|
||
// НСтр("ru = 'Для использования сканера штрихкодов требуется
|
||
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
|
||
//
|
||
Функция ПараметрыПодключения() Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
Параметры = МодульВнешниеКомпонентыКлиент.ПараметрыПодключения();
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Параметры = ПараметрыПодключенияБПО();
|
||
КонецЕсли;
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Подключает компоненту, выполненную по технологии Native API или COM на клиентском компьютере.
|
||
// Для веб-клиента предлагается диалог, подсказывающий пользователю действия по установке.
|
||
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
|
||
//
|
||
// Параметры:
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// Версия - Строка - версия компоненты.
|
||
// ПараметрыПодключения - см. ПараметрыПодключения.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - см. РезультатПодключения.
|
||
//
|
||
Асинх Функция ПодключитьКомпонентуАсинх(Идентификатор, Версия = Неопределено, ПараметрыПодключения = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
Возврат Ждать МодульВнешниеКомпонентыКлиент.ПодключитьКомпонентуАсинх(Идентификатор, Версия, ПараметрыПодключения);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
РезультатВыполнения = Новый Структура();
|
||
РезультатВыполнения.Вставить("Подключено", Ложь);
|
||
РезультатВыполнения.Вставить("ОписаниеОшибки", НСтр("ru='Функциональность доступна только при использовании подсистемы БСП.'"));
|
||
Возврат РезультатВыполнения;
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Подключает компоненту, выполненную по технологии Native API или COM на клиентском компьютере.
|
||
// Для веб-клиента предлагается диалог, подсказывающий пользователю действия по установке.
|
||
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
|
||
//
|
||
// Параметры:
|
||
// Оповещение - ОписаниеОповещения - описание оповещения о подключении со следующими параметрами:
|
||
// * Результат - см. РезультатПодключения.
|
||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// Версия - Строка - версия компоненты.
|
||
// ПараметрыПодключения - см. ВнешниеКомпонентыБПОКлиент.ПараметрыПодключения.
|
||
//
|
||
Процедура ПодключитьКомпоненту(Оповещение, Идентификатор, Версия = Неопределено, ПараметрыПодключения = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
МодульВнешниеКомпонентыКлиент.ПодключитьКомпоненту(Оповещение, Идентификатор, Версия, ПараметрыПодключения);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
РезультатВыполнения = Новый Структура();
|
||
РезультатВыполнения.Вставить("Подключено", Ложь);
|
||
РезультатВыполнения.Вставить("ОписаниеОшибки", НСтр("ru='Функциональность доступна только при использовании подсистемы БСП.'"));
|
||
Если Оповещение<>Неопределено Тогда
|
||
ВыполнитьОбработкуОповещения(Оповещение, РезультатВыполнения)
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Подключает компоненту, выполненную по технологии COM, из реестра Windows в асинхронном режиме.
|
||
// (не рекомендуется, для обратной совместимости с компонентами 1С 7.7).
|
||
//
|
||
// Параметры:
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// ИдентификаторСозданияОбъекта - Строка - идентификатор создания экземпляра модуля объекта
|
||
// (только для компонент, у которых идентификатор создания объекта отличается от ProgID).
|
||
//
|
||
// Возвращаемое значение:
|
||
// см. РезультатПодключения.
|
||
//
|
||
Асинх Функция ПодключитьКомпонентуИзРеестраWindowsАсинх(Идентификатор, ИдентификаторСозданияОбъекта = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
Возврат МодульВнешниеКомпонентыКлиент.ПодключитьКомпонентуИзРеестраWindowsАсинх(Идентификатор, ИдентификаторСозданияОбъекта);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
РезультатПодключения = РезультатПодключения();
|
||
Попытка
|
||
РезультатПодключения.Подключено = Ждать ПодключитьВнешнююКомпонентуАсинх("AddIn." + Идентификатор);
|
||
Исключение
|
||
РезультатПодключения.Подключено = Ложь;
|
||
КонецПопытки;
|
||
|
||
Если РезультатПодключения.Подключено Тогда
|
||
|
||
Если ИдентификаторСозданияОбъекта = Неопределено Тогда
|
||
ИдентификаторСозданияОбъекта = Идентификатор;
|
||
КонецЕсли;
|
||
|
||
Попытка
|
||
ПодключаемыйМодуль = Новый("AddIn." + ИдентификаторСозданияОбъекта);
|
||
Если ПодключаемыйМодуль = Неопределено Тогда
|
||
ВызватьИсключение НСтр("ru = 'Оператор Новый вернул Неопределено'");
|
||
КонецЕсли;
|
||
РезультатПодключения.ПодключаемыйМодуль = ПодключаемыйМодуль;
|
||
Исключение
|
||
РезультатПодключения.Подключено = Ложь;
|
||
КонецПопытки;
|
||
КонецЕсли;
|
||
|
||
Если Не РезультатПодключения.Подключено Тогда
|
||
РезультатПодключения.ОписаниеОшибки = СтрШаблон(
|
||
НСтр("ru = 'Не удалось подключить внешнюю компоненту ""%1"" на клиенте
|
||
|по причине:
|
||
|%2'"),
|
||
Идентификатор,
|
||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||
КонецЕсли;
|
||
|
||
Возврат РезультатПодключения;
|
||
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Подключает компоненту, выполненную по технологии COM, из реестра Windows в асинхронном режиме.
|
||
// (не рекомендуется, для обратной совместимости с компонентами 1С 7.7).
|
||
//
|
||
// Параметры:
|
||
// Оповещение - ОписаниеОповещения - описание оповещения о подключении со следующими параметрами:
|
||
// * Результат - см. РезультатПодключения
|
||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// ИдентификаторСозданияОбъекта - Строка - идентификатор создания экземпляра модуля объекта
|
||
// (только для компонент, у которых идентификатор создания объекта отличается от ProgID).
|
||
//
|
||
Процедура ПодключитьКомпонентуИзРеестраWindows(Оповещение, Идентификатор, ИдентификаторСозданияОбъекта = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
МодульВнешниеКомпонентыКлиент.ПодключитьКомпонентуИзРеестраWindows(Оповещение, Идентификатор, ИдентификаторСозданияОбъекта);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
|
||
Контекст = Новый Структура;
|
||
Контекст.Вставить("Оповещение" , Оповещение);
|
||
Контекст.Вставить("Идентификатор" , Идентификатор);
|
||
Контекст.Вставить("ИдентификаторСозданияОбъекта", ИдентификаторСозданияОбъекта);
|
||
|
||
Оповещение = Новый ОписаниеОповещения("ПодключитьКомпонентуИзРеестраWindowsЗавершение", ЭтотОбъект, Контекст);
|
||
НачатьПодключениеВнешнейКомпоненты(Оповещение, "AddIn." + Идентификатор);
|
||
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Подключает компоненту, выполненную по технологии Native API и COM, в асинхронном режиме, через механизм ожидания.
|
||
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
|
||
//
|
||
// Параметры:
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// ПолноеИмяМакета - Строка - полное имя макета, используемое как местоположение компоненты.
|
||
// ПараметрыПодключения - Структура
|
||
// - Неопределено - см. функцию ПараметрыПодключения.
|
||
//
|
||
// Возвращаемое значение:
|
||
// см. РезультатПодключения.
|
||
//
|
||
Асинх Функция ПодключитьКомпонентуИзМакетаАсинх(Идентификатор, ПолноеИмяМакета, ПараметрыПодключения = Неопределено) Экспорт
|
||
|
||
Если Не ОбщегоНазначенияБПОКлиентСервер.ЭтоМобильныйКлиент() И ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульОбщегоНазначенияКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ОбщегоНазначенияКлиент");
|
||
Возврат Ждать МодульОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакетаАсинх(Идентификатор, ПолноеИмяМакета, ПараметрыПодключения);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Если ПараметрыПодключения = Неопределено Тогда
|
||
ПараметрыПодключения = ПараметрыПодключенияБПО();
|
||
КонецЕсли;
|
||
РезультатПодключения = РезультатПодключения();
|
||
|
||
Если ПустаяСтрока(Идентификатор) Тогда
|
||
РезультатПодключения.ОписаниеОшибки = НСтр("ru = 'Идентификатор компоненты не указан.'");
|
||
Иначе
|
||
СимволическоеИмя = СтрЗаменить(Идентификатор, ".", "_");
|
||
|
||
Попытка
|
||
#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда
|
||
РезультатПодключения.Подключено = Ждать ПодключитьВнешнююКомпонентуАсинх(ПолноеИмяМакета, СимволическоеИмя);
|
||
#Иначе
|
||
РезультатПодключения.Подключено = Ждать ПодключитьВнешнююКомпонентуАсинх(ПолноеИмяМакета, СимволическоеИмя,,
|
||
ТипПодключенияКомпоненты(ПараметрыПодключения.Изолированно));
|
||
#КонецЕсли
|
||
Исключение
|
||
РезультатПодключения.Подключено = Ложь;
|
||
КонецПопытки;
|
||
|
||
Если РезультатПодключения.Подключено Тогда
|
||
Попытка
|
||
ProgID = "AddIn." + СимволическоеИмя + "." + Идентификатор;
|
||
#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда
|
||
РезультатПодключения.ПодключаемыйМодуль = Новый (ProgID);
|
||
#Иначе
|
||
РезультатПодключения.ПодключаемыйМодуль = Ждать СоздатьОбъектВнешнейКомпонентыАсинх(ProgID);
|
||
#КонецЕсли
|
||
Исключение
|
||
РезультатПодключения.Подключено = Ложь;
|
||
КонецПопытки;
|
||
КонецЕсли;
|
||
|
||
Если Не РезультатПодключения.Подключено Тогда
|
||
РезультатПодключения.ОписаниеОшибки = СтрШаблон(
|
||
НСтр("ru = 'Не удалось подключить внешнюю компоненту ""%1"" на клиенте
|
||
|%2
|
||
|по причине:
|
||
|%3'"),
|
||
Идентификатор,
|
||
ПолноеИмяМакета,
|
||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||
КонецЕсли;
|
||
|
||
Возврат РезультатПодключения;
|
||
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Подключает компоненту, выполненную по технологии Native API и COM, в асинхронном режиме.
|
||
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриПодключении - ОписаниеОповещения - описание оповещения о подключении со следующими параметрами:
|
||
// * Результат - см. РезультатПодключения.
|
||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// ПолноеИмяМакета - Строка - полное имя макета, используемое как местоположение компоненты.
|
||
// ПараметрыПодключения - Структура
|
||
// - Неопределено - см. функцию ПараметрыПодключения.
|
||
Процедура ПодключитьКомпонентуИзМакета(ОповещениеПриПодключении, Идентификатор, ПолноеИмяМакета, ПараметрыПодключения = Неопределено) Экспорт
|
||
|
||
Если Не ОбщегоНазначенияБПОКлиентСервер.ЭтоМобильныйКлиент() И ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульОбщегоНазначенияКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ОбщегоНазначенияКлиент");
|
||
МодульОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(ОповещениеПриПодключении, Идентификатор, ПолноеИмяМакета, ПараметрыПодключения);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Результат = РезультатПодключения();
|
||
|
||
Если ПустаяСтрока(Идентификатор) Тогда
|
||
Результат.ОписаниеОшибки = НСтр("ru = 'Идентификатор компоненты не указан.'");
|
||
ВыполнитьОбработкуОповещения(ОповещениеПриПодключении, Результат);
|
||
Иначе
|
||
Контекст = Новый Структура();
|
||
Контекст.Вставить("Идентификатор", Идентификатор);
|
||
Контекст.Вставить("Оповещение", ОповещениеПриПодключении);
|
||
Оповещение = Новый ОписаниеОповещения("ПодключитьКомпонентуИзМакетаЗавершение", ЭтотОбъект, Контекст);
|
||
НачатьПодключениеВнешнейКомпоненты(Оповещение, ПолноеИмяМакета, СтрЗаменить(Идентификатор, ".", "_"));
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#Область УстановкаВнешнихКомпонент
|
||
|
||
// Структура параметров для процедуры ВнешниеКомпонентыКлиент.УстановитьКомпоненту.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
|
||
// * ПредложитьЗагрузить - Булево - предложить загрузить компоненту с сайта ИТС
|
||
// * ПредложитьУстановить - Булево - (по умолчанию Ложь) предлагать устанавливать компоненту.
|
||
//
|
||
// Пример:
|
||
//
|
||
// ПараметрыУстановки = ВнешниеКомпонентыКлиент.ПараметрыУстановки();
|
||
// ПараметрыУстановки.ТекстПояснения =
|
||
// НСтр("ru = 'Для использования сканера штрихкодов требуется
|
||
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
|
||
//
|
||
Функция ПараметрыУстановки() Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
Параметры = МодульВнешниеКомпонентыКлиент.ПараметрыУстановки();
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Параметры = ПараметрыУстановкиБПО();
|
||
КонецЕсли;
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Устанавливает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
|
||
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
|
||
//
|
||
// Параметры:
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// Версия - Строка - версия компоненты.
|
||
// ПараметрыУстановки - см. ПараметрыУстановки.
|
||
//
|
||
// Возвращаемое значение:
|
||
// см. РезультатУстановки.
|
||
//
|
||
Асинх Функция УстановитьКомпонентуАсинх(Идентификатор, Версия = Неопределено, ПараметрыУстановки = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
РезультатУстановки = Ждать МодульВнешниеКомпонентыКлиент.УстановитьКомпонентуАсинх(Идентификатор, Версия,
|
||
ПараметрыУстановки);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
РезультатУстановки = РезультатУстановки();
|
||
РезультатУстановки.Установлено = Ложь;
|
||
РезультатУстановки.ОписаниеОшибки = НСтр("ru='Функциональность доступна только при использовании подсистемы БСП.'");
|
||
КонецЕсли;
|
||
Возврат РезультатУстановки;
|
||
|
||
КонецФункции
|
||
|
||
// Устанавливает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
|
||
// Выполняет проверку возможности исполнения компоненты на текущем клиенте пользователя.
|
||
//
|
||
// Параметры:
|
||
// Оповещение - ОписаниеОповещения - описание оповещения об установке внешней компоненты:
|
||
// * Результат - см. РезультатУстановки.
|
||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// Версия - Строка - версия компоненты.
|
||
// ПараметрыУстановки - см. ПараметрыУстановки.
|
||
//
|
||
Процедура УстановитьКомпоненту(Оповещение, Идентификатор, Версия = Неопределено, ПараметрыУстановки = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
МодульВнешниеКомпонентыКлиент.УстановитьКомпоненту(Оповещение, Идентификатор, Версия, ПараметрыУстановки);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
РезультатУстановки = РезультатУстановки();
|
||
РезультатУстановки.Установлено = Ложь;
|
||
РезультатУстановки.ОписаниеОшибки = НСтр("ru='Функциональность доступна только при использовании подсистемы БСП.'");
|
||
Если Оповещение <> Неопределено Тогда
|
||
ВыполнитьОбработкуОповещения(Оповещение, РезультатУстановки);
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Устанавливает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
|
||
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
|
||
//
|
||
// Параметры:
|
||
// ПолноеИмяМакета - Строка - полное имя макета, используемое как местоположение компоненты.
|
||
// ПараметрыУстановки - Структура
|
||
// - Неопределено - см. функцию ПараметрыУстановки.
|
||
//
|
||
// Возвращаемое значение:
|
||
// см. РезультатУстановки.
|
||
//
|
||
Асинх Функция УстановитьКомпонентуИзМакетаАсинх(ПолноеИмяМакета, ПараметрыУстановки = Неопределено) Экспорт
|
||
|
||
Если Не ОбщегоНазначенияБПОКлиентСервер.ЭтоМобильныйКлиент() И ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульОбщегоНазначенияКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ОбщегоНазначенияКлиент");
|
||
РезультатУстановки = Ждать МодульОбщегоНазначенияКлиент.УстановитьКомпонентуИзМакетаАсинх(ПолноеИмяМакета, ПараметрыУстановки);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Если ПараметрыУстановки <> Неопределено Тогда
|
||
ПоказатьПредупреждение(Неопределено, ПараметрыУстановки.ТекстПояснения);
|
||
КонецЕсли;
|
||
|
||
РезультатУстановки = РезультатУстановки();
|
||
Попытка
|
||
Ждать УстановитьВнешнююКомпонентуАсинх(ПолноеИмяМакета);
|
||
РезультатУстановки.Установлено = Истина;
|
||
Исключение
|
||
РезультатУстановки.Установлено = Ложь;
|
||
РезультатУстановки.ОписаниеОшибки = СтрШаблон(
|
||
НСтр("ru = 'Не удалось установить внешнюю компоненту ""%1"" на клиенте
|
||
|по причине:
|
||
|%2'"),
|
||
ПолноеИмяМакета,
|
||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||
КонецПопытки;
|
||
КонецЕсли;
|
||
Возврат РезультатУстановки;
|
||
|
||
КонецФункции
|
||
|
||
// Устанавливает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
|
||
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеЗавершения - ОписаниеОповещения - описание оповещения об установке внешней компоненты:
|
||
// * Результат - см. РезультатУстановки.
|
||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||
// ПолноеИмяМакета - Строка - полное имя макета, используемое как местоположение компоненты.
|
||
// ПараметрыУстановки - Структура
|
||
// - Неопределено - см. функцию ПараметрыУстановки.
|
||
//
|
||
Процедура УстановитьКомпонентуИзМакета(ОповещениеЗавершения, ПолноеИмяМакета, ПараметрыУстановки = Неопределено) Экспорт
|
||
|
||
Если Не ОбщегоНазначенияБПОКлиентСервер.ЭтоМобильныйКлиент() И ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульОбщегоНазначенияКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ОбщегоНазначенияКлиент");
|
||
МодульОбщегоНазначенияКлиент.УстановитьКомпонентуИзМакета(ОповещениеЗавершения, ПолноеИмяМакета, ПараметрыУстановки);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
|
||
Контекст = Новый Структура();
|
||
Контекст.Вставить("ПолноеИмяМакета", ПолноеИмяМакета);
|
||
Контекст.Вставить("Оповещение", ОповещениеЗавершения);
|
||
Контекст.Вставить("ПараметрыУстановки", ПараметрыУстановки);
|
||
|
||
Оповещение = Новый ОписаниеОповещения("УстановитьКомпонентуИзМакетаЗавершение", ЭтотОбъект, Контекст);
|
||
НачатьУстановкуВнешнейКомпоненты(Оповещение, ПолноеИмяМакета);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#Область ЗагрузкаВнешнихКомпонент
|
||
|
||
// Возвращает структуру параметров для описания правил поиска дополнительной информации в составе внешней компоненты,
|
||
// см. процедуру ЗагрузитьКомпонентуИзФайла.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * ИмяФайлаXML - Строка - (необязательный) имя файла в составе компоненты, из которого будет извлечена информация.
|
||
// * ВыражениеXPath - Строка - (необязательный) XPath путь до информации в файле.
|
||
//
|
||
// Пример:
|
||
//
|
||
// ПараметрыЗагрузки = ВнешниеКомпонентыКлиент.ПараметрыПоискаДополнительнойИнформации();
|
||
// ПараметрыЗагрузки.ИмяФайлаXML = "INFO.XML";
|
||
// ПараметрыЗагрузки.ВыражениеXPath = "//drivers/component/@type";
|
||
//
|
||
Функция ПараметрыПоискаДополнительнойИнформации() Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
Параметры = МодульВнешниеКомпонентыКлиент.ПараметрыПоискаДополнительнойИнформации();
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Параметры = Новый Структура;
|
||
Параметры.Вставить("ИмяФайлаXML", "");
|
||
Параметры.Вставить("ВыражениеXPath", "");
|
||
КонецЕсли;
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Структура параметров для процедуру ВнешниеКомпонентыКлиент.ЗагрузитьКомпонентуИзФайла.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Идентификатор - Строка -(необязательный) идентификатор объекта внешней компоненты.
|
||
// * Версия - Строка - (необязательный) версия компоненты.
|
||
// * ПараметрыПоискаДополнительнойИнформации - Соответствие из КлючИЗначение - (необязательный) параметры:
|
||
// ** Ключ - Строка - идентификатор дополнительной запрошенной информации.
|
||
// ** Значение - см. ПараметрыПоискаДополнительнойИнформации.
|
||
// Пример:
|
||
//
|
||
// ПараметрыЗагрузки = ВнешниеКомпонентыКлиент.ПараметрыЗагрузки();
|
||
// ПараметрыЗагрузки.Идентификатор = "InputDevice";
|
||
// ПараметрыЗагрузки.Версия = "8.1.7.10";
|
||
//
|
||
Функция ПараметрыЗагрузки() Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
Параметры = МодульВнешниеКомпонентыКлиент.ПараметрыЗагрузки();
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Параметры = Новый Структура;
|
||
Параметры.Вставить("Идентификатор", "");
|
||
Параметры.Вставить("Версия", "");
|
||
Параметры.Вставить("ПараметрыПоискаДополнительнойИнформации", Новый Соответствие);
|
||
КонецЕсли;
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Загружает файл компоненты в справочник внешних компонент в асинхронном режиме.
|
||
//
|
||
// Параметры:
|
||
// Оповещение - ОписаниеОповещения - описание оповещения об установке внешней компоненты:
|
||
// * Результат - Структура - результат загрузки компоненты:
|
||
// ** Загружена - Булево - признак загрузки.
|
||
// ** Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||
// ** Версия - Строка - версия загруженной компоненты.
|
||
// ** Наименование - Строка - наименование загруженной компоненты.
|
||
// ** ДополнительнаяИнформация - Соответствие из КлючИЗначение - дополнительная информация о компоненте,
|
||
// если не запрашивалась - пустое соответствие:
|
||
// *** Ключ - см. ПараметрыПоискаДополнительнойИнформации.
|
||
// *** Значение - см. ПараметрыПоискаДополнительнойИнформации.
|
||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||
// ПараметрыЗагрузки - см. ПараметрыЗагрузки.
|
||
//
|
||
// Пример:
|
||
//
|
||
// ПараметрыЗагрузки = ВнешниеКомпонентыКлиент.ПараметрыЗагрузки();
|
||
// ПараметрыЗагрузки.Идентификатор = "InputDevice";
|
||
// ПараметрыЗагрузки.Версия = "8.1.7.10";
|
||
//
|
||
// Оповещение = Новый ОписаниеОповещения("ЗагрузитьКомпонентуИзФайлаПослеЗагрузкиКомпоненты", ЭтотОбъект);
|
||
//
|
||
// ВнешниеКомпонентыКлиент.ЗагрузитьКомпонентуИзФайла(Оповещение, ПараметрыЗагрузки);
|
||
//
|
||
// &НаКлиенте
|
||
// Процедура ЗагрузитьКомпонентуИзФайлаПослеЗагрузкиКомпоненты(Результат, ДополнительныеПараметры) Экспорт
|
||
//
|
||
// Если Результат.Загружено Тогда
|
||
// Идентификатор = Результат.Идентификатор;
|
||
// Версия = Результат.Версия;
|
||
// КонецЕсли;
|
||
//
|
||
// КонецПроцедуры
|
||
//
|
||
Процедура ЗагрузитьКомпонентуИзФайла(Оповещение, ПараметрыЗагрузки = Неопределено) Экспорт
|
||
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
МодульВнешниеКомпонентыКлиент = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("ВнешниеКомпонентыКлиент");
|
||
МодульВнешниеКомпонентыКлиент.ЗагрузитьКомпонентуИзФайла(Оповещение, ПараметрыЗагрузки);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
РезультатВыполнения = Новый Структура();
|
||
РезультатВыполнения.Вставить("Загружена", Ложь);
|
||
РезультатВыполнения.Вставить("ОписаниеОшибки", НСтр("ru='Функциональность доступна только при использовании подсистемы БСП.'"));
|
||
ВыполнитьОбработкуОповещения(Оповещение, РезультатВыполнения);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныйПрограммныйИнтерфейс
|
||
|
||
// Продолжение процедуры ПодключитьКомпонентуИзРеестраWindows.
|
||
//
|
||
// Параметры:
|
||
// Подключено - Булево
|
||
// Контекст - Структура:
|
||
// * Оповещение - ОписаниеОповещения
|
||
// * Идентификатор - Строка
|
||
// * ИдентификаторСозданияОбъектов - Строка
|
||
Процедура ПодключитьКомпонентуИзРеестраWindowsЗавершение(Подключено, Контекст) Экспорт
|
||
|
||
Результат = РезультатПодключения();
|
||
|
||
ИдентификаторСозданияОбъекта = ?(
|
||
Контекст.ИдентификаторСозданияОбъекта = Неопределено,
|
||
Контекст.Идентификатор,
|
||
Контекст.ИдентификаторСозданияОбъекта);
|
||
|
||
Если Подключено Тогда
|
||
Попытка
|
||
ПодключаемыйМодуль = Новый("AddIn." + ИдентификаторСозданияОбъекта);
|
||
Если ПодключаемыйМодуль = Неопределено Тогда
|
||
ВызватьИсключение НСтр("ru = 'Оператор Новый вернул Неопределено'");
|
||
КонецЕсли;
|
||
Результат.Подключено = Истина;
|
||
Результат.ПодключаемыйМодуль = ПодключаемыйМодуль;
|
||
Исключение
|
||
Результат.ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||
КонецПопытки;
|
||
Иначе
|
||
Результат.ОписаниеОшибки = СтрШаблон(
|
||
НСтр("ru='Не удалось подключить внешнюю компоненту %1 на клиенте'"),
|
||
ИдентификаторСозданияОбъекта);
|
||
КонецЕсли;
|
||
|
||
Если Контекст.Оповещение<>Неопределено Тогда
|
||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Продолжение процедуры ПодключитьКомпонентуИзМакета.
|
||
//
|
||
// Параметры:
|
||
// Подключено - Булево
|
||
// Контекст - Структура:
|
||
// * Оповещение - ОписаниеОповещения
|
||
// * Идентификатор - Строка
|
||
// * ИдентификаторСозданияОбъектов - Строка
|
||
Процедура ПодключитьКомпонентуИзМакетаЗавершение(Подключено, Контекст) Экспорт
|
||
|
||
Результат = РезультатПодключения();
|
||
Если Подключено Тогда
|
||
Попытка
|
||
ProgID = "AddIn." + СтрЗаменить(Контекст.Идентификатор, ".", "_") + "." + Контекст.Идентификатор;
|
||
Результат.ПодключаемыйМодуль = Новый (ProgID);
|
||
Результат.Подключено = Истина;
|
||
Исключение
|
||
Результат.ОписаниеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||
КонецПопытки;
|
||
КонецЕсли;
|
||
|
||
Если Контекст.Оповещение<>Неопределено Тогда
|
||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура УстановитьКомпонентуИзМакетаЗавершение(Контекст) Экспорт
|
||
|
||
Результат = РезультатУстановки();
|
||
Результат.Установлено = Истина;
|
||
|
||
ПараметрыУстановки = Контекст.ПараметрыУстановки;
|
||
Если ПараметрыУстановки <> Неопределено Тогда
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(ПараметрыУстановки.ТекстПояснения);
|
||
КонецЕсли;
|
||
|
||
Если Контекст.Оповещение <> Неопределено Тогда
|
||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#Если Не ВебКлиент Тогда
|
||
|
||
// Выполняет переустановку компонент из переданного массива макетов рекурсивно
|
||
//
|
||
// Параметры:
|
||
// ОборудованиеДляПереустановки - Массив из Структура
|
||
//
|
||
Процедура ПереустановитьКомпоненты(ОборудованиеДляПереустановки) Экспорт
|
||
|
||
Контекст = Новый Структура();
|
||
Контекст.Вставить("ОборудованиеДляПереустановки", Новый Массив);
|
||
Для Каждого ОписаниеОборудованияДляПереустановки Из ОборудованиеДляПереустановки Цикл
|
||
Контекст.ОборудованиеДляПереустановки.Добавить(ОписаниеОборудованияДляПереустановки);
|
||
КонецЦикла;
|
||
|
||
// Начать рекурсивную установку компонентов из макетов
|
||
Результат = РезультатУстановки();
|
||
Результат.Установлено = Истина;
|
||
ОповещениеУстановки = Новый ОписаниеОповещения("УстановитьКомпонентуИзМакетаРекурсивно", ЭтотОбъект, Контекст);
|
||
ВыполнитьОбработкуОповещения(ОповещениеУстановки, Результат)
|
||
|
||
КонецПроцедуры
|
||
|
||
// Выполняет рекурсивно установку компоненты
|
||
//
|
||
// Параметры:
|
||
// Результат - Структура - результат установки компоненты:
|
||
// * Установлено - Булево - признак установки.
|
||
// * ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
|
||
// Контекст - Структура:
|
||
// * ОборудованиеДляПереустановки - Массив из Структура
|
||
//
|
||
Процедура УстановитьКомпонентуИзМакетаРекурсивно(Результат, Контекст) Экспорт
|
||
|
||
Если Не Результат.Установлено Тогда
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(СтрШаблон(НСтр("ru = 'Ошибка установки компоненты: %1'"), Результат.ОписаниеОшибки));
|
||
КонецЕсли;
|
||
|
||
ОборудованиеДляПереустановки = Контекст.ОборудованиеДляПереустановки;
|
||
Если ОборудованиеДляПереустановки.Количество()=0 Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ПоследнийИндекс = ОборудованиеДляПереустановки.ВГраница();
|
||
ОписаниеОборудованияДляПереустановки = ОборудованиеДляПереустановки[ПоследнийИндекс];
|
||
ОборудованиеДляПереустановки.Удалить(ПоследнийИндекс);
|
||
|
||
ПараметрыУстановки = ПараметрыУстановки();
|
||
ПараметрыУстановки.ТекстПояснения = СтрШаблон(НСтр("ru = 'Новая версия компоненты:
|
||
|%1.
|
||
|Версия: %2'
|
||
|"),
|
||
ОписаниеОборудованияДляПереустановки.Наименование,
|
||
ОписаниеОборудованияДляПереустановки.Версия);
|
||
|
||
ОповещениеУстановки = Новый ОписаниеОповещения("УстановитьКомпонентуИзМакетаРекурсивно", ЭтотОбъект, Контекст);
|
||
УстановитьКомпонентуИзМакета(ОповещениеУстановки, ОписаниеОборудованияДляПереустановки.ИмяМакетаДрайвера, ПараметрыУстановки);
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецЕсли
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныеПроцедурыИФункции
|
||
|
||
// Параметры для вызова процедуры ВнешниеКомпонентыКлиент.ПодключитьКомпоненту.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Кэшировать - Булево - (по умолчанию Истина) использовать механизм кэширования компонент на клиенте.
|
||
// * ПредложитьУстановить - Булево - (по умолчанию Истина) предлагать устанавливать компоненту.
|
||
// * ПредложитьЗагрузить - Булево - (по умолчанию Истина) предлагать загрузить компоненту с сайта ИТС.
|
||
// * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
|
||
// * ИдентификаторыСозданияОбъектов - Массив из Строка - массив строк идентификаторов создания экземпляров модуля объекта,
|
||
// используется только для компонент, у которых есть несколько идентификаторов создания объектов,
|
||
// при задании параметр Идентификатор будет использоваться только для определения компоненты.
|
||
// * Изолированно - Булево, Неопределено - (по умолчанию Неопределено) если Истина, компонента будет подключена
|
||
// изолированно, в этом случае внешняя компонента загружается в отдельный процесс операционной системы;
|
||
// Ложь - в этом случае внешняя компонента будет выполняться в том же процессе операционной системы,
|
||
// который выполняет код встроенного языка; Неопределено - поддерживается поведение платформы по умолчанию:
|
||
// изолированно - если компонентой поддерживается только этот режим, не изолированно - в остальных случаях.
|
||
// См. https://its.1c.ru/db/v83doc#bookmark:dev:TI000001866
|
||
//
|
||
// Пример:
|
||
//
|
||
// ПараметрыПодключения = ВнешниеКомпонентыКлиент.ПараметрыПодключения();
|
||
// ПараметрыПодключения.ТекстПояснения =
|
||
// НСтр("ru = 'Для использования сканера штрихкодов требуется
|
||
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
|
||
//
|
||
Функция ПараметрыПодключенияБПО()
|
||
|
||
Параметры = Новый Структура;
|
||
Параметры.Вставить("Кэшировать", Истина);
|
||
Параметры.Вставить("ПредложитьУстановить", Истина);
|
||
Параметры.Вставить("ПредложитьЗагрузить", Истина);
|
||
Параметры.Вставить("ТекстПояснения", "");
|
||
Параметры.Вставить("ИдентификаторыСозданияОбъектов", Новый Массив);
|
||
Параметры.Вставить("Изолированно", Неопределено);
|
||
Параметры.Вставить("ОбновлятьАвтоматически", Истина);
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Структура параметров для процедуры ВнешниеКомпонентыКлиент.УстановитьКомпоненту.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
|
||
// * ПредложитьЗагрузить - Булево - предложить загрузить компоненту с сайта ИТС
|
||
// * ПредложитьУстановить - Булево - (по умолчанию Ложь) предлагать устанавливать компоненту.
|
||
//
|
||
Функция ПараметрыУстановкиБПО()
|
||
|
||
Параметры = Новый Структура;
|
||
Параметры.Вставить("ТекстПояснения", "");
|
||
Параметры.Вставить("ПредложитьЗагрузить", Истина);
|
||
Параметры.Вставить("ПредложитьУстановить", Ложь);
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Результат подключения компоненты.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Подключено - Булево - признак подключения.
|
||
// * ПодключаемыйМодуль - Неопределено, ОбъектВнешнейКомпоненты - экземпляр объекта внешней компоненты;
|
||
// - ФиксированноеСоответствие из КлючИЗначение - экземпляры объектов внешней компоненты,
|
||
// указанные в ПараметрыПодключения.ИдентификаторыСозданияОбъектов:
|
||
// ** Ключ - Строка - идентификатор внешней компоненты;
|
||
// ** Значение - ОбъектВнешнейКомпоненты - экземпляр объекта.
|
||
// * ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
|
||
//
|
||
Функция РезультатПодключения() Экспорт
|
||
|
||
Результат = Новый Структура;
|
||
Результат.Вставить("Подключено", Ложь);
|
||
Результат.Вставить("ОписаниеОшибки", "");
|
||
Результат.Вставить("ПодключаемыйМодуль", Неопределено);
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Результат установки компоненты.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Установлено - Булево
|
||
// * ОписаниеОшибки - Строка
|
||
//
|
||
Функция РезультатУстановки() Экспорт
|
||
|
||
Результат = Новый Структура;
|
||
Результат.Вставить("Установлено", Ложь);
|
||
Результат.Вставить("ОписаниеОшибки", "");
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
Функция ТипПодключенияКомпоненты(Изолированно) Экспорт
|
||
|
||
Если Изолированно = Неопределено Тогда
|
||
Возврат Неопределено;
|
||
КонецЕсли;
|
||
|
||
#Если Не ВебКлиент И Не МобильныйКлиент И Не МобильноеПриложениеКлиент Тогда
|
||
|
||
Если Изолированно Тогда
|
||
Возврат ТипПодключенияВнешнейКомпоненты.Изолированно;
|
||
КонецЕсли;
|
||
|
||
Возврат ТипПодключенияВнешнейКомпоненты.НеИзолированно;
|
||
|
||
#Иначе
|
||
|
||
Возврат Неопределено;
|
||
|
||
#КонецЕсли
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|