Здравствуйте! Может кто опытным взглядом поможет найти ошибку в запросе? Строки дублируются, причем если есть ещё и регистратор, то и по три и по четыре раза? Не пойму как избежать этого. Вот текст запроса:

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

    Текст = Текст+" (&Владелец))";
    КонецЕсли;
    Текст = Текст + "
    |
    |СГРУППИРОВАТЬ ПО
    | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    | ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры
    |ИТОГИ ПО
    | Номенклатура ИЕРАРХИЯ";
    Запрос.Текст = Текст;
```
---
Что значит "дублируются"? Вы группируете по номенклатуре и характеристике. Двух строчек по одной характеристике в рамках номенклатуры быть не может.
Другое дело, что вы в запросе используете конструкцию ИТОГИ ПО. А она добавляет к детальным записям результата запроса строки с итогами по группировкам.
Скорее всего, вы просто неправильно обращаетесь с результатом.
---
для начала ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &Склад перенесите в условия виртуальной таблицы
---
спасибо, сейчас попробую.
---
чтобы с этим не мучаться лучше используйте СКД
---
Завтра действительно попробую СКД.
---
пройдите курс по запросам на ютубе автор кузнецов. Поймете как работают обороты.
---
спасибо за наводку, обязательно посмотрю. Но задание нужно сделать сегодня, поэтому попробую скд.
---
тогда замени обороты на остатки и убери итоги!
---
Что значит "дублируются"? Вы группируете по номенклатуре и характеристике. Двух строчек по одной характеристике в рамках номенклатуры быть не может.
Другое дело, что вы в запросе используете конструкцию ИТОГИ ПО. А она добавляет к детальным записям результата запроса строки с итогами по группировкам.
Скорее всего, вы просто неправильно обращаетесь с результатом.
---
вот мое обращение
 ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
 Пока ВыборкаНоменклатура.Следующий() Цикл
  Если ВыборкаНоменклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
   Область = ОбластьНоменклатураИерархия;
  Иначе
   Область = ОбластьНоменклатура;
  КонецЕсли;

  Область.Параметры.Заполнить(ВыборкаНоменклатура);
  ТабДок.Вывести(Область, ВыборкаНоменклатура.Уровень());

  ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать();

  Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
   ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
   ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
  КонецЦикла;
 КонецЦикла;
---
, спасибо, вы были правы, я неправильно обращалась к результатам при выводе характеристик!
---
Я пробовала добавлять как советуют период секунду и смотрела,что получается. Там что по характеристикам идет результат на началь периода и на конец, то есть вывожу в таблицу значений и там получается что начальный остаток идет например на 1.10.2017 и на текущую дату, это и вызывает задваивание значенийПричем итог по товару не задваивается, а только характеристики. Причем дело точно в запросе, потому что задвоение идет ещё и до вывода в табличный документ.
---
Вопрос закрыт! Всем спасибо!