|
Что не так делаю с запросом | ☑ | ||
---|---|---|---|---|
0
aptomilov
07.06.23
✎
13:37
|
Задача выбрать движения за день из регистра но вывести нужно все кассы
так как по какой то кассе может и не быть движений я вывожу через левое соединение но почему то он не выводить кассы все из справочника что не так делаю ? ВЫБРАТЬ | ДвиженияДенежныхСредств.Регистратор КАК Док, | ДвиженияДенежныхСредств.Сумма, | ДвиженияДенежныхСредств.ПриходРасход, | ДвиженияДенежныхСредств.СтатьяДвиженияДенежныхСредств КАК Статья, | ДвиженияДенежныхСредств.Регистратор.Комментарий КАК Коммент, | ДвиженияДенежныхСредств.БанковскийСчетКасса КАК КассаРег, | Кассы.Ссылка КАК Касса |ИЗ | Справочник.Кассы КАК Кассы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств | ПО Кассы.Ссылка = ДвиженияДенежныхСредств.БанковскийСчетКасса |ГДЕ | ДвиженияДенежныхСредств.Период МЕЖДУ &ДатаНач И &ДатаКон | |УПОРЯДОЧИТЬ ПО | Касса |
|||
1
Волшебник
07.06.23
✎
13:38
|
условие ГДЕ фильтрует кассы, где нет движений
|
|||
2
Мультук
07.06.23
✎
13:42
|
(0)
ВЫБРАТЬ | ДвиженияДенежныхСредств.Регистратор КАК Док, | ДвиженияДенежныхСредств.Сумма, | ДвиженияДенежныхСредств.ПриходРасход, | ДвиженияДенежныхСредств.СтатьяДвиженияДенежныхСредств КАК Статья, | ДвиженияДенежныхСредств.Регистратор.Комментарий КАК Коммент, | ДвиженияДенежныхСредств.БанковскийСчетКасса КАК КассаРег, | Кассы.Ссылка КАК Касса |ИЗ | Справочник.Кассы КАК Кассы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств | ПО Кассы.Ссылка = ДвиженияДенежныхСредств.БанковскийСчетКасса | И ДвиженияДенежныхСредств.Период МЕЖДУ &ДатаНач И &ДатаКон | |УПОРЯДОЧИТЬ ПО | Касса |
|||
3
aptomilov
07.06.23
✎
13:44
|
ээээ а можете пояснить почему так должно работать а как у меня нет ))
|
|||
4
Смотрящий
07.06.23
✎
13:57
|
(3) ГДЕ накладывается ПОСЛЕ выборки данных. там где нет движений по регистру там NULL в датах.
вот NULL в условия МЕЖДУ и не пролазит |
|||
5
Мультук
07.06.23
✎
13:58
|
(3)
Потому что так работает SQL. Наверное стоит прочитать/освежить в голове Грабера "Введение в SQL" В вашем случае На этапе соединения Касса Период Касса1 06.06.2023 Касса2 06.06.2023 Касса3 NULL Затем вы накладываете ГДЕ и касса 3 при проверке Период отфильтровывается Условие NULL ДвиженияДенежныхСредств.Период МЕЖДУ &ДатаНач И &ДатаКон получается ЛОЖЬ |
|||
6
Eskeych
07.06.23
✎
14:01
|
нужно выбрать справочник и к нему левым соединением вязать документы или записи регистра и тогда покажет по всем кассам, а так он выведет только те, по которым были движения. Ну и период еще стоит в отборе, может быть в него не все кассы попали
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |