ПередУдалениемДополнительнойОбработки (БСП)

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

Перед удалением дополнительной обработки. Процедура должна вызываться из события ПередУдалением справочника

// Процедура должна вызываться из события ПередУдалением справочника
//  ДополнительныеОтчетыИОбработки.
//
// Параметры:
//  Источник - СправочникОбъект.ДополнительныеОтчетыИОбработки,
//  Отказ - булево, флаг отказа от выполнения удаления элемента справочника из информационной базы.
//
Процедура ПередУдалениемДополнительнойОбработки(Источник, Отказ) Экспорт
	
	Если Не ОбщегоНазначения.РазделениеВключено() Тогда
		Возврат;
	КонецЕсли;
	
	НачатьТранзакцию();
	
	Попытка
		
		// Определим поставляемую обработку
		ПоставляемаяОбработка = ПоставляемаяОбработка(Источник.Ссылка);
		
		Если ЗначениеЗаполнено(ПоставляемаяОбработка) Тогда
			
			// Очистим сопоставление используемой обработки с поставляемой
			НаборЗаписей = РегистрыСведений.ИспользованиеПоставляемыхДополнительныхОтчетовИОбработокВОбластяхДанных.СоздатьНаборЗаписей();
			НаборЗаписей.Отбор.ПоставляемаяОбработка.Установить(ПоставляемаяОбработка);
			НаборЗаписей.Записать();
			
			МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
			МодульСообщенияВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("СообщенияВМоделиСервиса");
			
			// Отправим в МС сообщение об удалении обработки из области данных
			Сообщение = МодульСообщенияВМоделиСервиса.НовоеСообщение(
				СообщенияКонтрольДополнительныхОтчетовИОбработокИнтерфейс.СообщениеДополнительныйОтчетИлиОбработкаУдалена());
			
			Сообщение.Body.Zone = МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
			Сообщение.Body.Extension = ПоставляемаяОбработка.УникальныйИдентификатор();
			Сообщение.Body.Installation = Источник.Ссылка.УникальныйИдентификатор();
			
			МодульРаботаВМоделиСервисаБТСПовтИсп = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервисаБТСПовтИсп");
			
			МодульСообщенияВМоделиСервиса.ОтправитьСообщение(
				Сообщение,
				МодульРаботаВМоделиСервисаБТСПовтИсп.КонечнаяТочкаМенеджераСервиса());
			
		КонецЕсли;
		
		ЗафиксироватьТранзакцию();
		
	Исключение
		
		ОтменитьТранзакцию();
		ВызватьИсключение;
		
	КонецПопытки;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

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

ПередЗаписьюДополнительнойОбработки (БСП)

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

ПередУдалениемИдентификатораОбъектаМетаданных (БСП)

СообщениеОшибкаУдаленияДополнительногоОтчетаИлиОбработки (БСП)

TurboConf - расширение Конфигуратора 1С