Если удалить само поле наклданая тогда да будет одна строка. но тут нужно имено которая жырная а остальные уже нет
необходимо зарегистрироваться для просмотра ссылки
ТабличныйДокумент = Новый ТабличныйДокумент;
Если ИмяМакета="МаршрутныйЛист" Тогда
ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_МаршрутныйЛистПродажи";
ПервыйДокумент = Истина;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.МаршрутныйЛистПродажи.ПФ_MXL_МаршрутныйЛистПродажи");
КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм();
Макет.КодЯзыкаМакета = КодЯзыкаПечать;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.Текст =
"ВЫБРАТЬ
| МаршрутныйЛистПродажи.Ссылка КАК Ссылка,
| МаршрутныйЛистПродажи.Дата КАК ДатаДокумента,
| МаршрутныйЛистПродажи.Номер КАК Номер,
| МаршрутныйЛистПродажи.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
| МаршрутныйЛистПродажи.ГруппаКлиентов КАК ГруппаКлиентов
|ИЗ
| Документ.МаршрутныйЛистПродажи КАК МаршрутныйЛистПродажи
|ГДЕ
| МаршрутныйЛистПродажи.Ссылка В(&МассивОбъектов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| МаршрутныйЛистПродажиЗаказы.Ссылка КАК Ссылка,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная КАК РасходнаяНакладная,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Номер КАК НомерРН,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Дата КАК ДатаРН,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Вес КАК Вес,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Объем КАК Объем,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Контрагент КАК Контрагент,
| 0 КАК СуммаДолга,
| 1 КАК ПринадлежитМаршруту,
| МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.СуммаДокумента КАК СуммаОтгрузки,
| МаршрутныйЛистПродажиЗаказы.Ссылка.ГруппаКлиентов КАК ГруппаКлиентов
|ПОМЕСТИТЬ ВТ_Маршрут
|ИЗ
| Документ.МаршрутныйЛистПродажи.Заказы КАК МаршрутныйЛистПродажиЗаказы
|ГДЕ
| МаршрутныйЛистПродажиЗаказы.Ссылка В(&МассивОбъектов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент,
| МаршрутныйЛистПродажи.Ссылка КАК МЛист
|ПОМЕСТИТЬ ВТ_КлиентыМЛиста
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПродажи КАК МаршрутныйЛистПродажи
| ПО (МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель
| ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель
| ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель.Родитель
| ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель.Родитель.Родитель
| ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель.Родитель.Родитель.Родитель)
|ГДЕ
| Контрагенты.ЭтоГруппа = ЛОЖЬ
| И МаршрутныйЛистПродажи.Ссылка В(&МассивОбъектов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РасчетыСПокупателямиОстатки.Контрагент КАК Контрагент,
| РасчетыСПокупателямиОстатки.Документ КАК Документ,
| МАКСИМУМ(РасчетыСПокупателямиОстатки.СуммаОстаток) КАК СуммаОстаток,
| СУММА(0) КАК Вес,
| СУММА(0) КАК Объем,
| СУММА(0) КАК ПринадлежитМаршруту,
| СУММА(0) КАК СуммаОтгрузки,
| ВТ_КлиентыМЛиста.МЛист КАК Ссылка
|ПОМЕСТИТЬ ВТ_Долги
|ИЗ
| ВТ_КлиентыМЛиста КАК ВТ_КлиентыМЛиста
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПокупателями.Остатки(, ) КАК РасчетыСПокупателямиОстатки
| ПО ВТ_КлиентыМЛиста.Контрагент = РасчетыСПокупателямиОстатки.Контрагент
|
|СГРУППИРОВАТЬ ПО
| РасчетыСПокупателямиОстатки.Контрагент,
| РасчетыСПокупателямиОстатки.Документ,
| ВТ_КлиентыМЛиста.МЛист
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Маршрут.Ссылка КАК Ссылка,
| ВТ_Маршрут.РасходнаяНакладная КАК РасходнаяНакладная,
| СУММА(ВТ_Маршрут.Вес) КАК Вес,
| СУММА(ВТ_Маршрут.Объем) КАК Объем,
| ВТ_Маршрут.СуммаДолга КАК СуммаДолга,
| ВТ_Маршрут.Контрагент КАК Контрагент,
| ВТ_Маршрут.ПринадлежитМаршруту КАК ПринадлежитМаршруту,
| ВТ_Маршрут.СуммаОтгрузки КАК СуммаОтгрузки
|ПОМЕСТИТЬ ВТ
|ИЗ
| ВТ_Маршрут КАК ВТ_Маршрут
|
|СГРУППИРОВАТЬ ПО
| ВТ_Маршрут.Ссылка,
| ВТ_Маршрут.РасходнаяНакладная,
| ВТ_Маршрут.Контрагент,
| ВТ_Маршрут.СуммаДолга,
| ВТ_Маршрут.ПринадлежитМаршруту,
| ВТ_Маршрут.СуммаОтгрузки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВТ_Долги.Ссылка,
| ВТ_Долги.Документ,
| ВТ_Долги.Вес,
| ВТ_Долги.Объем,
| ВТ_Долги.СуммаОстаток,
| ВТ_Долги.Контрагент,
| ВТ_Долги.ПринадлежитМаршруту,
| ВТ_Долги.СуммаОтгрузки
|ИЗ
| ВТ_Долги КАК ВТ_Долги
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.Ссылка КАК Ссылка,
| ВТ.Ссылка.Дата КАК ДатаДок,
| ВТ.РасходнаяНакладная КАК РасходнаяНакладная,
| СУММА(ВТ.Вес) КАК Вес,
| СУММА(ВТ.Объем) КАК Объем,
| СУММА(ВТ.СуммаДолга) КАК СуммаКОплате,
| ВТ.Контрагент КАК Контрагент,
| СУММА(ВТ.ПринадлежитМаршруту) КАК ПринадлежитМаршруту,
| СУММА(ВТ.СуммаОтгрузки) КАК СуммаОтгрузки
// | ВТ.РасходнаяНакладная.Дата КАК ДатаНакладной
|ИЗ
| ВТ КАК ВТ
|
|СГРУППИРОВАТЬ ПО
| ВТ.Ссылка,
| ВТ.РасходнаяНакладная,
| ВТ.Контрагент,
| ВТ.Ссылка.Дата
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| Контрагент,
// | ДатаНакладной УБЫВ,
| РасходнаяНакладная УБЫВ";
Результат = Запрос.ВыполнитьПакет();
ВыборкаДокументов = Результат[0].Выбрать();
ТаблицаЗаказов = Результат[5].Выгрузить();
ТаблицаЗаказов.Колонки.Добавить("ДатаНакладной");
Для каждого СтрокаЗаказ Из ТаблицаЗаказов Цикл
Попытка
СтрокаЗаказ.ДатаНакладной = СтрокаЗаказ.РасходнаяНакладная.Дата;
Исключение
СтрокаЗаказ.ДатаНакладной = Дата(2020,01,01);
КонецПопытки;
КонецЦикла;
ТаблицаЗаказов.Сортировать("Ссылка,Контрагент,ДатаНакладной Убыв,РасходнаяНакладная Убыв");
списокВидДок = Новый Соответствие;
списокВидДок.Вставить(Тип("ДокументСсылка.РасходнаяНакладная"),"Расх.Накл. №");
списокВидДок.Вставить(Тип("ДокументСсылка.ПоступлениеВКассу"),"Пост. в Кассу №");
списокВидДок.Вставить(Тип("ДокументСсылка.ПоступлениеНаСчет"),"Пост. в Банк №");
списокВидДок.Вставить(Тип("ДокументСсылка.ПриходнаяНакладная"),"Возвр.Накл. №");
Пока ВыборкаДокументов.Следующий() Цикл
ТекущийДокумент = ВыборкаДокументов.Ссылка;
Если НЕ ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ВыборкаДокументов.Номер, Истина, Истина);
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокДокумента");
ОбластьМакета.Параметры.ЗаголовокДокумента = НСтр("ru='Маршрутный лист № ';uk='Маршрутний лист № '", КодЯзыкаПечать)
+ НомерДокумента
+ НСтр("ru=' от ';uk=' від '", КодЯзыкаПечать)
+ Формат(ВыборкаДокументов.ДатаДокумента, "Л="+КодЯзыкаПечать+"; ДЛФ=DD");
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("НаправлениеДоставки");
ОбластьМакета.Параметры.печНаправление = ВыборкаДокументов.ГруппаКлиентов;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Ссылка", ВыборкаДокументов.Ссылка);
СтрокиЗаказы = ТаблицаЗаказов.НайтиСтроки(СтруктураОтбора);
ТаблицаДолгиКлиентов = ТаблицаЗаказов.Скопировать();
ТаблицаДолгиКлиентов.Свернуть("Контрагент,Ссылка","СуммаКОплате");
Вес = 0;
Объем = 0;
СуммаОтгрузки=0;
КвоНакладных=0;
ЖирныйШрифт = Новый Шрифт(, , Истина);
Обычный = Новый Шрифт(, , Ложь);
НачКлиент = Справочники.Контрагенты.ПустаяСсылка();
ПерваяСтрока = Истина;
Для каждого СтрокаЗаказ Из СтрокиЗаказы Цикл
Если НЕ ЗначениеЗаполнено(СтрокаЗаказ.Контрагент) Тогда
Продолжить;
КонецЕсли;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Контрагент", СтрокаЗаказ.Контрагент);
ПараметрыОтбора.Вставить("Ссылка",ВыборкаДокументов.Ссылка);
НайденныеДолги = ТаблицаДолгиКлиентов.НайтиСтроки(ПараметрыОтбора);
ДолгКлиента=0;
Для каждого СтрокаДолга Из НайденныеДолги Цикл
ДолгКлиента = СтрокаДолга.СуммаКОплате;
КонецЦикла;
//ДолгКлиента = ТаблицаДолгиКлиентов.Найти(СтрокаЗаказ.Контрагент,"Контрагент").СуммаКОплате;
Если НЕ НачКлиент = СтрокаЗаказ.Контрагент И НЕ ПерваяСтрока Тогда
ОбластьМакета.Параметры.Заполнить(Новый Структура("печКлиент,НомерНакладной,ДатаНакладной,СуммаКОплате"));
ТабличныйДокумент.Вывести(ОбластьМакета);
Если СтрокаЗаказ.ПринадлежитМаршруту = 1 Тогда
ОбластьМакета.Область("СтрокаТаблицы").Шрифт = ЖирныйШрифт;
Иначе
ОбластьМакета.Область("СтрокаТаблицы").Шрифт = Обычный;
КонецЕсли;
ОбластьМакета.Параметры.печКлиент = СтрокаЗаказ.Контрагент;
ОбластьМакета.Параметры.НомерНакладной = "Общий долг на:";
ОбластьМакета.Параметры.ДатаНакладной = ВыборкаДокументов.ДатаДокумента;
ОбластьМакета.Параметры.СуммаКОплате = ДолгКлиента;
ТабличныйДокумент.Вывести(ОбластьМакета);
НачКлиент = СтрокаЗаказ.Контрагент;
КонецЕсли;
Если ПерваяСтрока Тогда
Если СтрокаЗаказ.ПринадлежитМаршруту = 1 Тогда
ОбластьМакета.Область("СтрокаТаблицы").Шрифт = ЖирныйШрифт;
Иначе
ОбластьМакета.Область("СтрокаТаблицы").Шрифт = Обычный;
КонецЕсли;
ОбластьМакета.Параметры.печКлиент = СтрокаЗаказ.Контрагент;
ОбластьМакета.Параметры.НомерНакладной = "Общий долг на:";
ОбластьМакета.Параметры.ДатаНакладной = ВыборкаДокументов.ДатаДокумента;
ОбластьМакета.Параметры.СуммаКОплате = ДолгКлиента;
ТабличныйДокумент.Вывести(ОбластьМакета);
НачКлиент = СтрокаЗаказ.Контрагент;
КонецЕсли;
ПерваяСтрока = ЛОЖЬ;
//КОплатеПоЗаказу = ?(СтрокаЗаказ.КОплате<0, 0, СтрокаЗаказ.КОплате);
Если СтрокаЗаказ.ПринадлежитМаршруту = 1 Тогда
ОбластьМакета.Область("СтрокаТаблицы").Шрифт = ЖирныйШрифт;
//ОбластьМакета.Параметры.Заполнить(СтрокаЗаказ);
//ОбластьМакета.Параметры.НомерНакладной = "Расх.Накладная №"+СтрокаЗаказ.НомерРН;
//ОбластьМакета.Параметры.ДатаНакладной = СтрокаЗаказ.ДатаРН;
Вес = Вес + СтрокаЗаказ.Вес;
Объем = Объем + СтрокаЗаказ.Объем;
СуммаОтгрузки = СуммаОтгрузки + СтрокаЗаказ.СуммаОтгрузки;
КвоНакладных = КвоНакладных + 1;
Иначе
//ОбластьМакета.Параметры.НомерНакладной = "Расх.Накладная №"+СтрокаЗаказ.НомерЗаказа;
//ОбластьМакета.Параметры.ДатаНакладной = СтрокаЗаказ.ДатаЗаказа;
ОбластьМакета.Область("СтрокаТаблицы").Шрифт = Обычный;
//ОбластьМакета.Параметры.Заполнить(СтрокаЗаказ);
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(СтрокаЗаказ);
ВидДокСтр = списокВидДок.Получить(ТипЗнч(СтрокаЗаказ.РасходнаяНакладная));
Если ВидДокСтр = Неопределено Тогда
ВидДокСтр = "";
КонецЕсли;
Попытка
ОбластьМакета.Параметры.НомерНакладной = ВидДокСтр+СтрокаЗаказ.РасходнаяНакладная.Номер;
Исключение
ОбластьМакета.Параметры.НомерНакладной = ВидДокСтр+"";
КонецПопытки;
Попытка
ОбластьМакета.Параметры.ДатаНакладной = СтрокаЗаказ.РасходнаяНакладная.Дата;
Исключение
ОбластьМакета.Параметры.ДатаНакладной = "";
КонецПопытки;
ОбластьМакета.Параметры.РасшифровкаНакладная = СтрокаЗаказ.РасходнаяНакладная.Ссылка;
Если НачКлиент = СтрокаЗаказ.Контрагент Тогда
ОбластьМакета.Параметры.печКлиент = "";
Иначе
НачКлиент=СтрокаЗаказ.Контрагент;
Попытка
ОбластьМакета.Параметры.печКлиент = СокрЛП(СтрокаЗаказ.Контрагент)+" ("+СокрЛП(СтрокаЗаказ.РасходнаяНакладная.АдресДоставки)+")";
Исключение
ОбластьМакета.Параметры.печКлиент = СокрЛП(СтрокаЗаказ.Контрагент);
КонецПопытки;
КонецЕсли;
КонецЦикла;
ОбластьМакета.Параметры.Заполнить(Новый Структура("печКлиент,НомерНакладной,ДатаНакладной,СуммаКОплате"));
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Итоги");
ОбластьМакета.Параметры.КвоНакладных = КвоНакладных;
ОбластьМакета.Параметры.Вес = Вес;
ОбластьМакета.Параметры.СуммаОтгрузки = СуммаОтгрузки;
ТабличныйДокумент.Вывести(ОбластьМакета);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ТекущийДокумент);
КонецЦикла;
КонецЕсли;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ТолькоПросмотр = Истина;
Возврат ТабличныйДокумент;