Конвертация данных предлагает стандартный механизм, позволяющий НЕ создавать НЕнайденные элементы. (рис.1)
Но этот механизм не предупреждает пользователя о том, что объект не найден.
Данную задачу можно было бы решить следующим образом:
Снять галку «Не создавать новый объект в приемнике, если он НЕ найден»
И прописать контроль создания элемента в обработчике загрузки справочника «После загрузки» (рис. 2)
Обработчик события После загрузки
Если НЕ ОбъектНайден Тогда
Сообщить("Не найден " + Объект + " поиск идет по наименованию и дате рождения");
Отказ = Истина;
КонецЕсли;
К сожалению, данный механизм работает только при выгрузке непосредственно этого справочника. Когда же элемент справочника выгружается по ссылке, программа все равно создает этот элемент.
Данную проблему можно решить с помощью следующего кода во все том же обработчике «После загрузки» (рис. 3)
Если НЕ ОбъектНайден Тогда
Сообщить("Не найден " + Объект + " поиск идет по наименованию и дате рождения");
Отказ = Истина;
СписокУдаляемыхПодразделений = Новый СписокЗначений();
Для Каждого СтрокаДанных Из мГлобальныйСтекНеЗаписанныхОбъектов Цикл
ТекОбъект = СтрокаДанных.Значение.Объект;
Если ТипЗнч(ТекОбъект) = Тип("СправочникОбъект.ФизическиеЛица") Тогда
СписокУдаляемыхПодразделений.Добавить(СтрокаДанных.Ключ);
НппСсылки = СтрокаДанных.Ключ;
ДобавитьСсылкуВСписокЗагруженныхОбъектов(0, НппСсылки, ТекОбъект.Ссылка);
КонецЕсли;
КонецЦикла;
Для Каждого Стр Из СписокУдаляемыхПодразделений Цикл
мГлобальныйСтекНеЗаписанныхОбъектов.Удалить(Стр.Значение);
КонецЦикла;
КонецЕсли;
Данный код анализирует список отложенных для записи объектов (именно оттуда и создаются элементы, когда они загружаются по ссылкам) и удаляет оттуда элементы нашего справочника.
Данный пример рассмотрен на основе конвертации справочника "Физические лица"
Возможно есть более оптимальные методы, буду рад их услышать.