|   |   | 
| 
 | Борьба с пустой строкой с значением NULL в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        bfss-732 24.01.24✎ 10:23 | 
        Внизу запрос, который выводит две строки, одна с нужным значением (Сумма из регистра накопления), а ниже пустая строка с значением NULL. Вроде к отборе проверка на ЕСТЬ NULL делаю, все равно выводится пустая строка. Как убрать её? 
 ...ТОГДА НЕ ПрочиеРасходы.Сумма ЕСТЬ NULL... тоже делал, не помогает. p.s. Не спрашивайте почему не делаю запрос к виртуальным таблицам - так надо. ВЫБРАТЬ ВЫБОР КОГДА ПрочиеРасходы.Подразделение В (&ПодразделениеМытКон) И ПрочиеРасходы.СтатьяРасходов В (&СтатьяРасходовОсновнаяЗаработнаяПлата) И ПрочиеРасходы.НастройкаХозяйственнойОперации В (&НастройкаХозяйственнойОперацииОтражЗарабПлат) ТОГДА ПрочиеРасходы.Сумма КОНЕЦ КАК РаспределениеНа20Счет ИЗ РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы ГДЕ ПрочиеРасходы.Период = &Период И НЕ ПрочиеРасходы.Сумма ЕСТЬ NULL СГРУППИРОВАТЬ ПО ВЫБОР КОГДА ПрочиеРасходы.Подразделение В (&ПодразделениеМытКон) И ПрочиеРасходы.СтатьяРасходов В (&СтатьяРасходовОсновнаяЗаработнаяПлата) И ПрочиеРасходы.НастройкаХозяйственнойОперации В (&НастройкаХозяйственнойОперацииОтражЗарабПлат) ТОГДА ПрочиеРасходы.Сумма КОНЕЦ | |||
| 1
    
        SleepyHead 24.01.24✎ 10:24 | 
        Не хватает секции ИНАЧЕ в конструкции ВЫБОР     | |||
| 2
    
        bfss-732 24.01.24✎ 10:26 | 
        (1) так ИНАЧЕ надо если есть еще условие, а у меня нет     | |||
| 3
    
        SleepyHead 24.01.24✎ 10:27 | 
        (2) а у тебя что должно быть вместо ПрочиеРасходы.Сумма, если не  выполняется условие после КОГДА ?     | |||
| 4
    
        bfss-732 24.01.24✎ 10:27 | 
        (3) кажется понимаю и туда воткнуть проверку на NULL?     | |||
| 5
    
        SleepyHead 24.01.24✎ 10:30 | 
        (4) а что ты там будешь сравнивать с NULL?
 Какой я нетерпеливый. Ладно, сдаюсь. Считаю, что если условие после КОГДА не выполняется, должен быть 0 ВЫБОР КОГДА условие ТОгда Прочиерасходы.Сумма Иначе 0 КОНЕЦ А у тебя NULL получается именно потому, что условие не выполняется. А что должно быть в этом случае - не прописано. | |||
| 6
    
        bfss-732 24.01.24✎ 10:31 | 
        (5) Если после ИНАЧЕ 0 ставлю, запрос не выполняется
 "Неизвестный идентификатор формы" | |||
| 7
    
        bfss-732 24.01.24✎ 10:35 | 
        (6) Консоль типовая глючила, на другой все нормально, НО строка осталась с 0.     | |||
| 8
    
        asady 24.01.24✎ 10:48 | 
        ВЫБРАТЬ
 ПрочиеРасходы.Сумма КАК РаспределениеНа20Счет ИЗ РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы ГДЕ ПрочиеРасходы.Период = &Период И ПрочиеРасходы.Подразделение В (&ПодразделениеМытКон) И ПрочиеРасходы.СтатьяРасходов В (&СтатьяРасходовОсновнаяЗаработнаяПлата) И ПрочиеРасходы.НастройкаХозяйственнойОперации В (&НастройкаХозяйственнойОперацииОтражЗарабПлат) | |||
| 9
    
        bfss-732 24.01.24✎ 10:48 | 
        Все, вопрос закрыт. 
 Сделал через временную таблицу без ИНАЧЕ. Спасибо!!! | |||
| 10
    
        bfss-732 24.01.24✎ 10:50 | 
        (8) Кстати тоже отличный вариант, но не для меня. У меня огромный будет запрос, и такая схема не подойдёт.
 Самое плохое что не все есть суммы в виртуальны таблицах рег Накоплен, а вот если брать физическую, то все. | |||
| 11
    
        Dmitrii 24.01.24✎ 10:52 | 
        (0) перенеси условие из конструкции ВЫБОР в условие ГДЕ.
 
 | |||
| 12
    
        Dmitrii 24.01.24✎ 10:56 | 
        (7) >> строка осталась с 0.
 Конечно она останется. Куда бы ей деться? Надо либо суммировать СУММА(ПрочиеРасходы.Сумма), либо условие ставить в ГДЕ, чтобы строк с 0 не осталось. | |||
| 13
    
        bfss-732 24.01.24✎ 10:56 | 
        (11) Спасибо!
 Но у меня будет 12 колонок с разными условиями и разными параметрами. Я только одну колонку вывел, это начало. Ваш вариант точно не подойдет. | |||
| 14
    
        bfss-732 24.01.24✎ 10:57 | 
        (12) Сумма не подойдёт, только группировка.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |