Имя: Пароль:
1C
1С v8
Конвертация данных. Поиск элемента по условию
0 VanoZZZ
 
07.08.17
11:40
Здравствуйте.
Есть задача при загрузке договоров искать договора по реквизитам "ВалютаВзаиморасчетов, ВидДоговора, Владелец, Организация, ЭтоГруппа", но есть договора у которых должен точно совпадать код договора. В конфигурации источнике добавил реквизит в справочник договоров "ПоискПоКодуПриОбменеДанными" тип булево, т.е. если поставили галку, что при обмене ищем строго по коду. В правилах конвертации на вкладке поля поиска написал следующее:
Если ЗначениеЗаполнено(СвойстваПоиска["ПоискПоКодуПриОбменеДанными"])Тогда
    Если СвойстваПоиска["ПоискПоКодуПриОбменеДанными"] Тогда
        СтрокаИменСвойствПоиска="Код, Владелец, ЭтоГруппа";
    Иначе
        СтрокаИменСвойствПоиска="ВалютаВзаиморасчетов, ВидДоговора, Владелец, Организация, ЭтоГруппа";    
    конецЕсли;
Иначе
    СтрокаИменСвойствПоиска="ВалютаВзаиморасчетов, ВидДоговора, Владелец, Организация, ЭтоГруппа";    
КонецЕсли;
При выгрузке реквизит договоров ПоискПоКодуПриОбменеДанными в файл с данными не выгружается (и в конфигурации приемнике такого реквизита нет), соответственно правило не срабатывает. Может вообще не по тому пути пошел. Подскажите, как можно менять параметры поиска объекта в зависимости от условий?
1 1dvd
 
07.08.17
11:41
Просто Код выгружается?
2 Aleksey
 
07.08.17
11:42
пиши признак в любой реквизит.
В крайнем случае при выгрузки заполняй код только у нужных, а у остальных очищай. И тогда если код задан, то ищем по коду
3 Ёпрст
 
07.08.17
11:45
(0)
пихай свой ПоискПоКодуПриОбменеДанными в обычный параметр.
Потом, в полях поиска заместо СвойстваПоиска["ПоискПоКодуПриОбменеДанными"]
пользуй ПараметрыОбъекта["ПоискПоКодуПриОбменеДанными"]

и усё.
4 Ёпрст
 
07.08.17
11:51
5 VanoZZZ
 
07.08.17
14:06
Ёпрст, огромное спасибо!!! Получилось
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший