Можно ли сделать так как на скриншоте, при условии если в строке выбора будут одинаковые контрагенты то строки в макете будут объединиться?
---
Не меняя логику формирования отчета, можно постобработкой пройтись по нужной колонке ТабДока и объединить ячейки:
```1c
    Процедура ОбъединитьЯчейкиВКолонке(ТабДок, НомерКолонки, ПерваяСтрока = 1)

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

    ТекстЯчейки = ТабДок.Область(НомерСтроки, НомерКолонки).Текст;

    Если ТекущийТекст <> ТекстЯчейки Тогда
    Если НомерСтроки - НачалоОбласти > 1 Тогда
    ТабДок.Область(НачалоОбласти, НомерКолонки, НомерСтроки - 1, НомерКолонки).Объединить();
    КонецЕсли;
    НачалоОбласти = НомерСтроки;
    ТекущийТекст = ТекстЯчейки;
    КонецЕсли;
    КонецЦикла;

    Если НомерСтроки - НачалоОбласти > 1 Тогда
    ТабДок.Область(НачалоОбласти, НомерКолонки, НомерСтроки - 1, НомерКолонки).Объединить();
    КонецЕсли;

    КонецПроцедуры
```
---
Я в общем переделал все но упирался на твой алгоритм, конечно выбор строк и колонок мощный получился) Зато работает объединяет строки по контрагенту, идет перечисление в объединённой строке и суммирует по контрагенту.
---
Можно в запросе "Итоги по Контрагенту" или в вашем коде смотреть по строкам и выводить только один раз, а дальше детальные записи по контрагенту.
---
В запросе где получаете Реестр платежей - сделайте группировку по всему кроме суммы, а сумму в сумму.

ну или можно сгруппировать и свернуть группу просто.... хотя не очень красиво и надо подключать итоги.
---
группировка по контрагенту и по документу платежей
---
Не меняя логику формирования отчета, можно постобработкой пройтись по нужной колонке ТабДока и объединить ячейки:
```1c
    Процедура ОбъединитьЯчейкиВКолонке(ТабДок, НомерКолонки, ПерваяСтрока = 1)

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

    ТекстЯчейки = ТабДок.Область(НомерСтроки, НомерКолонки).Текст;

    Если ТекущийТекст <> ТекстЯчейки Тогда
    Если НомерСтроки - НачалоОбласти > 1 Тогда
    ТабДок.Область(НачалоОбласти, НомерКолонки, НомерСтроки - 1, НомерКолонки).Объединить();
    КонецЕсли;
    НачалоОбласти = НомерСтроки;
    ТекущийТекст = ТекстЯчейки;
    КонецЕсли;
    КонецЦикла;

    Если НомерСтроки - НачалоОбласти > 1 Тогда
    ТабДок.Область(НачалоОбласти, НомерКолонки, НомерСтроки - 1, НомерКолонки).Объединить();
    КонецЕсли;

    КонецПроцедуры
```
---
Объединить по условию же нужно.
Хороший прием, но наверное геморный.
---
Как можно дополнить твой код, чтобы текст выводился после запятой, после объединения ячейки? У меня объединяет ячейки как мне надо но текст через запятую не выводит а выводит тока первую строку 604 а надо 604,605.
---
КолонкиОбъединить – это массив номеров колонок, в которых нужно объединить текст
```1c
    &НаКлиенте
    Процедура Команда1(Команда)
    КолонкиОбъединить = Новый Массив;
    КолонкиОбъединить.Добавить(2);
    КолонкиОбъединить.Добавить(3);
    КолонкиОбъединить.Добавить(4);
    ОбъединитьЯчейкиВКолонке(ТабДок, 1, КолонкиОбъединить)
    КонецПроцедуры

    &НаСервереБезКонтекста
    Процедура ОбъединитьЯчейкиВКолонке(ТабДок, НомерКолонки, КолонкиОбъединить, ПерваяСтрока = 1)

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

    ТекстЯчейки = ТабДок.Область(НомерСтроки, НомерКолонки).Текст;

    Если ТекущийТекст <> ТекстЯчейки Тогда
    Если НомерСтроки - НачалоОбласти > 1 Тогда
    ТабДок.Область(НачалоОбласти, НомерКолонки, НомерСтроки - 1, НомерКолонки).Объединить();
    Для Каждого Колонка Из КолонкиОбъединить Цикл
    Массив = Новый Массив;
    Для Стр = НачалоОбласти По НомерСтроки - 1 Цикл
    Массив.Добавить(ТабДок.Область(Стр, Колонка).Текст);
    КонецЦикла;
    ТабДок.Область(НачалоОбласти, Колонка, НомерСтроки - 1, Колонка).Объединить();
    ТабДок.Область(НачалоОбласти, Колонка).Текст = СтрСоединить(Массив, ", ");
    КонецЦикла;
    КонецЕсли;
    НачалоОбласти = НомерСтроки;
    ТекущийТекст = ТекстЯчейки;
    КонецЕсли;
    КонецЦикла;

    Если НомерСтроки - НачалоОбласти > 1 Тогда
    ТабДок.Область(НачалоОбласти, НомерКолонки, НомерСтроки - 1, НомерКолонки).Объединить();
    Для Каждого Колонка Из КолонкиОбъединить Цикл
    Массив = Новый Массив;
    Для Стр = НачалоОбласти По НомерСтроки - 1 Цикл
    Массив.Добавить(ТабДок.Область(Стр, Колонка).Текст);
    КонецЦикла;
    ТабДок.Область(НачалоОбласти, Колонка, НомерСтроки - 1, Колонка).Объединить();
    ТабДок.Область(НачалоОбласти, Колонка).Текст = СтрСоединить(Массив, ", ");
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
Я в общем переделал все но упирался на твой алгоритм, конечно выбор строк и колонок мощный получился) Зато работает объединяет строки по контрагенту, идет перечисление в объединённой строке и суммирует по контрагенту.
---
В моём случае этот вариант правильный, Вопрос тока остался как после объединения ячеек вывести данные через запятую ?
---
Тема закрыта