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

Автор: 1С
ОбщийМодуль.ДополнительныеОтчетыИОбработкиВМоделиСервиса
БСП

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

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