День добрый. Столкнулся недавно с непонятным поведением запроса (может что-то упускаю). При соединении с таблицей в конструкции ВЫБОР КОГДА ТОГДА КОНЕЦ второе условие (ИЛИ СпецификацииНоменклатуры.ВидСпецификации = ЗНАЧЕНИЕ(Перечисление.ВидыСпецификаций.Сырье)) не отрабатывает. Если оставляю один какой-то из операндов условия, то оно срабатывает как нужно, но при добавлении ИЛИ отрабатывает только первая его часть. Может у кого есть идеи?
ЛЕВОЕ СОЕДИНЕНИЕ СпецификацииНоменклатуры КАК СпецификацииНоменклатуры
ПО ЗаказыНаПроизводство.Номенклатура = СпецификацииНоменклатуры.Номенклатура
И (ВЫБОР
КОГДА ЗаказыНаПроизводство.Оформление <> &Строк
ТОГДА СпецификацииНоменклатуры.Оформление = ЗаказыНаПроизводство.Оформление
ИЛИ СпецификацииНоменклатуры.ВидСпецификации = ЗНАЧЕНИЕ(Перечисление.ВидыСпецификаций.Сырье)
ИНАЧЕ СпецификацииНоменклатуры.ВидСпецификации = ЗНАЧЕНИЕ(Перечисление.ВидыСпецификаций.Сборочная)
КОНЕЦ)
(4) В результате если первое ложь, то второе не вычисляется, потому что есть записи соответствующие обеим частям условиям, а выводятся только соответствующие первой его части.
Независимо от того, куда вы едете — это в гору и против ветра!