Удалить поставляемую обработку из области данных. Выполняет удаление поставляемой дополнительной обработки из текущей области данных.
// Выполняет удаление поставляемой дополнительной обработки из текущей области данных.
//
// Параметры:
// ПоставляемаяОбработка - СправочникСсылка.ПоставляемыеДополнительныеОтчетыИОбработки,
// ИдентификаторИспользуемойОбработки - УникальныйИдентификатор, 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
///////////////////////////////////////////////////////////////////////////////////////////////////////
УдалитьПоставляемоеРасширениеИзОбластиДанных (БСП)
ОтозватьПоставляемуюДополнительнуюОбработку (БСП)
ПриОбработкеОбластиДанных (БСП)
УстановитьПоставляемуюОбработкуПриПолучении (БСП)
УстановитьПоставляемуюОбработкуВОбластьДанных (БСП)
ОбластиТребующиеОбработки (БСП)
УдалитьПоставляемыеПравила (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)