В отчете СКД необходимо предусмотреть вывод данных с учетом фильтра по Контрагенту и без учета этого фильтра.
Где поставить скобки { }? Так не работает:

```1c
    ГДЕ
    ХозрасчетныйОбороты_ПФ.Регистратор.Проведен = ИСТИНА
    {И ХозрасчетныйОбороты_ПФ.Регистратор.Контрагент = &Контрагент}
```
---
Больше деталей. "ХозрасчетныйОбороты_ПФ" псевдоним какой таблицы? РБ Хозрасчетный, таблица обороты?

А вообщем код многообещающий. Масса вопросов возникает! Интересно было бы услышать ответы.
1. Подозревая все же что это РБ - в регистре есть движения по непроведенным документам? Даже если и есть неужели активность не менятеся?
2 Контрагента нет в субконто? Зачем делать соединения со всеми регистраторами? А потом их отбрасывать в секции ГДЕ? Использовать параметры виртуальных таблиц нет возможности?

По поводу скобок.

Давно ручками не писал все, но вроде нужно сделать так

ГДЕ
    ХозрасчетныйОбороты_ПФ.Регистратор.Проведен = ИСТИНА

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

а какие еще варианты установить отбор по контрагенту и не установить отбор по контрагенту?
---
Больше деталей. "ХозрасчетныйОбороты_ПФ" псевдоним какой таблицы? РБ Хозрасчетный, таблица обороты?

А вообщем код многообещающий. Масса вопросов возникает! Интересно было бы услышать ответы.
1. Подозревая все же что это РБ - в регистре есть движения по непроведенным документам? Даже если и есть неужели активность не менятеся?
2 Контрагента нет в субконто? Зачем делать соединения со всеми регистраторами? А потом их отбрасывать в секции ГДЕ? Использовать параметры виртуальных таблиц нет возможности?

По поводу скобок.

Давно ручками не писал все, но вроде нужно сделать так

ГДЕ
    ХозрасчетныйОбороты_ПФ.Регистратор.Проведен = ИСТИНА

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

а какие еще варианты установить отбор по контрагенту и не установить отбор по контрагенту?
---
Можно не задавать параметр в запросе вообще. В этом случае, отбор может осуществлять СКД. Т.е. пользователь задает некое значение отбора и находит то, что ему нужно.
Нюансик: на результат запроса это не влияет. Сначала отработает запрос и передаст результат СКД, а уже потом СКД отберет из него нужное.

Другой вариант вам назвали в (3): по-хорошему, если у вас есть ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками, то там должно быть субконто "контрагент". Если так, то аналогичное условие "в фигурных скобках" можно задать в параметрах таблицы.
---
Можно не задавать параметр в запросе вообще. В этом случае, отбор может осуществлять СКД. Т.е. пользователь задает некое значение отбора и находит то, что ему нужно. а пример кода можно? где указывается этот отбор?
---
СКД —> Настройки —> Отбор
Или Отчет —> Настройки —> Отбор

Кодом как-то так

```1c
    ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Получить(0);
    ЭлементОтбора.ПравоеЗначение = МойКонтрагент;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
```

Но вообще надо смотреть что есть в отборе.
---
поставьте контрагента в отборе
---
ИМХО, необходимо изменить текст запроса.
Конструкции вида

```1c
    ХозрасчетныйОбороты_ПФ.Регистратор.Контрагент КАК Контрагент,
    ХозрасчетныйОбороты_ПФ.Регистратор.ДоговорКонтрагента КАК Договор,
    И
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    ПО ХозрасчетныйОбороты_ПФ.Регистратор.Контрагент = ДоговорыКонтрагентов.Владелец
    И ХозрасчетныйОбороты_ПФ.Регистратор.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
    ГДЕ
    ХозрасчетныйОбороты_ПФ.Регистратор.Проведен = ИСТИНА
    {ГДЕ
    ХозрасчетныйОбороты_ПФ.Регистратор.Контрагент = &Контрагент}
```

"Многоточие", приведет к неявному соединению со всеми основными таблицами документов-регистраторов, что скажется на производительности,
а на больших базах вообще запрос может не выполниться.
---
В общем случае, обращение к реквизитам регистратора через точку допустимо если таких типов и самих документов крайне мало.