Ниже привёл запрос по которому у меня сейчас работает, происходит группировка по контрагенту, но мне необходимо сделать так чтобы при группировке, комментарии которые есть в заказах (если один и тот же контрагент) записывались в одну строку

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | КурсыВалютСрезПоследних.Курс,
    | КурсыВалютСрезПоследних.Кратность
    |ИЗ
    | РегистрСведений.КурсыВалют.СрезПоследних(&НаДату, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
    Валюта=Справочники.Валюты.НайтиПоКоду("840");
    НаДату=ТекущаяДата();
    Запрос.УстановитьПараметр("Валюта", Валюта);
    Запрос.УстановитьПараметр("НаДату", НаДату);

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

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Курс = ВыборкаДетальныеЗаписи.Курс
    КонецЦикла;

    ТЧМаршруты2.Очистить();
    СуммаБун = 0;
    СуммаУСД = 0;
    СуммаСтрокиРубляПереведенного = 0;
    коммент = ";
    контрагент = ";

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗаказПокупателя.Ссылка,
    | ЗаказПокупателя.ВерсияДанных,
    | ЗаказПокупателя.ПометкаУдаления,
    | ЗаказПокупателя.Номер,
    | ЗаказПокупателя.Дата,
    | ЗаказПокупателя.Проведен,
    | ЗаказПокупателя.АдресДоставки,
    | ЗаказПокупателя.ВалютаДокумента,
    | ЗаказПокупателя.УдалитьВремяНапоминания,
    | ЗаказПокупателя.ДатаОплаты,
    | ЗаказПокупателя.ДатаОтгрузки,
    | ЗаказПокупателя.ДисконтнаяКарта,
    | ЗаказПокупателя.ДоговорКонтрагента,
    | ЗаказПокупателя.ИспользоватьПлановуюСебестоимость,
    | ЗаказПокупателя.ИтогПлановаяСебестоимость,
    | ЗаказПокупателя.Комментарий,
    | ЗаказПокупателя.Контрагент,
    | ЗаказПокупателя.КратностьВзаиморасчетов,
    | ЗаказПокупателя.КурсВзаиморасчетов,
    | ЗаказПокупателя.УдалитьНапомнитьОСобытии,
    | ЗаказПокупателя.Организация,
    | ЗаказПокупателя.Ответственный,
    | ЗаказПокупателя.Подразделение,
    | ЗаказПокупателя.СтруктурнаяЕдиница,
    | ЗаказПокупателя.СкладГруппа,
    | ЗаказПокупателя.СуммаВключаетНДС,
    | ЗаказПокупателя.СуммаДокумента,
    | ЗаказПокупателя.ТипЦен,
    | ЗаказПокупателя.УдалитьКонтактноеЛицо,
    | ЗаказПокупателя.УчитыватьНДС,
    | ЗаказПокупателя.Грузополучатель,
    | ЗаказПокупателя.КонтактноеЛицоКонтрагента,
    | ЗаказПокупателя.УсловиеПродаж,
    | ЗаказПокупателя.ДополнениеКАдресуДоставки,
    | ЗаказПокупателя.ДокументОснование,
    | ЗаказПокупателя.Грузоотправитель,
    | ЗаказПокупателя.НомерВходящегоДокументаЭлектронногоОбмена,
    | ЗаказПокупателя.ДатаВходящегоДокументаЭлектронногоОбмена,
    | ЗаказПокупателя.Статус,
    | ЗаказПокупателя.Маршрут,
    | ЗаказПокупателя.Комплектовщик,
    | ЗаказПокупателя.ГоловнойКонтрагент,
    | ЗаказПокупателя.Город,
    | ЗаказПокупателя.Менеджер,
    | ЗаказПокупателя.ИзмененСМоментаСоздания,
    | ЗаказПокупателя.КолВоГрузМест,
    | ЗаказПокупателя.КлассификацияУпаковки,
    | ЗаказПокупателя.КолВоОшибок,
    | ЗаказПокупателя.Печатано,
    | ЗаказПокупателя.КолВоУстановкиРезервов
    |ИЗ
    | Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |ГДЕ
    | ЗаказПокупателя.ДатаОтгрузки = &ДатаМаршрута
    | И ЗаказПокупателя.Маршрут = &МаршрутГород
    | И ЗаказПокупателя.Ссылка.Проведен";

    Запрос.УстановитьПараметр("ДатаМаршрута", ДатаМаршрута);
    Запрос.УстановитьПараметр("МаршрутГород", МаршрутГород);

    ТаблицаРезультата = запрос.Выполнить().Выгрузить();
    ТаблицаКонтрагентов = ТаблицаРезультата.Скопировать(,"Контрагент");
    ТаблицаКонтрагентов.Свернуть("Контрагент");

    НомерПервойСтроки = 1;

    Для Каждого СтрокаКонтрагента Из ТаблицаКонтрагентов Цикл
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты2.Добавить();

    СтрокаТабличнойЧасти.Контрагент = СтрокаРезультата.Контрагент;
    СтрокаТабличнойЧасти.СуммаДокумента = СтрокаРезультата.СуммаДокумента;
    СтрокаТабличнойЧасти.КолГрузМест = СтрокаРезультата.КолВоГрузМест;
    СтрокаТабличнойЧасти.Имя = СтрокаРезультата.Контрагент.ИмяГрузополуч;
    СтрокаТабличнойЧасти.Телефон = СтрокаРезультата.Контрагент.ТелПриемки;
    СтрокаТабличнойЧасти.ПунктРазгрузки = СтрокаРезультата.Контрагент.ПунктРазгрузки;
    СтрокаТабличнойЧасти.ВалютаДокумента = СтрокаРезультата.ВалютаДокумента;
    СтрокаТабличнойЧасти.заявки = 1;
    СтрокаТабличнойЧасти.УЕ =";
    СтрокаТабличнойЧасти.Рубли =";
    СтрокаТабличнойЧасти.ТТН =";
    //СтрокаТабличнойЧасти.Примечание =СтрокаРезультата.Комментарий;

    Если СтрокаТабличнойЧасти.ВалютаДокумента = "BYN" тогда
    СтрокаТабличнойЧасти.ТТН = "ТТН";
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.ТТН = ";
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;

    КонецЕсли;

    Конеццикла;
    ТЧМаршруты2.Свернуть("Контрагент, Имя, Телефон, ПунктРазгрузки, ВалютаДокумента" , "СуммаДокумента, КолГрузМест, УЕ, рубли, заявки, Примечание");
    Конеццикла;
```
---
необходимо сделать так чтобы при группировке, комментарии которые есть в заказах (если один и тот же контрагент) записывались в одну строку И что это за строка? Что предполагается с ней делать? Если записывать в строки ТЧМаршруты2, то придется добавить еще один цикл - ведь при обработке первого заказа по каждому контрагенту все комментарии (кроме первого) еще неизвестны.

Примерно так:

```1c
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));
    //----------
    СтрокаКомментариев=":
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + СтрокаРезультата.Комментарий;
    КонецЦикла;
    //----------
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты2.Добавить();
```

Ну, и потом записываем в ТЧМаршруты2 эту строку:

```1c
    //СтрокаТабличнойЧасти.Примечание =СтрокаРезультата.Комментарий;
    СтрокаТабличнойЧасти.Примечание = СтрокаКомментариев;
```

Если все это не так, то потрудитесь поставить задачу яснее.
---
необходимо сделать так чтобы при группировке, комментарии которые есть в заказах (если один и тот же контрагент) записывались в одну строку И что это за строка? Что предполагается с ней делать? Если записывать в строки ТЧМаршруты2, то придется добавить еще один цикл - ведь при обработке первого заказа по каждому контрагенту все комментарии (кроме первого) еще неизвестны.

Примерно так:

```1c
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));
    //----------
    СтрокаКомментариев=":
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + СтрокаРезультата.Комментарий;
    КонецЦикла;
    //----------
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты2.Добавить();
```

Ну, и потом записываем в ТЧМаршруты2 эту строку:

```1c
    //СтрокаТабличнойЧасти.Примечание =СтрокаРезультата.Комментарий;
    СтрокаТабличнойЧасти.Примечание = СтрокаКомментариев;
```

Если все это не так, то потрудитесь поставить задачу яснее.
---
извините,не в строку,а в Комментарий. накину просто Пример что нужно:
1. Контрагент: Вася, СуммаДокумента: 20 руб, Конмментарий: доставка по ул.Вербная 64
2. Контрагент: Вася, СуммаДокумента: 30 руб, Конмментарий: забрать товар по ул. ул.Вербная 69
3. Контрагент: Дима, СуммаДокумента: 10 руб, Конмментарий: ул.Вербная 10
в итоге получить надо:
1. Контрагент: Вася, СуммаДокумента: 50 руб, Конмментарий: доставка по ул.Вербная 64, забрать товар по ул. ул.Вербная 69
2. Контрагент: Дима, СуммаДокумента: 10 руб, Конмментарий: ул.Вербная 10
---
написал вот так,не прокатило что-то ,точнее вообще комментарий не отобразился

```1c
    Запрос.УстановитьПараметр("ДатаМаршрута", ДатаМаршрута);
    Запрос.УстановитьПараметр("МаршрутГород", МаршрутГород);

    //Рез = Запрос.Выполнить();
    // Выборка = Рез.Выбрать();
    ТаблицаРезультата = запрос.Выполнить().Выгрузить();
    ТаблицаКонтрагентов = ТаблицаРезультата.Скопировать(,"Контрагент");
    ТаблицаКонтрагентов.Свернуть("Контрагент");

    НомерПервойСтроки = 1;

    Для Каждого СтрокаКонтрагента Из ТаблицаКонтрагентов Цикл
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));

    //----------
    СтрокаКомментариев=";
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + СтрокаРезультата.Комментарий;
    КонецЦикла;
    //----------
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты2.Добавить();

    СтрокаТабличнойЧасти.Контрагент = СтрокаРезультата.Контрагент;
    СтрокаТабличнойЧасти.СуммаДокумента = СтрокаРезультата.СуммаДокумента;
    СтрокаТабличнойЧасти.КолГрузМест = СтрокаРезультата.КолВоГрузМест;
    СтрокаТабличнойЧасти.Имя = СтрокаРезультата.Контрагент.ИмяГрузополуч;
    СтрокаТабличнойЧасти.Телефон = СтрокаРезультата.Контрагент.ТелПриемки;
    СтрокаТабличнойЧасти.ПунктРазгрузки = СтрокаРезультата.Контрагент.ПунктРазгрузки;
    СтрокаТабличнойЧасти.ВалютаДокумента = СтрокаРезультата.ВалютаДокумента;
    СтрокаТабличнойЧасти.заявки = 1;
    СтрокаТабличнойЧасти.УЕ =";
    СтрокаТабличнойЧасти.Рубли =";
    СтрокаТабличнойЧасти.ТТН =";
    СтрокаТабличнойЧасти.Примечание = СтрокаКомментариев;
    //СтрокаТабличнойЧасти.Примечание =СтрокаРезультата.Комментарий;

    Если СтрокаТабличнойЧасти.ВалютаДокумента = "BYN" тогда
    СтрокаТабличнойЧасти.ТТН = "ТТН";
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.ТТН = ";
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;

    КонецЕсли;

    Конеццикла;
    ТЧМаршруты2.Свернуть("Контрагент, Имя, Телефон, ПунктРазгрузки, ВалютаДокумента" , "СуммаДокумента, КолГрузМест, УЕ, рубли, заявки, Примечание");
    Конеццикла;
```
---
из-за вот этой строки оно не выводит
ТЧМаршруты2.Свернуть("Контрагент, Имя, Телефон, ПунктРазгрузки, ВалютаДокумента" , "СуммаДокумента, КолГрузМест, УЕ, рубли, заявки, Примечание");
Как её переделать?
---
Спасибо большое,сработало,ловите вознаграждение
---
ну если писать кодом, то делаешь дерево по котрагенту, а далее обходя ветки клеишь комментарии.
---
Как то очень мудрено.
Не проще с итогами да по
То есть Формируем строку по которой группируем
ВЫБРАТЬ
ЗаказПокупателя.Контрагент.ИНН,+"/"+ЗаказПокупателя.Маршрут.Код+ "/"+ЗаказПокупателя.ВалютаДокумента.Код как Группировка
...
ИТОГИ Сумма(СуммаДокумента), Сумма(КолГрузМест) , Максимум(Контрагент) ///ивтд
ПО Группировка
Далее

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

```1c
    Запрос.УстановитьПараметр("ДатаМаршрута", ДатаМаршрута);
    Запрос.УстановитьПараметр("МаршрутГород", МаршрутГород);

    //Рез = Запрос.Выполнить();
    // Выборка = Рез.Выбрать();
    ТаблицаРезультата = запрос.Выполнить().Выгрузить();
    ТаблицаКонтрагентов = ТаблицаРезультата.Скопировать(,"Контрагент");
    ТаблицаКонтрагентов.Свернуть("Контрагент");

    НомерПервойСтроки = 1;

    Для Каждого СтрокаКонтрагента Из ТаблицаКонтрагентов Цикл
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));

    //----------
    СтрокаКомментариев=";
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + СтрокаРезультата.Комментарий;
    КонецЦикла;
    //----------
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты2.Добавить();

    СтрокаТабличнойЧасти.Контрагент = СтрокаРезультата.Контрагент;
    СтрокаТабличнойЧасти.СуммаДокумента = СтрокаРезультата.СуммаДокумента;
    СтрокаТабличнойЧасти.КолГрузМест = СтрокаРезультата.КолВоГрузМест;
    СтрокаТабличнойЧасти.Имя = СтрокаРезультата.Контрагент.ИмяГрузополуч;
    СтрокаТабличнойЧасти.Телефон = СтрокаРезультата.Контрагент.ТелПриемки;
    СтрокаТабличнойЧасти.ПунктРазгрузки = СтрокаРезультата.Контрагент.ПунктРазгрузки;
    СтрокаТабличнойЧасти.ВалютаДокумента = СтрокаРезультата.ВалютаДокумента;
    СтрокаТабличнойЧасти.заявки = 1;
    СтрокаТабличнойЧасти.УЕ =";
    СтрокаТабличнойЧасти.Рубли =";
    СтрокаТабличнойЧасти.ТТН =";
    СтрокаТабличнойЧасти.Примечание = СтрокаКомментариев;
    //СтрокаТабличнойЧасти.Примечание =СтрокаРезультата.Комментарий;

    Если СтрокаТабличнойЧасти.ВалютаДокумента = "BYN" тогда
    СтрокаТабличнойЧасти.ТТН = "ТТН";
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.ТТН = ";
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;

    КонецЕсли;

    Конеццикла;
    ТЧМаршруты2.Свернуть("Контрагент, Имя, Телефон, ПунктРазгрузки, ВалютаДокумента, Примечание, ТТН" , "СуммаДокумента, КолГрузМест, УЕ, рубли, заявки");
    Конеццикла;
```
---
Наверное в Запросе поле ТТН вывести надо
Тогда было бы, приблизительно так

```1c
    ТаблицаКонтрагентов = ТаблицаРезультата.Скопировать(,"Контрагент,ТТН");
    ТаблицаКонтрагентов.Свернуть("Контрагент,ТТН");
    НомерПервойСтроки = 1;

    Для Каждого СтрокаКонтрагента Из ТаблицаКонтрагентов Цикл
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент,ТТН", СтрокаКонтрагента.Контрагент,СтрокаКонтрагента.ТТН));
    //....
    КонецЦикла;
```
---
спасибо,лови вознаграждение ещё)
---
Необходимо как-то сделать чтобы группировка была даже если (Контрагент один и тот же), а в одном стоит ТТН,а во втором нет,чтобы группировало тоже это,но при этом ТТН надпись ставилась. Как сделать можно? Аналогично:

```1c
    //----------
    СтрокаКомментариев=";
    СтрокаТТН=";
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + СтрокаРезультата.Комментарий;
    Если СтрокаРезультата.ВалютаДокумента = "BYN" Тогда
    СтрокаТТН = "ТТН";
    КонецЕсли;
    КонецЦикла;
    //----------
```

И дальше:

```1c
    //Если СтрокаТабличнойЧасти.ВалютаДокумента = "BYN" тогда
    СтрокаТабличнойЧасти.ТТН = СтрокаТТН;
    Если СтрокаТТН = "ТТН" Тогда
    // СтрокаТабличнойЧасти.ТТН = "ТТН";
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    // СтрокаТабличнойЧасти.ТТН = ";
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;
    КонецЕсли;
```
---
спасибо огромное,сделал на твоём методе,лови вознаграждение ещё)
---
сработало всё как нужно! супер!. Ещё вопрос,последний уже. Код ниже.
Необходимо на основе последнего, если (Контрагент один и тот же), а в одном стоит ТТН,а во втором нет,чтобы группировало тоже это,но при этом ТТН надпись ставилась.(Это мы сделали),но где не было надписи ТТН и оно сгруппировало,то сумму этого заказа закинуть в СтрокаТабличнойЧасти.УЕ

```1c
    Запрос.УстановитьПараметр("ДатаМаршрута", ДатаМаршрута);
    Запрос.УстановитьПараметр("МаршрутГород", МаршрутГород);

    ТаблицаРезультата = запрос.Выполнить().Выгрузить();
    ТаблицаКонтрагентов = ТаблицаРезультата.Скопировать(,"Контрагент");
    ТаблицаКонтрагентов.Свернуть("Контрагент");

    НомерПервойСтроки = 1;

    Для Каждого СтрокаКонтрагента Из ТаблицаКонтрагентов Цикл
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));

    //----------
    СтрокаКомментариев=";
    СтрокаТТН=";
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + СтрокаРезультата.Комментарий;
    Если СтрокаРезультата.ВалютаДокумента.Наименование = "BYN" Тогда
    СтрокаТТН = "ТТН";
    КонецЕсли;
    КонецЦикла;
    //----------

    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты1.Добавить();

    СтрокаТабличнойЧасти.Контрагент = СтрокаРезультата.Контрагент;
    СтрокаТабличнойЧасти.СуммаДокумента = СтрокаРезультата.СуммаДокумента;
    СтрокаТабличнойЧасти.КолГрузМест = СтрокаРезультата.КолВоГрузМест;
    СтрокаТабличнойЧасти.Имя = СтрокаРезультата.Контрагент.ИмяГрузополуч;
    СтрокаТабличнойЧасти.Телефон = СтрокаРезультата.Контрагент.ТелПриемки;
    СтрокаТабличнойЧасти.ПунктРазгрузки = СтрокаРезультата.Контрагент.ПунктРазгрузки;
    СтрокаТабличнойЧасти.ВалютаДокумента = СтрокаРезультата.ВалютаДокумента;
    СтрокаТабличнойЧасти.заявки = 1;
    СтрокаТабличнойЧасти.УЕ =";
    СтрокаТабличнойЧасти.Рубли =";
    СтрокаТабличнойЧасти.Примечание = СтрокаКомментариев;
    СтрокаТабличнойЧасти.ТТН = СтрокаТТН;

    Если СтрокаТТН = "ТТН" Тогда
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;
    КонецЕсли;

    Конеццикла;
    ТЧМаршруты1.Свернуть("Контрагент, Имя, Телефон, ПунктРазгрузки,Примечание, ТТН" , "СуммаДокумента, КолГрузМест, УЕ, рубли, заявки");
    Конеццикла;
```
---
Ваша задача легко решается, через СКД. Я так понял у Вас УТ 10.3. Вот набросал побыренькому. пример для типовой. доработайте под себя и пользуйтесь.
---
Спасибо большое,посмотрю после выходных уже.накинул бонуса вам,спасибо ещё раз и вам)
---
сделал так,правильно ли?

```1c
    Запрос.УстановитьПараметр("ДатаМаршрута", ДатаМаршрута);
    Запрос.УстановитьПараметр("МаршрутГород", МаршрутГород);

    ТаблицаРезультата = запрос.Выполнить().Выгрузить();
    ТаблицаКонтрагентов = ТаблицаРезультата.Скопировать(,"Контрагент");
    ТаблицаКонтрагентов.Свернуть("Контрагент");

    НомерПервойСтроки = 1;

    Для Каждого СтрокаКонтрагента Из ТаблицаКонтрагентов Цикл
    СтрокиТаблицыРезультата = ТаблицаРезультата.НайтиСтроки(Новый Структура("Контрагент", СтрокаКонтрагента.Контрагент));

    //----------
    СтрокаКомментариев=";
    СтрокаТТН=";
    СтрокаУЕ = 0;
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев +" "+ СтрокаРезультата.Комментарий;

    Если СтрокаРезультата.ВалютаДокумента.Наименование = "BYN" Тогда
    СтрокаТТН = "ТТН";
    КонецЕсли;

    КонецЦикла;
    //----------

    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаТабличнойЧасти = ТЧМаршруты1.Добавить();

    СтрокаТабличнойЧасти.Контрагент = СтрокаРезультата.Контрагент;
    СтрокаТабличнойЧасти.СуммаДокумента = СтрокаРезультата.СуммаДокумента;
    СтрокаТабличнойЧасти.КолГрузМест = СтрокаРезультата.КолВоГрузМест;
    СтрокаТабличнойЧасти.Имя = СтрокаРезультата.Контрагент.ИмяГрузополуч;
    СтрокаТабличнойЧасти.Телефон = СтрокаРезультата.Контрагент.ТелПриемки;
    СтрокаТабличнойЧасти.ПунктРазгрузки = СтрокаРезультата.Контрагент.ПунктРазгрузки;
    СтрокаТабличнойЧасти.ВалютаДокумента = СтрокаРезультата.ВалютаДокумента;
    СтрокаТабличнойЧасти.заявки = 1;
    СтрокаТабличнойЧасти.УЕ =";
    СтрокаТабличнойЧасти.Рубли =";
    СтрокаТабличнойЧасти.Примечание = СтрокаКомментариев;
    СтрокаТабличнойЧасти.ТТН = СтрокаТТН;

    Если СтрокаРезультата.ВалютаДокумента.Наименование = "USD" Тогда
    СтрокаУЕ = СтрокаРезультата.СуммаДокумента;
    СтрокаТабличнойЧасти.УЕ = СтрокаУЕ;
    КонецЕсли;

    Если СтрокаТТН = "ТТН" Тогда
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    // СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;
    КонецЕсли;

    Конеццикла;
    ТЧМаршруты1.Свернуть("Контрагент, Имя, Телефон, ПунктРазгрузки,Примечание, ТТН" , "СуммаДокумента, КолГрузМест, УЕ, рубли, заявки");
    Конеццикла;
```
---
сделал так,правильно ли? Вряд ли: СтрокаУЕ у вас обнуляется в первом цикле и больше никак не меняется до второго. А во втором цикле она получает значение СтрокаРезультата.СуммаДокумента и тут же переносится в СтрокаТабличнойЧасти.УЕ, безо всяких условий и проверок. То есть, по сути, не используется, ее можно вообще безболезненно исключить:

```1c
    //СтрокаУЕ = СтрокаРезультата.СуммаДокумента;
    //СтрокаТабличнойЧасти.УЕ = СтрокаУЕ;
    СтрокаТабличнойЧасти.УЕ = СтрокаРезультата.СуммаДокумента;
```

К сожалению, основу программирования - построение алгоритма, вы не понимаете.

Раз у вас надпись "ТТН" и заполнение СтрокаТабличнойЧасти.УЕ должны выполняться по разным условиям, то надо формировать две переменных. Приблизительно так:

```1c
    СтрокаКомментариев=";
    СтрокаТТН=";
    СтрокаУЕ=";
    Для Каждого СтрокаРезультата Из СтрокиТаблицыРезультата Цикл
    СтрокаКомментариев = СтрокаКомментариев + " " + СтрокаРезультата.Комментарий;
    Если СтрокаРезультата.ВалютаДокумента.Наименование = "BYN" Тогда
    СтрокаТТН = "ТТН";
    ИначеЕсли СтрокаРезультата.ВалютаДокумента.Наименование = "USD" Тогда
    СтрокаУЕ = "USD";
    КонецЕсли;
    КонецЦикла;
```
А во втором цикле - проверять обе переменные:

```1c
    Если СтрокаУЕ = "USD" Тогда
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;
    ИначеЕсли СтрокаТТН = "ТТН" Тогда
    СуммаБун=СуммаБун + СтрокаТабличнойЧасти.СуммаДокумента;
    // СтрокаТабличнойЧасти.рубли = 0;
    Иначе
    СуммаУСД = СуммаУСД + СтрокаТабличнойЧасти.СуммаДокумента;
    СтрокаТабличнойЧасти.УЕ = СтрокаТабличнойЧасти.СуммаДокумента ;
    СтрокаТабличнойЧасти.рубли = СтрокаТабличнойЧасти.СуммаДокумента * Курс ;
    КонецЕсли;
```

Очень может быть, что вторую часть я написал неправильно - голова сегодня трещит и трудно понять - что именно вам нужно. Но, надеюсь, вы поймете идею и переделаете под свои условия.
---
Спасибо большое,посмотрю после выходных уже и разберусь во всём этом подробнее.накинул бонуса вам,спасибо ещё раз)
---
Сообщение было скрыто модератором.
---
Спасибо всем, Тема закрыта.