Удалить поставляемое расширение из области данных. Выполняет удаление поставляемого расширения из текущей области данных.
// Выполняет удаление поставляемого расширения из текущей области данных.
//
// Параметры:
// ПоставляемоеРасширение - СправочникСсылка.ПоставляемыеРасширения.
//
Процедура УдалитьПоставляемоеРасширениеИзОбластиДанных(Знач ПоставляемоеРасширение) Экспорт
НачатьТранзакцию();
Попытка
УстановитьПривилегированныйРежим(Истина);
Попытка
ИспользуемоеРасширение = ИспользуемоеРасширение(ПоставляемоеРасширение);
// Очистка связи между поставляемым и используемым расширением.
НаборЗаписей = РегистрыСведений.ИспользованиеПоставляемыхРасширенийВОбластяхДанных.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ПоставляемоеРасширение.Установить(ПоставляемоеРасширение);
// Отправим в МС сообщение об удалении расширения из области данных.
Сообщение = СообщенияВМоделиСервиса.НовоеСообщение(
СообщенияКонтрольРасширенийИнтерфейс.СообщениеРасширениеУдалено());
Сообщение.Body.Zone = РаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
Сообщение.Body.Extension = ПоставляемоеРасширение.УникальныйИдентификатор();
Сообщение.Body.Installation = ИспользуемоеРасширение.Инсталляция;
СообщенияВМоделиСервиса.ОтправитьСообщение(
Сообщение,
РаботаВМоделиСервисаБТСПовтИсп.КонечнаяТочкаМенеджераСервиса());
// Удаление используемого расширения
ИспользуемоеРасширение.Расширение.Удалить();
КаталогРасширений.ИзменитьСостояниеОповещенийРасширений(ПоставляемоеРасширение.УникальныйИдентификатор(), Истина);
НаборЗаписей.Записать();
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые расширения.Удаление из области данных'",
ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,
,
ПоставляемоеРасширение,
Строка(ИспользуемоеРасширение.Инсталляция));
Исключение
ТекстИсключения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые расширения.Ошибка удаления из области данных'",
ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
,
ПоставляемоеРасширение,
Строка(ИспользуемоеРасширение.Инсталляция) + Символы.ПС + Символы.ВК + ТекстИсключения);
// Отправка сообщения в МС об ошибке удаления расширения из области данных
Сообщение = СообщенияВМоделиСервиса.НовоеСообщение(
СообщенияКонтрольРасширенийИнтерфейс.СообщениеОшибкаУдаленияРасширения());
Сообщение.Body.Zone = РаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
Сообщение.Body.Extension = ПоставляемоеРасширение.УникальныйИдентификатор();
Сообщение.Body.Installation = ИспользуемоеРасширение.Инсталляция;
Сообщение.Body.ErrorDescription = ТекстИсключения;
СообщенияВМоделиСервиса.ОтправитьСообщение(
Сообщение,
РаботаВМоделиСервисаБТСПовтИсп.КонечнаяТочкаМенеджераСервиса());
КонецПопытки;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОтозватьПоставляемоеРасширение (БСП)
УстановитьПоставляемоеРасширениеПриПолучении (БСП)
УстановитьПоставляемоеРасширениеВОбластьДанных (БСП)
УдалитьПоставляемуюОбработкуИзОбластиДанных (БСП)
УдалитьПоставляемыеПравила (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)