Необходимо при удалении объекта в базе источнике помечать на удаление соответствующий объект в базе приемнике.

Задача: В правилах обмена конвертации 2.0 необходимо реализовать алгоритм, когда удаленных объект в базе источнике не удаляется в приемнике, а помечается на удаление
Решение:
Обработчик «При получении удаления»

// запрещаем удаление объектов
Отказ = Истина;

МетаданныеОбъекта = Объект.Метаданные();

// устанавливаем поментку удаления
Если Метаданные.Справочники.Содержит(МетаданныеОбъекта) Тогда
УстановитьПометкуУдаленияУОбъекта(Объект, Истина, "Справочник");
ИначеЕсли Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
Если Объект.Проведен Тогда
ОтменитьПроведениеОбъектаВИБ(Объект, ТипЗнч(Объект));
ИначеЕсли ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ОперацияБух") Тогда
Для Каждого Движение Из Объект.Движения Цикл
Движение.ОбменДанными.Загрузка = Истина;
Движение.Прочитать();
Для Каждого Строка Из Движение Цикл
Строка.Активность = Ложь;
КонецЦикла;
Движение.Записать();
КонецЦикла;
КонецЕсли;
УстановитьПометкуУдаленияУОбъекта(Объект, Истина, "Документ");
ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеОбъекта) Тогда
УстановитьПометкуУдаленияУОбъекта(Объект, Истина, "ПланВидовХарактеристик");
КонецЕсли;

Добавить комментарий

Ваш e-mail не будет опубликован.

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