Написать условие поиска в Конвертации данных 2.0

1. user-z99999 78 14.02.20 11:28 Сейчас в теме
Поиск Контрагента.
ИНН и КПП могут быть пустые, поэтому это нужно учитывать.
ИНН может быть заполнено, а КПП пустое
Поле Наименование - может быть пустое.

Написал так, подскажите может где есть ошибки?
Если НомерВариантаПоиска = 1 Тогда
    Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) И ЗначениеЗаполнено(СвойстваПоиска["КПП"]) Тогда
            СтрокаИменСвойствПоиска = "ИНН, КПП";
            
    ИначеЕсли ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) И НЕ ЗначениеЗаполнено(СвойстваПоиска["КПП"]) Тогда
            СтрокаИменСвойствПоиска = "ИНН";            

    ИначеЕсли ЗначениеЗаполнено(СвойстваПоиска["Наименование"]) Тогда
            СтрокаИменСвойствПоиска = "Наименование";
    КонецЕсли; 
        
ИначеЕсли НомерВариантаПоиска = 2 Тогда    
    
    Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) И НЕ ЗначениеЗаполнено(СвойстваПоиска["КПП"]) Тогда
            СтрокаИменСвойствПоиска = "ИНН";            

    ИначеЕсли ЗначениеЗаполнено(СвойстваПоиска["Наименование"]) Тогда
            СтрокаИменСвойствПоиска = "Наименование";
    КонецЕсли; 
        
ИначеЕсли НомерВариантаПоиска = 3 Тогда    
    
    Если ЗначениеЗаполнено(СвойстваПоиска["Наименование"]) Тогда
            СтрокаИменСвойствПоиска = "Наименование";
    КонецЕсли; 
КонецЕсли;


Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Kovekh 17.02.20 08:53 Сейчас в теме
(1)По идее, нормальное условие поиска. Хотя и кажется, что в первой итерации уже должен найти, но зная КД2 лучше реально подстраховаться как Вы) Лично я могу сказать, что всё ок. Но надо проверять всё же на тестах. У вас может где-нибудь пожаловаться, что нельзя проверить на ЗначениеЗаполнено мутабельных значений. Потому что, вроде как, если оно не заполнено, там может быть не пустая строка, а NULL. Ловил просто что-то подобное при проверке заполненности
5. RustamZz 17.02.20 09:11 Сейчас в теме
(1) Варианты поиска повторяются, в этом нет смысла, но есть опасность, что сопоставятся контрагенты с разными ИНН/КПП и одинаковым Наименованием. Нужно оставить только первый.
2. karamazoff 124 15.02.20 10:40 Сейчас в теме
непонятно, что такое НомерВариантаПоиска и каким образом он будет передаваться, можно все варианты перебрать через иначеЕсли, мне кажется вот так будет достаточно
Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) И ЗначениеЗаполнено(СвойстваПоиска["КПП"]) Тогда
СтрокаИменСвойствПоиска = "ИНН, КПП";

ИначеЕсли ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) И НЕ ЗначениеЗаполнено(СвойстваПоиска["КПП"]) Тогда
СтрокаИменСвойствПоиска = "ИНН";

ИначеЕсли ЗначениеЗаполнено(СвойстваПоиска["Наименование"]) и НЕ ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
СтрокаИменСвойствПоиска = "Наименование";
КонецЕсли;
3. Kovekh 17.02.20 08:49 Сейчас в теме
(2)
Если вам непонятно, что такое НомерВариантаПоиска, то, думаю, не стоит отвечать на вопросы по КД2)
lefthander; +1 Ответить
6. karamazoff 124 17.02.20 10:05 Сейчас в теме
(3)каюсь, посмотрел что это за параметр, кд2 использую давно, но этим параметром никогда не пользовался...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот