Добрый день
есть запрос, который вытягивает дополнительные реквизиты (тип доп. реквизита - булево) из документа заказ, заменяя отсутствующие реквизиты значением ложь (или значение да/нет или нет). Отчет строится красиво, даже великолепно строится условное оформление "где значение = ложь". все хорошо, но при отборе "где значение = ложь" отчет не выбирает вообще ничего. При этом когда стоит отбор "где значение = истина" - поля чудным образом находятся. Не работает даже отбор НЕ (поле1=истина или поле2=истина или поле3=истина). Подскажите, почему так? Как сделать отбор по значение=ложь? Это ошибка в генетическом коде или в типовой форме отчета УНФ?

часть запроса и скрины в приложении.

```1c
    ///////////////////
    ВЫБРАТЬ
    ЕСТЬNULL(ВТДанные.ФормаВзаиморасчетов, ЛОЖЬ) КАК ФормаВзаиморасчетов,
    ЕСТЬNULL(ВТДанные.ОригиналДоговора, ЛОЖЬ) КАК ОригиналДоговора,
    ЕСТЬNULL(ВТДанные.ОригиналРасходной, ЛОЖЬ) КАК ОригиналРасходной,
    ЕСТЬNULL(ВТДанные.ОригиналДоверенности, ЛОЖЬ) КАК ОригиналДоверенности,
    ВТДанные.ЗаказСсылка,
    ЗаказПокупателя.Контрагент,
    ЗаказПокупателя.СостояниеЗаказа,
    ЗаказПокупателя.СуммаДокумента
    ИЗ
    ВТДанные КАК ВТДанные
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ПО ВТДанные.ЗаказСсылка = ЗаказПокупателя.Ссылка
```
---
Решение: не использовать в СКД временные таблицы, только вложенные. При отказе все заработало. Похожу каким то образом отбор накладывается на 1 таблицу из виртуальных, а так как а так как НУЛЛ и булево не сочитаются - ничего не работало.

Вопрос закрыт
---
Попробуй сделать отбор не глобальный , а на конкретную группировку.
---
нет группировок, отчет линейный, то есть в виде:
Отчет
 |_ детельные записи
---
ЕСТЬNULL(ВТДанные.ФормаВзаиморасчетов
тут возможно не нул, а неопределено... или пусто
---
1) В виртуальной таблице есть место где
 МАКСИМУМ(ВЫБОР
   КОГДА ЗаказПокупателяДополнительныеРеквизиты.Свойство = &ОригиналДоговора
    ТОГДА ЗаказПокупателяДополнительныеРеквизиты.Значение
   ИНАЧЕ NULL
  КОНЕЦ) КАК ОригиналДоговора,

2)могу показать консоль запросов, выдает "да/нет"
3) условное оформление на ложь, как видно на фото, отрабатывает на ура
---
У тебя левым соединением к временной таблице вт_данные цепляется заказ покупателя.

Поскольку у тебя это доп. реквизиты, то в случае, когда такой реквизит не заполнен, то его просто нет. Соответственно такой запрос будет выводить только данные со значением истина.

Поменяй соединение : к заказам левым соединением цепляй ВТ_Данные
---
не, тот же эфект. Из заказа я вытягиваю только его реквизиты, и соединяю с уже существующей таблицей вида
"ДокументСсылка, булево, булево, булево, справочникСсылка"

убрал кстати левое соединение, вытягиваю только ВТ, эффект все тот же)
---
Покажи как ты формируешь ВТ_, еще раз повторю , доп реквизита нет если он не в положении истина.
---
Я вытягиваю реквизиты, если его нет - ложб. группирую, если есть истина - выпадает истина, иначе нулл, потом заменяю нулл на ложь

```1c
    ВЫБРАТЬ
    МАКСИМУМ(ВЫБОР
    КОГДА ЗаказПокупателяДополнительныеРеквизиты.Свойство = &ФормаВзаиморасчетов
    ТОГДА ЗаказПокупателяДополнительныеРеквизиты.Значение
    ИНАЧЕ NULL
    КОНЕЦ) КАК ФормаВзаиморасчетов,
    МАКСИМУМ(ВЫБОР
    КОГДА ЗаказПокупателяДополнительныеРеквизиты.Свойство = &ОригиналДоговора
    ТОГДА ЗаказПокупателяДополнительныеРеквизиты.Значение
    ИНАЧЕ NULL
    КОНЕЦ) КАК ОригиналДоговора,
    МАКСИМУМ(ВЫБОР
    КОГДА ЗаказПокупателяДополнительныеРеквизиты.Свойство = &ОригиналРасходной
    ТОГДА ЗаказПокупателяДополнительныеРеквизиты.Значение
    ИНАЧЕ NULL
    КОНЕЦ) КАК ОригиналРасходной,
    МАКСИМУМ(ВЫБОР
    КОГДА ЗаказПокупателяДополнительныеРеквизиты.Свойство = &ОригиналДоверенности
    ТОГДА ЗаказПокупателяДополнительныеРеквизиты.Значение
    ИНАЧЕ NULL
    КОНЕЦ) КАК ОригиналДоверенности,
    ВложенныйЗапрос.ЗаказСсылка
    ПОМЕСТИТЬ ВТДанные
    ИЗ
    (ВЫБРАТЬ
    ЗаказыПокупателей.ЗаказПокупателя КАК ЗаказСсылка
    ИЗ
    РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей
    ГДЕ
    ТИПЗНАЧЕНИЯ(ЗаказыПокупателей.Регистратор) = ТИП(Документ.ЗаказПокупателя)
    И ЗаказыПокупателей.Период МЕЖДУ &НачалоПериода И &КонецПериода

    СГРУППИРОВАТЬ ПО
    ЗаказыПокупателей.ЗаказПокупателя) КАК ВложенныйЗапрос
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.ДополнительныеРеквизиты КАК ЗаказПокупателяДополнительныеРеквизиты
    ПО ВложенныйЗапрос.ЗаказСсылка = ЗаказПокупателяДополнительныеРеквизиты.Ссылка.Ссылка

    СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.ЗаказСсылка
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ЕСТЬNULL(ВТДанные.ФормаВзаиморасчетов, ЛОЖЬ) КАК ФормаВзаиморасчетов,
    ЕСТЬNULL(ВТДанные.ОригиналДоговора, ЛОЖЬ) КАК ОригиналДоговора,
    ЕСТЬNULL(ВТДанные.ОригиналРасходной, ЛОЖЬ) КАК ОригиналРасходной,
    ЕСТЬNULL(ВТДанные.ОригиналДоверенности, ЛОЖЬ) КАК ОригиналДоверенности,
    ВТДанные.ЗаказСсылка,
    ЗаказПокупателя.Контрагент,
    ЗаказПокупателя.СостояниеЗаказа,
    ЗаказПокупателя.СуммаДокумента
    ИЗ
    ВТДанные КАК ВТДанные
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ПО ВТДанные.ЗаказСсылка = ЗаказПокупателя.Ссылка
```
---
"ЗаказПокупателяДополнительныеРеквизиты.Свойство = &ОригиналДоверенности" смущает. ЗаказПокупателяДополнительныеРеквизиты.Свойство может быть Null.
---
Правильно, если Null- то сравнение не пройдет, и вернется "Иначе Null". ИМХО, если бы запрос был бы неправильный - не отрабатывалось бы условное оформление, и Консоль запросов не выдавала бы ложь. Или вы считаете что отбор накладывается не на результат запроса?
---
Решение: не использовать в СКД временные таблицы, только вложенные. При отказе все заработало. Похожу каким то образом отбор накладывается на 1 таблицу из виртуальных, а так как а так как НУЛЛ и булево не сочитаются - ничего не работало.

Вопрос закрыт
---
Это не решение проблемы, иногда без временных таблиц не обойтись - и как быть?