Доброго времени суток! Рассчитывается Валовая прибыль предприятия. При создании выборки документов Реализации, по которым рассчитывается прибыль, при условии "ИсключатьАкции"(булево). Акции бывают за счет компании и поставщика. Необходимо из выборки исключить акции при условии что они за счет поставщика. Данная информация хранится в ТЧ документа реализации. Создаю вложенный запрос с документами, которые нужно исключить и при выборе документов из РегистраНакопления в условии ГДЕ использую конструкцию "НЕ В". Но отчет не едет. Может подскажите как правильно?
Код:

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

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    СтоимостьИСебестоимость.Контрагент,
    СтоимостьИСебестоимость.Номенклатура,
    СтоимостьИСебестоимость.Количество КАК Количество,
    ЦеныНоменклатурыСрезПоследних.Цена * СтоимостьИСебестоимость.Количество КАК СтоимостьТипЦен,
    СтоимостьИСебестоимость.СтоимостьПродажи КАК СтоимостьПродажи,
    СтоимостьИСебестоимость.СебестоимостьСНДС КАК СебестоимостьСНДС,
    СтоимостьИСебестоимость.СтоимостьПродажи - СтоимостьИСебестоимость.СебестоимостьСНДС КАК ВаловаяПрибыльПоНакладной,
    ЦеныНоменклатурыСрезПоследних.Цена * СтоимостьИСебестоимость.Количество - СтоимостьИСебестоимость.СебестоимостьСНДС КАК ВаловаяПрибыльПоТипуЦен,
    0 КАК РентабельностьПоНакладной,
    0 КАК РентабельностьПоТипуЦен,
    (ЦеныНоменклатурыСрезПоследних.Цена * СтоимостьИСебестоимость.Количество / СтоимостьИСебестоимость.СебестоимостьСНДС - 1) * 100 КАК ЭффективностьПоВыбраннойЦене,
    (СтоимостьИСебестоимость.СтоимостьПродажи / СтоимостьИСебестоимость.СебестоимостьСНДС - 1) * 100 КАК ЭффективностьПоНакладдной
    ИЗ
    СтоимостьИСебестоимость КАК СтоимостьИСебестоимость
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Конец, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ПО СтоимостьИСебестоимость.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    УНИЧТОЖИТЬ СтоимостьИСебестоимость
```
---
Из соединения убрать. Условие

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

```1c
    НЕ ПродажиОбороты.Регистратор В (ВЫБРАТЬ
    РеализацияТоваровУслугсоюз_ТоварСработавшийВАкции.Ссылка КАК Ссылка
    ИЗ
    Документ.РеализацияТоваровУслуг.союз_ТоварСработавшийВАкции КАК РеализацияТоваровУслугсоюз_ТоварСработавшийВАкции
    ГДЕ
    РеализацияТоваровУслугсоюз_ТоварСработавшийВАкции.Ссылка.Проведен = ИСТИНА
    И РеализацияТоваровУслугсоюз_ТоварСработавшийВАкции.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Начало, ДЕНЬ) И КОНЕЦПЕРИОДА(&Конец, ДЕНЬ)
    И РеализацияТоваровУслугсоюз_ТоварСработавшийВАкции.УсловиеАкции.ВСчет.Ссылка = ЗНАЧЕНИЕ(Перечисление.союз_ЗначенияВСчетДляУсловийАкций.Поставщика)
```
---
Хм. Спасибо. Странно так же само в условие писал не поехало, решил что решение неверное. Видимо где-то ошибку допускал.
---
Это тест на внимательность? Где в запросе "НЕ В"?
---
В конце первого запроса.
```1c
    ГДЕ
    ВЫБОР
    КОГДА &ИсключатьАкции
    ТОГДА НЕ ПродажиОбороты.Регистратор В (ВложенныйЗапрос.Ссылка)
    ИНАЧЕ ИСТИНА
    КОНЕЦ
```
---
Вместо ВложенныйЗапро.Ссылка сделайте выборку прямо в этих скобках.
Но ябы не стал так делать, проще и удобнее использовать какой то реквизит, у вас же есть такие в документе, обозначающие, что он по акции?
И условие В НЕ значительно тормозит выполнение запроса
---
в таблице багов 1с эта ошибка зафиксирована
Код ошибки: 10186500
Код(ы) обращения: SW1207545
Статус: Исправлена в тестовой версии Зарегистрирована: 27.10.2017
Исправлена: "Технологическая платформа", версия 8.3.12.1159 (для тестирования)
Описание:
При выполнении запроса с оператором В, используемом совместно с отрицанием (оператор НЕ), может быть получен неправильный результат, если в операторе В для сравнения используется тип ссылки.