|
(КД) ПКО использует "чужой" алгоритм поиска. Как объяснить чтобы не использовал? |
☑ |
0
DIvanmgn
26.06.15
✎
08:42
|
Есть два ПКО справочника номенклатуры. В первом использую алгоритм поиска. (обработчик "Поля поиска").
Во втором не использую.
В ПКС документа указываю второй ПКО номенклатуры (без алгоритма поиска). Но при поиске отрабатывает алгоритм первого ПКО.
Отладчиком удалось нарыть следующее:
Функция НайтиОбъектПоСсылке
Если Не ПустаяСтрока(ИмяПКО) Тогда
ПКО = Правила[ИмяПКО];
КонецЕсли;
Если ПКО = Неопределено Тогда
ПКО = ОпределитьПоТипуОбъектаПриемникаПравилоКонвертацииКотороеСодержитАлгоритмПоиска(СтруктураСвойств.ТипСсылкиСтрокой);
КонецЕсли;
Если ПКО <> Неопределено Тогда
АлгоритмПоиска = ПКО.ПоследовательностьПолейПоиска;
КонецЕсли;
Получается в нее не передается ИмяПКО.
Оно получается из атрибута объекта
ИмяПКО = одАтрибут(ФайлОбмена, одТипСтрока, "ИмяПКО");
Глянул файл обмена - там про ИмяПКО ничего:
<Свойство Имя="Номенклатура" Тип="СправочникСсылка.Номенклатура"><Ссылка Нпп="32" НеСоздаватьЕслиНеНайден="true">
<Свойство Имя="КодУТ11" Тип="Строка">
<Значение>00-00000567</Значение>
</Свойство>
</Ссылка>
</Свойство>
Т.е. атрибут не заполняется при выгрузке. Хотя в ПКС указал нужное ПКО. Более того даже ИмяПКО явно прописал.
Помогите, пожалуйста, разобраться.
|
|
1
DIvanmgn
26.06.15
✎
09:36
|
Кажется разобрался. Если хотя бы раз заполнен обработчик "Поля поиска", то для корректной обработки его нужно заполнять для всех ПКО этого типа.
|
|
2
DIvanmgn
26.06.15
✎
11:39
|
Ну вот теперь теперь точно разобрался. Если приходится использовать обработчик "Поля поиска", то в нем необходимо предусмотреть обработку для всех ПКО с таким же типом загружаемых данных.
Другими словами на один тип работает один алгоритм поиска.
Хотя из интерфейса может показаться (как мне и показалось) что алгоритм поиска связан с ПКО.
|
|
3
Гёдза
26.06.15
✎
11:44
|
правило поля поиска должно быть одно на искомый тип. если их несколько то будет браться случайное
|
|
4
Гёдза
26.06.15
✎
11:44
|
Это ограничение КД
|
|
5
Cyberhawk
26.06.15
✎
14:15
|
(2) и что делать - размножать код на все обработчики ПКО с одинаковыми типами приемников?
|
|