В базе приемнике у справочника есть реквизит типа строка(12). В базе источник соответствующий реквизит типа строка(13). Как организовать такой поиск не по полному равенству а по равенству 12 символов.
Обработчики "Правила конвертации объектов"
При загрузке
Условия возникновения события
Только для платформы V8.
Событие выполняется после попытки идентификации. В случае успешной синхронизации доступен найденный объект. В противном случае его значение Неопределено. Можно произвести произвольную инициализацию, заполняемого данными объекта.
Объект - Произвольный. Загружаемый, модифицируемый объект, созданный по ссылке или найденный в информационной базе. Если способ идентификации объекта в файле не указан (т.е. отсутствует узел "Ссылка"), то параметр содержит значение Неопределено. В этом случае в обработчике возможна произвольная инициализация загружаемого объекта, в противном случае, объект будет создан автоматически.
(0) Есть такой вариант, правда по оптимальности, наверное, не самый лучший:
1. В настройках ПКО стоит галочка "Продолжить поиск по полям поиска, если по идентификатору не найден.."
2. В конвертации свойств этого ПКО стоит галочка "Поиск" напротив передаваемого реквизита (Назовем их "Передаваемый реквизит" и "ПолучаемыйРеквизит" соответственно).
3. В обработчике событий "Поля поиска" данного ПКО пишем код:
Если ЗначениеЗаполнено(СвойстваПоиска.Получить("ПолучаемыйРеквизит")) Тогда
КакПередаваемыйРеквизит = Лев(СвойстваПоиска.Получить("ПолучаемыйРеквизит"),12);
//Тут пишешь код получения ссылки на объект (код происходит на стороне базе приемника) по реквизиту (с помощью запроса или НайтиПоРеквизиту)
//Если ссылку на объект нашёл:
СсылкаНаОбъект = ТвояНайденнаяСсылка;
ПрекратитьПоиск = Истина;
//Иначе
СсылкаНаОбъект = Неопределено; //Будет создан новый объект
//КонецЕсли
Также тут можно организовать несколько вариантов поиска
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший