Имя: Пароль:
1C
1С v8
Некорректное выполнение запроса в СКД
,
0 BlackJack
 
11.02.22
16:16
Может кто-нибудь пояснить какого лешего в СКД в результат попадают неоплаченные заказы? В консоли запросов работает корректно.

ВЫБРАТЬ
    Заказы.Ссылка КАК Ссылка,
    СУММА(РасчетыСКлиентамиОбороты.СуммаРасход) КАК СуммаОплаты
ИЗ
    Заказы КАК Заказы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Обороты КАК РасчетыСКлиентамиОбороты
        ПО Заказы.Ссылка = РасчетыСКлиентамиОбороты.ЗаказКлиента
1 toypaul
 
гуру
11.02.22
16:25
2 toypaul
 
гуру
11.02.22
16:27
сумма оплаты есть в выбранных полях? по идее такое соединение не должно выбрасываться, но кто его знает ...
3 НЕА123
 
11.02.22
16:36
может есть с нулевыми суммами
...
> ПО Заказы.Ссылка = РасчетыСКлиентамиОбороты.ЗаказКлиента
И РасчетыСКлиентамиОбороты.СуммаРасход<>0
...
4 BlackJack
 
11.02.22
16:39
(2) Нет. Что тут можно выкинуть?
5 BlackJack
 
11.02.22
16:40
(3) Точно нет. В регистре только одна приходная запись самого заказа.
6 BlackJack
 
11.02.22
16:41
Вообще помогло добавление ИМЕЮЩИЕ СУММА(РасчетыСКлиентамиОбороты.СуммаРасход)>0, но это не объясняет, какого лешего СКД мне парило мозг. Бесит.
7 BlackJack
 
11.02.22
16:41
Кажется, начало доходить.
8 BlackJack
 
11.02.22
16:49
"СУММА(РасчетыСКлиентамиОбороты.СуммаРасход)" это всё-таки не условие. Записи в таблице регистра были, поэтому выборка была непустая, просто сумма нулевая.
Нет, тогда бы и в консоли запросов также работало бы. Значит, всё-таки СКД воду мутит.
9 НЕА123
 
11.02.22
17:36
(8)
>Значит, всё-таки СКД воду мутит.
хз. почему по-разному. NULL = 0 или NULL <> 0.
10 pechkin
 
11.02.22
17:40
(9) оба ложь
11 НЕА123
 
11.02.22
17:49
(10)
да. но почему-то, как этом сабже - то отбрасывают, то оставляют запись с 0.