Здравствуйте,
Есть наверно простой вопрос для многих, но я немного запутался в группировках, как можно сделать, чтобы выводя в макет Табличного документа, у меня свернулись одинаковые контрагенты, а накладные по нему записались в строке все которые были за период по нему

МойОбъект = РеквизитФормыВЗначение("Объект");
 Макет = МойОбъект.ПолучитьМакет("Макет");

 ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("Шапка");
 ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);

 Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ
                | СУММА(ПоступлениеТоваровУслугТовары.СуммаНДС) КАК СуммаНДС,
                | ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка
                |ПОМЕСТИТЬ вт1
                |ИЗ
                | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                |
                |СГРУППИРОВАТЬ ПО
                | ПоступлениеТоваровУслугТовары.Ссылка
                |;
                |
                |////////////////////////////////////////////////////////////­////////////////////
                |ВЫБРАТЬ
                | ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
                | ПоступлениеТоваровУслуг.Номер КАК Номер,
                | ПоступлениеТоваровУслуг.Дата КАК Дата,
                | ПоступлениеТоваровУслуг.Организация КАК Организация,
                | ПоступлениеТоваровУслуг.СчетНаОплатуПоставщика КАК СчетНаОплатуПоставщика,
                | ПоступлениеТоваровУслуг.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
                | ПоступлениеТоваровУслуг.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
                | ПоступлениеТоваровУслуг.СуммаВключаетНДС КАК СуммаВключаетНДС,
                | ПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
                | ПоступлениеТоваровУслуг.НДСНеВыделять КАК НДСНеВыделять,
                | ПоступлениеТоваровУслуг.ДокументОснование КАК ДокументОснование,
                | СчетФактураПолученный.Ссылка КАК Ссылка1,
                | СчетФактураПолученный.Номер КАК Номер1,
                | СчетФактураПолученный.Дата КАК Дата1,
                | СчетФактураПолученный.НомерВходящегоДокумента КАК НомерВходящегоДокумента1,
                | СчетФактураПолученный.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента1,
                | вт1.СуммаНДС КАК СуммаНДС,
                | ПоступлениеТоваровУслуг.Контрагент КАК Контрагент,
                | ПоступлениеТоваровУслуг.ДоговорКонтрагента КАК ДоговорКонтрагента1
                |ИЗ
                | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
                | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный КАК СчетФактураПолученный
                | ПО (СчетФактураПолученный.ДокументОснование = ПоступлениеТоваровУслуг.Ссылка)
                | ЛЕВОЕ СОЕДИНЕНИЕ вт1 КАК вт1
                | ПО (вт1.Ссылка = ПоступлениеТоваровУслуг.Ссылка)
                |ГДЕ
                | ПоступлениеТоваровУслуг.Проведен
                | И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
                | И ПоступлениеТоваровУслуг.Организация = &Организация
                | И (ПоступлениеТоваровУслуг.Контрагент = &Контрагент
                | ИЛИ &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка))
                |ИТОГИ
                | СУММА(СуммаДокумента),
                | СУММА(СуммаНДС)
                |ПО
                | ОБЩИЕ";

 Запрос.УстановитьПараметр("НачалоПериода", Период.ДатаНачала);
 Запрос.УстановитьПараметр("КонецПериода", Период.ДатаОкончания);
 Запрос.УстановитьПараметр("Организация", Объект.Организация);
 Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);

 РезультатЗапроса = Запрос.Выполнить().Выбрать();
---
попробуйте так

```1c
    ВыборкаДоговор = ВыборкаОбщая.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДоговор.Следующий() Цикл

    К=К+1;
    ОбластьТаблицы.Параметры.Номер = К;
    ОбластьТаблицы.Параметры.Контрагент = ВыборкаДоговор.ДоговорКонтрагента.Владелец;
    ОбластьТаблицы.Параметры.СуммаДокумента = ВыборкаДоговор.СуммаДокумента;
    ОбластьТаблицы.Параметры.ДоговорКонтрагента = ВыборкаДоговор.ДоговорКонтрагента;

    ОбластьТаблицы.Параметры.НДС = ВыборкаДоговор.СуммаНДС;

    Сообщить("ВыборкаДоговор.ДоговорКонтрагента = " + ВыборкаДоговор.ДоговорКонтрагента);
    Сообщить("ВыборкаДоговор.ДоговорКонтрагента.Владелец = " + ВыборкаДоговор.ДоговорКонтрагента.Владелец);

    Выборка = ВыборкаДоговор.Выбрать();
    СтрокаДокументов = "; //строка для списка документов
    Пока Выборка.Следующий() Цикл
    СтрокаДокументов = СтрокаДокументов + Выборка.Ссылка + ", "; //где у вас ссылка на счетфактуру?
    //ОбластьТаблицы.Параметры.НомерВходящегоДокумента = Выборка.Номер1;
    //ОбластьТаблицы.Параметры.ДатаВходящегоДокумента = Формат(Выборка.ДатаВходящегоДокумента1,"ДФ=dd.MM.yyyy");
    //ОбластьТаблицы.параметры.НомерВходящегоДокумента1 = Выборка.НомерВходящегоДокумента1;
    //ОбластьТаблицы.Параметры.ДатаВходящегоДокумента1 = Формат(Выборка.ДатаВходящегоДокумента1, "ДФ=dd.MM.yyyy");

    Сообщить("Выборка.Ссылка = " + Выборка.Ссылка);
    Сообщить("Выборка.Ссылка1 = " + Выборка.Ссылка1);

    КонецЦикла;
    ОбластьТаблицы.Параметры.НомерВходящегоДокумента = СтрокаДокументов;
    ТабличныйДокумент.Вывести(ОбластьТаблицы);
    КонецЦикла;

    КонецЕсли;
    КонецЦикла;
```
---
тоже самое

```1c
    СтрокаДокументов = СтрокаДокументов +
    Выборка.Номер1 + " от " + Формат(Выборка.ДатаВходящегоДокумента1,"ДФ=dd.MM.yyyy") + ", ";
```
---
так вы в итоги добавьте поле/реквизит где у вас Контрагент
---
(2) я так пробовал, в итоге выдает отдельной строкой. а следом весь список, что-то вроде этого

Контрагент ООО,03.7/23-172 договор от 07.06.2023 Поставка продуктов от , от 315 843,91 33 341,01
Контрагент ООО,03.7/23-172 договор от 07.06.2023 Поставка продуктов БП-15946 от 05.12.2023, БП-15946 от 05.12.2023 37 046,9 3 367,9
а хотелось бы, чтобы он все номера накладной записал в одной строке по контрагенту, а не просто сложил суммы и не создавал строки по каждому контрагенту, если сработала группировка
---
так дальше нужен обход по группировкам
во внешней/первой выбоке будет Контрагент,
во вложенной выборке все его документы и др. информация....
---
Спасибо
Сможете написать?
---
может так (просто пример)

```1c
    лкРезультат = лкЗапрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока лкРезультат.Следующий() Цикл //обход группировок по Контрагентам
    Сообщить(лкРезультат.Контрагент);
    лкДетали = лкРезультат.Выбрать();
    Пока лкДетали.Следующий() Цикл //детальные записи по каждому Контрагенту
    Сообщить(" " + лкДетали.Ссылка); //здесь можно сформировать общую строку
    КонецЦикла;
    КонецЦикла;
```
---
(6)спасибо, но все равно пока не разобрался, я когда подставляю в запрос.выбрать(обходрезультата) вообще перестает выводить документы
---
Я тут сделал и вроде бы все получается с обходом, но единственный косяк, он не засовывает в строку все счета фактуры по контрагенту, что я упустил

ВыборкаДоговор = ВыборкаОбщая.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДоговор.Следующий() Цикл

     К=К+1;
     ОбластьТаблицы.Параметры.Номер = К;
     ОбластьТаблицы.Параметры.Контрагент = ВыборкаДоговор.ДоговорКонтрагента.Владелец;
     ОбластьТаблицы.Параметры.СуммаДокумента = ВыборкаДоговор.СуммаДокумента;
     ОбластьТаблицы.Параметры.ДоговорКонтрагента = ВыборкаДоговор.ДоговорКонтрагента;

     ОбластьТаблицы.Параметры.НДС = ВыборкаДоговор.СуммаНДС;

     Сообщить("ВыборкаДоговор.ДоговорКонтрагента = " + ВыборкаДоговор.ДоговорКонтрагента);
     Сообщить("ВыборкаДоговор.ДоговорКонтрагента.Владелец = " + ВыборкаДоговор.ДоговорКонтрагента.Владелец);

     Выборка = ВыборкаДоговор.Выбрать();

     Пока Выборка.Следующий() Цикл
      ОбластьТаблицы.Параметры.НомерВходящегоДокумента = Выборка.Номер1;
      ОбластьТаблицы.Параметры.ДатаВходящегоДокумента = Формат(Выборка.ДатаВходящегоДокумента1,"ДФ=dd.MM.yyyy");
      //ОбластьТаблицы.параметры.НомерВходящегоДокумента1 = Выборка.НомерВходящегоДокумента1;
      //ОбластьТаблицы.Параметры.ДатаВходящегоДокумента1 = Формат(Выборка.ДатаВходящегоДокумента1, "ДФ=dd.MM.yyyy");

      Сообщить("Выборка.Ссылка = " + Выборка.Ссылка);
      Сообщить("Выборка.Ссылка1 = " + Выборка.Ссылка1);

     КонецЦикла;
    ТабличныйДокумент.Вывести(ОбластьТаблицы);
    КонецЦикла;

   КонецЕсли;
  КонецЦикла;
---
он не засовывает в строку все счета фактуры
в какую строку? имя параметра?
как вы себе представляете "ВСЕ счета" ?
просто строка, через запятую, пример: "ДокСчФ1 от 01.02.2023,ДокСчФ2 от 01.02.2023,ДокСчФ3 от 01.02.2023"
так?
---
НомерВходящегоДокумента
в колонке счетов фактур по контрагенту, через запятую было счет фактура № 1 от 01.01.2023, счет фактура № 2 от 05.02.2023
---
попробуйте так

```1c
    ВыборкаДоговор = ВыборкаОбщая.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДоговор.Следующий() Цикл

    К=К+1;
    ОбластьТаблицы.Параметры.Номер = К;
    ОбластьТаблицы.Параметры.Контрагент = ВыборкаДоговор.ДоговорКонтрагента.Владелец;
    ОбластьТаблицы.Параметры.СуммаДокумента = ВыборкаДоговор.СуммаДокумента;
    ОбластьТаблицы.Параметры.ДоговорКонтрагента = ВыборкаДоговор.ДоговорКонтрагента;

    ОбластьТаблицы.Параметры.НДС = ВыборкаДоговор.СуммаНДС;

    Сообщить("ВыборкаДоговор.ДоговорКонтрагента = " + ВыборкаДоговор.ДоговорКонтрагента);
    Сообщить("ВыборкаДоговор.ДоговорКонтрагента.Владелец = " + ВыборкаДоговор.ДоговорКонтрагента.Владелец);

    Выборка = ВыборкаДоговор.Выбрать();
    СтрокаДокументов = "; //строка для списка документов
    Пока Выборка.Следующий() Цикл
    СтрокаДокументов = СтрокаДокументов + Выборка.Ссылка + ", "; //где у вас ссылка на счетфактуру?
    //ОбластьТаблицы.Параметры.НомерВходящегоДокумента = Выборка.Номер1;
    //ОбластьТаблицы.Параметры.ДатаВходящегоДокумента = Формат(Выборка.ДатаВходящегоДокумента1,"ДФ=dd.MM.yyyy");
    //ОбластьТаблицы.параметры.НомерВходящегоДокумента1 = Выборка.НомерВходящегоДокумента1;
    //ОбластьТаблицы.Параметры.ДатаВходящегоДокумента1 = Формат(Выборка.ДатаВходящегоДокумента1, "ДФ=dd.MM.yyyy");

    Сообщить("Выборка.Ссылка = " + Выборка.Ссылка);
    Сообщить("Выборка.Ссылка1 = " + Выборка.Ссылка1);

    КонецЦикла;
    ОбластьТаблицы.Параметры.НомерВходящегоДокумента = СтрокаДокументов;
    ТабличныйДокумент.Вывести(ОбластьТаблицы);
    КонецЦикла;

    КонецЕсли;
    КонецЦикла;
```
---
Спасибо большое, получилось
Что-то я затупил......, что так можно было
А про ссылку на счет фактуру, я хотел только номер и дату выводить
---
тоже самое

```1c
    СтрокаДокументов = СтрокаДокументов +
    Выборка.Номер1 + " от " + Формат(Выборка.ДатаВходящегоДокумента1,"ДФ=dd.MM.yyyy") + ", ";
```
---
Спасибо огромное