|
Поля поиска в КД2 и параметр с флагом поиска | ☑ | ||
---|---|---|---|---|
0
zippygrill
29.04.19
✎
10:49
|
Всем привет!
Хочу настроить поля поиска справочника Номенклатура исходя из такой ситуации: Код источника мне не нужен, т.е. на стороне приемника будет свой код и поэтому такой ПКС у меня нет (к сожалению в источнике справочник с префиксом, а в приемнике (УПП), без и ломается нумерация справочника), но для старых позиций, нужен поиск как раз по коду. В справке по КД написано что для новых объектов, значения из СвойствахОбъекта будут использоваться для заполнения. Если передать Источник.Код в параметр "Пар_Код" и установить флаг поиска, в событии ПоляПоиска сработает что-то подобное (см. условие Иначе)? Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = "Артикул, Наименование"; ИначеЕсли НомерВариантаПоиска = 2 тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "Пар_Код"; //Вот здесь будет имя моего параметра КонецЕсли; Т.е. мне сначала по ИД искать надо(флаг Искать по ИД в ПКО стоит), потом Артикул+Наименование, потом Наименованию, потом Код. |
|||
1
zippygrill
29.04.19
✎
11:12
|
апну
|
|||
2
Вафель
29.04.19
✎
11:17
|
где будет храниться значение Пар_Код?
или ты хранить не хочешь, но искать по нему хочешь? |
|||
3
zippygrill
29.04.19
✎
11:25
|
(2) как где - в параметре
|
|||
4
Вафель
29.04.19
✎
11:25
|
В базе приемнике где
|
|||
5
alexshape
29.04.19
✎
11:30
|
в разделе иначе, запили свой запрос по базе, типа найти в справочнике номенклатура где код равен твоему параметру, и запиши в переменную "СсылкаНаОбъект", наведенный элемент. Ну и для надежности можешь еще "ПрекратитьПоиск" установить в истину, (хотя необязательно)
|
|||
6
zippygrill
29.04.19
✎
11:36
|
(5) Кстати да, можно применить такой вариант в Если
|
|||
7
zippygrill
29.04.19
✎
11:39
|
(5) А ПрекратитьПоиск вне конструкции Если Иначе КонецЕсли или в ветку Если?
|
|||
8
alexshape
29.04.19
✎
11:40
|
(7) что значит в ветку если? так ты имеешь ввиду?
Если ПрекратитьПоиск тогда и т.д? |
|||
9
zippygrill
29.04.19
✎
11:44
|
(8) Пока так.
Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = "Артикул, Наименование"; ИначеЕсли НомерВариантаПоиска = 2 тогда СтрокаИменСвойствПоиска = "КодPDM"; ИначеЕсли НомерВариантаПоиска = 3 тогда СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; Иначе СсылкаНаОбъект = Справочники.Номенклатура.НайтиПоКоду(ПараметрыОбъекта.Получить("Пар_Код")); КонецЕсли; ПрекратитьПоиск = Истина; |
|||
10
alexshape
29.04.19
✎
11:47
|
(9) если ты засунешь ПрекратитьПоиск вне конструкции если, то у тебя уже после первого выполнения программа больше не будет пытаться искать элемент, и НомерВариантаПоиска = 2 ты не увидишь.
Из справки: ПрекратитьПоиск - булево. Если Истина, то поиск объекта прекращается, в зависимости от того СсылкаНаОбъект заполнена или нет создается новый объект. |
|||
11
zippygrill
29.04.19
✎
12:43
|
(10) Да, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |