Имя: Пароль:
1C
1С v8
Условие в запросе удаляет лишние строки
0 prilforreal
 
19.09.17
16:05
Доброго дня всем форумчанам! 1С8.3, конфигурация самописная, в запросе задаю условие, ВложенныйЗапрос.Склад.Наименование <> "Офис Волгодонск", но помимо этих строк из макета улетают и все пустые строки, подскажите, как исправить?

Текст запрса:
Запрос.Текст="ВЫБРАТЬ
                 |    СостояниеПотолковОстатки.Код КАК Код,
                 |    СостояниеПотолковОстатки.Состояние КАК Состояние,
                 |    СостояниеПотолковОстатки.Контрагент КАК Контрагент,
                 |    СостояниеПотолковОстатки.Материал КАК Материал,
                 |    СостояниеПотолковОстатки.Площадь КАК Площадь,
                 |    СУММА(СостояниеПотолковОстатки.КоличествоОстаток) КАК КоличествоОстаток
                 |ПОМЕСТИТЬ СостоянияПотолков
                 |ИЗ
                 |    РегистрНакопления.СостояниеПотолков.Остатки(, Контрагент В (&Дилер)) КАК СостояниеПотолковОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    СостояниеПотолковОстатки.Контрагент,
                 |    СостояниеПотолковОстатки.Код,
                 |    СостояниеПотолковОстатки.Материал,
                 |    СостояниеПотолковОстатки.Площадь,
                 |    СостояниеПотолковОстатки.Состояние
                 |;
                 |
                 |////////////////////////////////////////////////////////////////////////////////
                 |ВЫБРАТЬ
                 |    ВложенныйЗапрос.Код,
                 |    ВложенныйЗапрос.Состояние,
                 |    ВложенныйЗапрос.Контрагент,
                 |    ВложенныйЗапрос.Материал,
                 |    ВложенныйЗапрос.Площадь,
                 |    ВложенныйЗапрос.КоличествоОстаток КАК КоличествоКонОст,
                 |    ВложенныйЗапрос.Документ,
                 |    ВложенныйЗапрос.Документ.Дата КАК ТДДатаДок,
                 |    ВложенныйЗапрос.Склад,
                 |    ВложенныйЗапрос.Ячейка
                 |ИЗ
                 |    (ВЫБРАТЬ
                 |        СостоянияПотолков.Код КАК Код,
                 |        СостоянияПотолков.Состояние КАК Состояние,
                 |        СостоянияПотолков.Контрагент КАК Контрагент,
                 |        СостоянияПотолков.Материал КАК Материал,
                 |        СостоянияПотолков.Площадь КАК Площадь,
                 |        МАКСИМУМ(СостоянияПотолков.КоличествоОстаток) КАК КоличествоОстаток,
                 |        ЕСТЬNULL(СостояниеПотолковОбороты.Регистратор, ЗНАЧЕНИЕ(Документ.ИзмСостоянияПотолка.ПустаяСсылка)) КАК Документ,
                 |        ЕСТЬNULL(ТоварыОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад,
                 |        ЕСТЬNULL(ТоварыОстатки.Ячейка, ЗНАЧЕНИЕ(Справочник.ЯчейкаСкладаТовара.ПустаяСсылка)) КАК Ячейка
                 |    ИЗ
                 |        СостоянияПотолков КАК СостоянияПотолков
                 |            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                 |                ПотолкиОбороты.Код КАК Код,
                 |                ПотолкиОбороты.Состояние КАК Состояние,
                 |                ПотолкиОбороты.Контрагент КАК Контрагент,
                 |                ПотолкиОбороты.Материал КАК Материал,
                 |                ПотолкиОбороты.Площадь КАК Площадь,
                 |                ПотолкиОбороты.Регистратор КАК Регистратор
                 |            ИЗ
                 |                РегистрНакопления.СостояниеПотолков.Обороты(
                 |                        ,
                 |                        ,
                 |                        Регистратор,
                 |                        Код В
                 |                            (ВЫБРАТЬ
                 |                                СП.Код
                 |                            ИЗ
                 |                                СостоянияПотолков КАК СП)) КАК ПотолкиОбороты) КАК СостояниеПотолковОбороты
                 |            ПО СостоянияПотолков.Код = СостояниеПотолковОбороты.Код
                 |                И СостоянияПотолков.Состояние = СостояниеПотолковОбороты.Состояние
                 |                И СостоянияПотолков.Контрагент = СостояниеПотолковОбороты.Контрагент
                 |                И СостоянияПотолков.Материал = СостояниеПотолковОбороты.Материал
                 |                И СостоянияПотолков.Площадь = СостояниеПотолковОбороты.Площадь
                 |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Товары.Остатки КАК ТоварыОстатки
                 |            ПО СостоянияПотолков.Код = ТоварыОстатки.ШтрихКод.Код
                 |    
                 |    СГРУППИРОВАТЬ ПО
                 |        СостоянияПотолков.Состояние,
                 |        СостоянияПотолков.Код,
                 |        СостоянияПотолков.Материал,
                 |        ЕСТЬNULL(СостояниеПотолковОбороты.Регистратор, ЗНАЧЕНИЕ(Документ.ИзмСостоянияПотолка.ПустаяСсылка)),
                 |        СостоянияПотолков.Контрагент,
                 |        СостоянияПотолков.Площадь,
                 |        ТоварыОстатки.Склад,
                 |        ТоварыОстатки.Ячейка) КАК ВложенныйЗапрос
                 |ГДЕ
                 |    ВложенныйЗапрос.Склад.Наименование <> ""Офис Волгодонск""
                 |
                 |УПОРЯДОЧИТЬ ПО
                 |    ТДДатаДок"
1 SSSSS_AAAAA
 
19.09.17
16:11
(0) И что не так? Или не знаешь, пустая строка равна любой строке? В том числе и "Офис Волгодонск".
2 prilforreal
 
19.09.17
16:13
(1) А что можно сделать чтобы пустые строки оставались?
3 Ненавижу 1С
 
гуру
19.09.17
16:15
ЕСТЬNULL(ВложенныйЗапрос.Склад.Наименование,"""") <> ""Офис Волгодонск""

а вообще гавнехонько в целом
4 prilforreal
 
19.09.17
16:22
(3) Спасибо большое!
5 term1t52
 
19.09.17
16:24
Че спасибо, то же самое будет
6 Ненавижу 1С
 
гуру
19.09.17
16:25
(5) нет
7 prilforreal
 
19.09.17
16:41
(5) Формируется как надо, вылетели только строки с наименованием "Офис Волгодонск", пустые остались.
Ошибка? Это не ошибка, это системная функция.