Обновить общую компоненту. См. ВнешниеКомпонентыСервер.ОбновитьОбщуюКомпоненту.
// См. ВнешниеКомпонентыСервер.ОбновитьОбщуюКомпоненту.
Процедура ОбновитьОбщуюКомпоненту(ОписаниеКомпоненты) Экспорт
Если Не ОбщегоНазначения.РазделениеВключено() Или ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение
НСтр("ru = 'Загрузка общий внешних компонент возможна только в неразделенном режиме модели сервиса.'");
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые внешние компоненты.Загрузка поставляемой компоненты'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,,,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Инициирована загрузка поставляемой обработки
|%1'"),
ВнешниеКомпонентыСлужебный.ПредставлениеКомпоненты(
ОписаниеКомпоненты.Идентификатор,
ОписаниеКомпоненты.Версия)));
Ссылка = Справочники.ОбщиеВнешниеКомпоненты.НайтиПоИдентификатору(
ОписаниеКомпоненты.Идентификатор,
ОписаниеКомпоненты.Версия);
Если Ссылка.Пустая() Тогда
ОбщаяКомпонента = Справочники.ОбщиеВнешниеКомпоненты.СоздатьЭлемент();
Иначе
ОбщаяКомпонента = Ссылка.ПолучитьОбъект();
КонецЕсли;
ОбщаяКомпонента.Заполнить(Неопределено); // Конструктор по умолчанию.
ДвоичныеДанныеКомпоненты = Новый ДвоичныеДанные(ОписаниеКомпоненты.ПутьКФайлу);
Информация = ВнешниеКомпонентыСлужебный.ИнформацияОКомпонентеИзФайла(ДвоичныеДанныеКомпоненты, Ложь);
Если Не Информация.Разобрано Тогда
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые внешние компоненты.Загрузка поставляемой компоненты'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, , , Информация.ОписаниеОшибки);
Возврат;
КонецЕсли;
ЗаполнитьЗначенияСвойств(ОбщаяКомпонента, Информация.Реквизиты); // По данным манифеста.
ЗаполнитьЗначенияСвойств(ОбщаяКомпонента, ОписаниеКомпоненты); // По данным с сайта.
ОбщаяКомпонента.ХранилищеКомпоненты = Новый ХранилищеЗначения(ДвоичныеДанныеКомпоненты);
Попытка
ОбщаяКомпонента.Записать();
Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые внешние компоненты.Загрузка поставляемой компоненты'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОбновитьКомпонентыСПортала (БСП)
ОбновитьКомпонентыСПорталаПриФормированииРезультата (БСП)
ОбновитьВнешниеКомпоненты (БСП)
ОбновитьНастройкиПолучениеВнешнихКомпонент (БСП)
ОбновитьОбщиеДанныеПоТарификации (БСП)