Есть распределенная база с 2мя узлами Центральным и периферийным. Обмен идет в обе стороны, а передаются только справочники. Опишу в кратце проблему: Допустим в Центральной базе пришел товар, оформили поступление документом и осуществили обмен с Периферийной, после чего в ней появляется номенклатура, затем её помечают на удаление и удаляют через операции удаляем без проблем, потому что документа нет(он не передается). Меняемся обратно и номенклатура пропадает в центральной базе. Была идея ограничить права на удаление в Периферийной базе, но это не устраивает заказчика. Какие пути еще могут быть???

=============================================

1. Вариант
ПриПолученииДанныхОтПодчиненного(<Элемент данных>, <Получение элемента>, <Отправка назад>)
Параметры:
<Элемент данных>
При вызове обработчика события данный параметр содержит элемент данных, прочитанный из сообщения обмена данными. Элементами данных могут быть КонстантаМенеджерЗначения.<Имя константы>, объекты базы данных, наборы записей регистров, последовательностей или перерасчетов.

Думаю при получении информации об удаленном объекте, тип "Элемент данных" будет "УдалениеОбъекта". Если получаем данные такого типа - отказываемся от загрузки. Для Этого используем второй параметр <Получение элемента>.

2й вариант. Снимаем автоматическую регистрацию данных для нужных справочников в главной базе. создаем подписку на событие нужных справочников "При записи". В подписке для нужных узлов делаем регистрацию изменений. Факт удаления объекта в этом случае не будет фиксироваться вообще и в подчиненной базе ничего делать не нужно.

===============================================

Пример использования:

Код 1c:
МассивКУдалению = Новый Массив;
МассивКУдалению.Добавить(ОбъектПомечанныйНаУдаление.Ссылка);
ТаблицаСсылок = НайтиПоСсылкам(МассивКУдалению);
Если ТаблицаСсылок.Количество() Тогда
   Сообщить("Казнить нельзя, помиловать!");
Иначе
   Сообщить("Казнить, нельзя помиловать!");
КонецЕсли;

==============================


написал
Код 1c:
Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) 
    Типданных=ТипЗнч(ЭлементДанных) ;
    Ссылки =ЭлементДанных.Ссылка;
    Если  Типданных=ТипЗнч("УдалениеОбъекта") тогда
        ТабСсылок=новый массив();
        ТабСсылок = НайтиПоСсылкам(Ссылки);
        Если  ТабСсылок.Количество()>0 тогда        
            ПолучениеЭлемента=ПолучениеЭлементаДанных.Игнорировать;
            ОтправкаНазад=ОтправкаЭлементаДанных.Авто;
        КонецЕсли;
    КонецЕсли;
 КонецПроцедуры
Вроде пашет