#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ПометкаУдаления Тогда
ИспользоватьРегламентноеЗадание = Ложь;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
МодульОбменДаннымиВнутренняяПубликация = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВнутренняяПубликация");
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
Если РазделениеВключено
И ИспользоватьРегламентноеЗадание
И ОтключенАвтоматически Тогда
ОтключенАвтоматически = Ложь;
МодульОбменДаннымиВнутренняяПубликация.УдалитьЗадачиПоСценариюСОшибкой(Ссылка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ПометкаУдаления Тогда
УдалитьРегламентноеЗадание(Отказ);
КонецЕсли;
ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры
Процедура ПриКопировании(ОбъектКопирования)
РегламентноеЗаданиеGUID = "";
КонецПроцедуры
Процедура ПередУдалением(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
УдалитьРегламентноеЗадание(Отказ);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура УдалитьРегламентноеЗадание(Отказ)
УстановитьПривилегированныйРежим(Истина);
РегламентноеЗаданиеОбъект = Справочники.СценарииОбменовДанными.РегламентноеЗаданиеПоИдентификатору(РегламентноеЗаданиеGUID);
Если РегламентноеЗаданиеОбъект <> Неопределено Тогда
Попытка
Если ОбщегоНазначения.РазделениеВключено() Тогда
РегламентныеЗаданияСервер.УдалитьЗадание(РегламентноеЗаданиеОбъект);
Иначе
РегламентноеЗаданиеОбъект.Удалить();
КонецЕсли;
Исключение
СтрокаСообщения = НСтр("ru = 'Ошибка при удалении регламентного задания: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения,
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ОбменДаннымиСервер.СообщитьОбОшибке(СтрокаСообщения, Отказ);
КонецПопытки;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли