Имя: Пароль:
1C
 
КонвертацияДанных, ПКО, Поиск по 1 Источник 2 Приемника
0 brznzglwgn
 
29.09.16
14:38
Добрый день!

Есть ПКО для справочника Номенклатура.
Требуется реализовать следующее -
Поиск по Код - Код.
Если не найдено, то делать поиск по Код - Наименование.

Самый близкий вариант это использовать СтрокаИменСвойствПоиска, то туда вписываются варианты Имен поиска в Источнике. А мне нужно регулировать по именам в Приемнике.

Как реализовать подобное?
1 brznzglwgn
 
29.09.16
14:40
Если бы поле источника менялось, то было бы
Если НомерВариантаПоиска = 1 тогда
     СтрокаИменСвойствПоиска = "Наименование";
Иначе
     СтрокаИменСвойствПоиска = "Код";
КонецЕсли;

Но мне нужно регулировать по поиска в Приемнике(!)
2 DailyLookingOnA Sunse
 
29.09.16
14:54
Ищи разными запросами по номерам варианта поиска, устанавливай СсылкаНаОбъект.
3 brznzglwgn
 
29.09.16
14:58
(2) Да, я выше привел пример.
Но у меня проблема - в НомерВариантаПоиска строки я не могу различить
Если НомерВариантаПоиска = 1 тогда
     СтрокаИменСвойствПоиска = "Код"; // который ищется в поле КОД источника
Иначе
     СтрокаИменСвойствПоиска = "Код"; // который ищется в поле НАИМЕНОВАНИЕ источника
КонецЕсли;
4 brznzglwgn
 
29.09.16
15:00
(3) ошибся!
*** источника читать как приемника
5 mistеr
 
29.09.16
15:08
(4) Тогда (2), самому нужно искать.
6 DailyLookingOnA Sunse
 
29.09.16
15:41
Ну что непонятного?

Если НомерВариантаПоиска = 1 тогда
     Запрос = Новый Запрос("Выбрать * ИЗ ТраЛяля ГДЕ Код = &Код")
     Запрос.УстановитьПараметр("Код",ПоляПоиска["Код"]);
     Выборка = Запрос.Выполнить().Выбрать();
     Выборка.Следующий().
     СсылкаНАОбъект = Выборка.Ссылка;
Иначе
     Запрос = Новый Запрос("Выбрать * ИЗ ТраЛяля ГДЕ НАИМЕНОВАНИЕ!!! = &Код")
     Запрос.УстановитьПараметр("Код",ПоляПоиска["Код"]);
     Выборка = Запрос.Выполнить().Выбрать();
     Выборка.Следующий().
     СсылкаНАОбъект = Выборка.Ссылка;
КонецЕсли;


А код в наименование можно записать в обработки "ПослеЗаписи", используя параметр и т.п.
7 brznzglwgn
 
29.09.16
16:10
(6) Спасибо, идею понял.
Сделаю так.