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