Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запрос, убрать NULL

Запрос, убрать NULL
Я
   bfss-732
 
11.06.21 - 09:06
Привет всем!
В запросе есть три колонки, с 30-ю строками, в каждой из которых есть значения. Так же очень много NULL. Как написать в УСЛОВИИ отбора(произвольное выражение), что вывести только те строки, из 3-х колонок, у которых   хоть в одной из колонке есть значение?
   acht
 
1 - 11.06.21 - 09:08
ГДЕ НЕ (Колонка1 ЕСТЬNULL И Колонка2 ЕСТЬNULL И НЕ Колонка3 ЕСТЬNULL)
   ДенисЧ
 
2 - 11.06.21 - 09:09
(1) У тебя Враг Рода пробелы отнял?
   Spieluhr
 
3 - 11.06.21 - 09:09
ГДЕ
Не Колонка1 Есть NULL И Не Колонка2 Есть NULL И Не Колонка3 Есть NULL
   acht
 
4 - 11.06.21 - 09:11
(2) Гм. действительно. Пойду повоюю/
   Малыш Джон
 
5 - 11.06.21 - 09:12
ГДЕ
   IN(Колонка1,Колонка2,Колонка3) Есть ZNACHENIE
   fisher
 
6 - 11.06.21 - 09:13
(3) Только ИЛИ вместо И
   bfss-732
 
7 - 11.06.21 - 09:13
ГДЕ
Не Выбор....
Ругается что ВЫБОР
   МимохожийОднако
 
8 - 11.06.21 - 09:15
Кидай сюда всё что нашКодил. Кофе для гадания кончается
   fisher
 
9 - 11.06.21 - 09:16
Короче, правильный ответ был в (1), только пробелов не хватило и зачем-то НЕ для Колонка3. Описка, похоже.
   bfss-732
 
10 - 11.06.21 - 09:16
ВЫБРАТЬ
    ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
    ХозрасчетныйДвиженияССубконто.СубконтоДт2 КАК СубконтоДт2,
    ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт,
    ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1,
    ХозрасчетныйДвиженияССубконто.ПодразделениеДт КАК ПодразделениеДт,
    СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма,
    НАЧАЛОПЕРИОДА(ХозрасчетныйДвиженияССубконто.Период, МЕСЯЦ) КАК Период,
    ВЫБОР
        КОГДА ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство)
            ТОГДА "20 ПРЯМЫЕ РАСХОДЫ"
        ИНАЧЕ ВЫБОР
                КОГДА ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОбщепроизводственныеРасходы)
                    ТОГДА "25 КОСВЕННЫЕ РАСХОДЫ(ОПР)"
                ИНАЧЕ ВЫБОР
                        КОГДА ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОбщехозяйственныеРасходы)
                            ТОГДА "26 КОСВЕННЫЕ РАСХОДЫ(ОХР)"
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК ВИД,
    ХозрасчетныйДвиженияССубконто.Организация КАК Организация,
    ВЫБОР
        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2РезервыОтпускаВознаграждения)
                И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Квар)
            ТОГДА "Квартальные бонусы"
        ИНАЧЕ ВЫБОР
                КОГДА ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96013)
                        И ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                        И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Квар)
                    ТОГДА "Квартальные бонусы Страховые"
                ИНАЧЕ ВЫБОР
                        КОГДА ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96013)
                                И ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                                И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Год)
                            ТОГДА "Годовые бонусы Страховые взносы"
                        ИНАЧЕ ВЫБОР
                                КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыКромеНСиПЗ)
                                        И ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                                        И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96013)
                                    ТОГДА "Страховые взносы с основной и дополнительной ЗП"
                                ИНАЧЕ ВЫБОР
                                        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2РезервыОтпускаВознаграждения)
                                                И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Год)
                                            ТОГДА "Годовые бонусы"
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК ПрочиеВыплаты,
    ВЫБОР
        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ОсновнаяЗаработнаяПлата)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт70)
                ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96012)
                ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2РезервыОтпускаВознаграждения)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96011)
                ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96013)
                    И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Квар)
                ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт96013)
                    И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Год)
            ТОГДА "ОКЛАД"
    КОНЕЦ КАК ОКЛАД,
    ВЫБОР
        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыКромеНСиПЗ)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт)
                ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыПоНСиПЗ)
                    И ХозрасчетныйДвиженияССубконто.СчетКт В ИЕРАРХИИ (&СчетКт)
            ТОГДА "Страховые взносы с основной и дополнительной ЗП"
    КОНЕЦ КАК СтрахВзонсСОсновнИДополЗП
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
            &НП,
            &КП,
            СчетДт В (&СчетДт)
                И ПодразделениеДт В (&ПодразделениеДт)
                И Организация В (&Организация),
            ,
            ) КАК ХозрасчетныйДвиженияССубконто

СГРУППИРОВАТЬ ПО
    ХозрасчетныйДвиженияССубконто.СчетДт,
    ХозрасчетныйДвиженияССубконто.СубконтоДт2,
    ХозрасчетныйДвиженияССубконто.СчетКт,
    ХозрасчетныйДвиженияССубконто.СубконтоКт1,
    ХозрасчетныйДвиженияССубконто.ПодразделениеДт,
    НАЧАЛОПЕРИОДА(ХозрасчетныйДвиженияССубконто.Период, МЕСЯЦ),
    ВЫБОР
        КОГДА ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство)
            ТОГДА "20 ПРЯМЫЕ РАСХОДЫ"
        ИНАЧЕ ВЫБОР
                КОГДА ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОбщепроизводственныеРасходы)
                    ТОГДА "25 КОСВЕННЫЕ РАСХОДЫ(ОПР)"
                ИНАЧЕ ВЫБОР
                        КОГДА ХозрасчетныйДвиженияССубконто.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОбщехозяйственныеРасходы)
                            ТОГДА "26 КОСВЕННЫЕ РАСХОДЫ(ОХР)"
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ,
    ХозрасчетныйДвиженияССубконто.Организация

УПОРЯДОЧИТЬ ПО
    ВИД
   bfss-732
 
11 - 11.06.21 - 09:17
Надо убрать где вся строка в  NULL  с колонок "СтрахВзонсСОсновнИДополЗП", "ОКЛАД", "ПрочиеВыплаты".
   Spieluhr
 
12 - 11.06.21 - 09:20
(6) Да, точно, надо ИЛИ
ГДЕ
Не Колонка1 Есть NULL Или Не Колонка2 Есть NULL Или Не Колонка3 Есть NULL
   acht
 
13 - 11.06.21 - 09:20
(11) СтрахВзонс...
   МимохожийОднако
 
14 - 11.06.21 - 09:21
(11) Ну так вставь конструкцию ГДЕ
   bfss-732
 
15 - 11.06.21 - 09:22
(13) исправлю))
   bfss-732
 
16 - 11.06.21 - 09:23
(14) Где?
   bfss-732
 
17 - 11.06.21 - 09:24
сразу в произвольном выражении?
   МимохожийОднако
 
18 - 11.06.21 - 09:25
(17) Если трудно воткнуть в простыню, то используй временную таблицу и во втором запросе добавь это условие
   МимохожийОднако
 
19 - 11.06.21 - 09:25
(17) ..в произвольном выражении
   bfss-732
 
20 - 11.06.21 - 09:32
СПАСИБО БРАТЬЯ!!!! Получилось
   bfss-732
 
21 - 11.06.21 - 09:33
////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВременнаяТаблица.СчетДт КАК СчетДт,
    ВременнаяТаблица.СубконтоДт2 КАК СубконтоДт2,
    ВременнаяТаблица.СчетКт КАК СчетКт,
    ВременнаяТаблица.СубконтоКт1 КАК СубконтоКт1,
    ВременнаяТаблица.ПодразделениеДт КАК ПодразделениеДт,
    ВременнаяТаблица.Сумма КАК Сумма,
    ВременнаяТаблица.Период КАК Период,
    ВременнаяТаблица.ВИД КАК ВИД,
    ВременнаяТаблица.Организация КАК Организация,
    ВременнаяТаблица.ПрочиеВыплаты КАК ПрочиеВыплаты,
    ВременнаяТаблица.ОКЛАД КАК ОКЛАД,
    ВременнаяТаблица.СтрахВзонсСОсновнИДополЗП КАК СтрахВзонсСОсновнИДополЗП
ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица
ГДЕ
    НЕ ВременнаяТаблица.ПрочиеВыплаты ЕСТЬ NULL
            ИЛИ НЕ ВременнаяТаблица.ОКЛАД ЕСТЬ NULL
            ИЛИ НЕ ВременнаяТаблица.СтрахВзонсСОсновнИДополЗП ЕСТЬ NULL
   bfss-732
 
22 - 11.06.21 - 09:33
(18) Отдельное спасибо!


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.