Есть запрос:

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

Выводит сумму и дебет и кредит,тобишь дублирует позиции. Как вывести только одну сумму ?
И вроде бы есть в БП 3.0 встроенная экспортная функция для получения суммы по номенклатуре. Не могу найти.
---
Необходимо использовать виртуальную таблицу Обороты регистра бухгалтерии.

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

И так уже.
---
ограничение по регистратору необходимо в условиях соединения таблиц указывать и делать ВЫРАЗИТЬ(ХозрасчетныйОбороты.Субконто1 КАК Справочник.Номенклатура)

И я бы еще сделал запрос к ВТ регистра в отдельном пакете во временную таблицу, чтобы не соединяться напрямую с виртуальной таблицей.
---
ограничение по регистратору необходимо в условиях соединения таблиц указывать и делать ВЫРАЗИТЬ(ХозрасчетныйОбороты.Субконто1 КАК Справочник.Номенклатура)

Имеете ввиду в связях ?
---
да
---
```1c
    ПО ТНМат.Номенклатура = ХозВрем.Субконто1
```

У меня так
Вместе этого произвольная связь и ВЫРАЗИТЬ(ХозрасчетныйОбороты.Субконто1 КАК Справочник.Номенклатура) ?

Ругается,мол Операция не разрешена в предложении
---
Вот так же ?

```1c
    ВЫБРАТЬ
    Хоз.СуммаОборотКт КАК СуммаОборотКт,
    Хоз.Субконто1 КАК Субконто1,
    Хоз.Счет КАК Счет
    ПОМЕСТИТЬ ХозВрем
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК Хоз
    ГДЕ
    Хоз.Регистратор В(&Ссылка)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ТН.Номер КАК Номер,
    ТН.Дата КАК Дата,
    ТН.Организация КАК Организация,
    ТНМат.НомерСтроки КАК НомерСтроки,
    ТНМат.Номенклатура КАК Номенклатура,
    ТНМат.ЕдиницаИзмерения КАК ЕдИзм,
    ТНМат.Количество КАК Количество,
    ТН.Ссылка КАК Ссылка,
    ХозВрем.СуммаОборотКт КАК Сумма
    ИЗ
    Документ.ТребованиеНакладная.Материалы КАК ТНМат
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТребованиеНакладная КАК ТН
    ПО ТНМат.Ссылка = ТН.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ ХозВрем КАК ХозВрем
    ПО ((ВЫРАЗИТЬ(ХозВрем.Субконто1 КАК Справочник.Номенклатура)) = ТНМат.Номенклатура)
    И ТНМат.Счет = ХозВрем.Счет
    ГДЕ
    ТН.Ссылка В(&Ссылка)
```
---
да
---
Необходимо использовать виртуальную таблицу Обороты регистра бухгалтерии.

ВЫБРАТЬ
 Хоз.Регистратор КАК Регистратор,
 Хоз.Организация КАК Организация,
 Хоз.Счет КАК Счет,
 Хоз.Субконто1 КАК Номенклатура,
 Хоз.Субконто2 КАК Склад,
 Хоз.СуммаОборотКт КАК Сумма,
 Хоз.КоличествоОборотКт КАК Количество,
 ВЫРАЗИТЬ(Хоз.Регистратор КАК Документ.ТребованиеНакладная).Номер КАК Номер,
 Хоз.Период КАК Период
ИЗ
 РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК Хоз
ГДЕ
 Хоз.Регистратор = &Регистратор
---
От чего не ставите условия на саму виртуальную таблицу?
РегистрБухгалтерии.Хозрасчетный.Обороты(&Период1, &Период2, Регистратор, Счет = &Счет, , КорСубконто1 В (&СписокМатериалов), , )