Есть два ПКО справочника номенклатуры. В первом использую алгоритм поиска. (обработчик "Поля поиска").
Во втором не использую.
В ПКС документа указываю второй ПКО номенклатуры (без алгоритма поиска). Но при поиске отрабатывает алгоритм первого ПКО.
Отладчиком удалось нарыть следующее:
Функция НайтиОбъектПоСсылке
Получается в нее не передается ИмяПКО.
Оно получается из атрибута объекта
ИмяПКО = одАтрибут(ФайлОбмена, одТипСтрока, "ИмяПКО");
Глянул файл обмена - там про ИмяПКО ничего:
<Свойство Имя="Номенклатура" Тип="СправочникСсылка.Номенклатура"><Ссылка Нпп="32" НеСоздаватьЕслиНеНайден="true">
<Свойство Имя="КодУТ11" Тип="Строка">
<Значение>00-00000567</Значение>
</Свойство>
</Ссылка>
</Свойство>
Т.е. атрибут не заполняется при выгрузке. Хотя в ПКС указал нужное ПКО. Более того даже ИмяПКО явно прописал.
Ну вот теперь теперь точно разобрался. Если приходится использовать обработчик "Поля поиска", то в нем необходимо предусмотреть обработку для всех ПКО с таким же типом загружаемых данных.
Другими словами на один тип работает один алгоритм поиска.
Хотя из интерфейса может показаться (как мне и показалось) что алгоритм поиска связан с ПКО.