УдалитьПоставляемоеРасширениеИзОбластиДанных (БСП)

Автор: 1С
ОбщийМодуль.РасширенияВМоделиСервиса
БСП

Удалить поставляемое расширение из области данных. Выполняет удаление поставляемого расширения из текущей области данных.

// Выполняет удаление поставляемого расширения из текущей области данных.
//
// Параметры:
//  ПоставляемоеРасширение - СправочникСсылка.ПоставляемыеРасширения.
//
Процедура УдалитьПоставляемоеРасширениеИзОбластиДанных(Знач ПоставляемоеРасширение) Экспорт
	
	НачатьТранзакцию();
	
	Попытка
		
		УстановитьПривилегированныйРежим(Истина);
		
		Попытка
			
			ИспользуемоеРасширение = ИспользуемоеРасширение(ПоставляемоеРасширение);
			
			// Очистка связи между поставляемым и используемым расширением.
			НаборЗаписей = РегистрыСведений.ИспользованиеПоставляемыхРасширенийВОбластяхДанных.СоздатьНаборЗаписей();
			НаборЗаписей.Отбор.ПоставляемоеРасширение.Установить(ПоставляемоеРасширение);
			
			// Отправим в МС сообщение об удалении расширения из области данных.
			Сообщение = СообщенияВМоделиСервиса.НовоеСообщение(
				СообщенияКонтрольРасширенийИнтерфейс.СообщениеРасширениеУдалено());
			
			Сообщение.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
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ОтозватьПоставляемоеРасширение (БСП)

УстановитьПоставляемоеРасширениеПриПолучении (БСП)

УстановитьПоставляемоеРасширениеВОбластьДанных (БСП)

УдалитьПоставляемуюОбработкуИзОбластиДанных (БСП)

ПереченьИнсталляций (БСП)

ОчередьИнсталляций (БСП)

УдалитьПоставляемыеПравила (БСП)

УстановитьПоставляемуюОбработкуПриПолучении (БСП)

ОтозватьПоставляемуюДополнительнуюОбработку (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз