Имя: Пароль:
1C
1С v8
условие в запросе
,
0 _barracuda_
 
17.10.17
18:29
Добрый вечер.Подскажите почему не отрабатывает запрос?хотя данные удовлетворяющие поиску есть.если убрать одно условие 2 и 3 то отрабатывает но надо оба:
    ТекстЗапроса =  
    "ВЫБРАТЬ
    |    ЗначенияСвойствОбъектов.Объект КАК Объект,
    |    ЗначенияСвойствОбъектов.Свойство КАК Свойство,
    |    ЗначенияСвойствОбъектов.Значение КАК Значение
    |ИЗ
    |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |ГДЕ      
    |    ТИПЗНАЧЕНИЯ(ЗначенияСвойствОбъектов.Объект)=Тип(Справочник.Контрагенты)
    |   И &УсловиеЗначениеМ
    |   И &УсловиеЗначениеОсн";
    ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеЗначениеМ",?(ЗначениеЗаполнено(ЗначениеМенеджер),"ЗначенияСвойствОбъектов.Значение в (&СписокЗначенийМ)","ИСТИНА"));
    ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеЗначениеОсн",?(ЗначениеЗаполнено(ЗначениеСвойствоОсновное),"ЗначенияСвойствОбъектов.Значение в (&СписокЗначенийОсн)","ИСТИНА"));
    Запрос=Новый Запрос;
    Запрос.Текст = ТекстЗапроса;
    Запрос.УстановитьПараметр("СписокЗначенийМ",ЗначениеМенеджер);
    Запрос.УстановитьПараметр("СписокЗначенийОсн",ЗначениеСвойствоОсновное);
1 azernot
 
17.10.17
18:34
Предположу, что ЗначениеМенеджер И ЗначениеСвойствоОсновное не являются ни списком ни массивом.
2 _barracuda_
 
17.10.17
18:34
(1)оба списки значений.запрос работает если убрать одно из условий 2 е или 3е
3 _barracuda_
 
17.10.17
18:35
если поставить ИЛИ то тоже работает но нужно чтобы искал оба одновременно
4 azernot
 
17.10.17
18:36
(2) Значит не выполняются оба условия одновременно. В списках ЗначениеМенеджер И ЗначениеСвойствоОсновное не содержится одинаковое значение.
5 lodger
 
17.10.17
18:37
костыль номер раз: перед запросом соедини оба списка в один. подавать одно условие.
6 lodger
 
17.10.17
18:38
вероятно списки расходятся (не включают одинаковых позиций).
7 _barracuda_
 
17.10.17
18:38
проверял на одном котнрагенте.у  него есть 2 свойства.на которых отлаживаю.
8 _barracuda_
 
17.10.17
18:38
понял ща попробую.
9 1dvd
 
17.10.17
18:41
(7) оно так не работает. Каждая строка результата должна попадать под оба условия
10 Ёпрст
 
18.10.17
08:03
(0)
объединить 2 запроса по разным условиям, затем сгруппировать результат, + условие на Количество(ссылка)>=2
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой