|   |   | 
| 
 | Что не так делаю с запросом | ☑ | ||
|---|---|---|---|---|
| 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 | 
        нужно выбрать справочник и к нему левым соединением вязать документы или записи регистра и тогда покажет по всем кассам, а так он выведет только те, по которым были движения. Ну и период еще стоит в отборе, может быть в него не все кассы попали     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |