Доброго времени суток.
Конфигурация Управление торговлей для Украины, редакция 3.1 (3.1.8.1) то же что и УТ11
Подскажите пожалуйста как добавить сумму колонки количество, общее количество позиций в форму печать. В обработке печать общих форм.
И нужно создать строку с отображением склада с которого отпускается товар.
Помогите пож.
---
Самый простой способ перед циклом вывода строк ТЧ сделать счетчики и в цикле их переопределять.

```1c
    ИтогКоличество = 0;
    ИтогВес = 0
    Для Каждого Стр из Товары Цикл
    //Запоняем параметры строки
    ИтогКоличество = ИтогКоличество + Стр.Количество;
    ИтогВес = ИтогВес + Стр.Вес;
    КонецЦикла;
```

Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
---
сделал ("Склад", ДанныеПечати.Ссылка.Склад);

как проще сделать итог по количеству позиций?
---
Не выводит в печатную форму.
Сообщение выводит если "Сообщить(ДанныеПечати.Ссылка.Склад);"
В форму нет.
В области "покупатель" создал ячейку с параметром "склад", что не так.

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

```1c
    ИтогКоличество = 0;
    ИтогВес = 0
    Для Каждого Стр из Товары Цикл
    //Запоняем параметры строки
    ИтогКоличество = ИтогКоличество + Стр.Количество;
    ИтогВес = ИтогВес + Стр.Вес;
    КонецЦикла;
```

Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
---
Веса нет в таблице. Не получить его так просто.
---
Откуда тогда планируется получать вес?
---
из карточки номенклатуры
---
а таблица с номенклатурой для заполнения каким образом получается?

ИтогВес = ИтогВес + (Стр.Номенклатура.Вес*Стр.Количество);

Это вариант со счетчиком, если таблица с номенклатурой получается запросом, можно переделать запрос и в запросе напрямую получать и вычислять весь для строки
---
о
(13)Спасибо я понял, тут хотя бы с количеством разобраться ))
---
Вес ладно не до него пока

```1c
    Для Каждого Стр из Товары Цикл
    //Запоняем параметры строки
    ИтогКоличество = ИтогКоличество + Стр.Количество;
```

Товары - Переменная не определена (Товары)

```1c
    Функция ЗаполнитьТабличныйДокументРасходнаяНакладная(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати, КомплектыПечати, ПараметрыПечати, ПараметрыВывода)

    Перем КомплектПечатиПоСсылке;

    КодЯзыкаПечать = ПараметрыВывода.КодЯзыкаДляМногоязычныхПечатныхФорм;

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

    Если ПараметрыПечати <> Неопределено И ПараметрыПечати.Свойство("ОтображатьСкидки") Тогда
    ОтображатьСкидки = ПараметрыПечати.ОтображатьСкидки;
    Иначе
    ОтображатьСкидки = (Константы.ОтображениеСкидокВПечатныхФормахДокументовПродажи.Получить()
    <> Перечисления.ВариантыВыводаСкидокВПечатныхФормах.НеВыводитьСкидки);
    КонецЕсли;

    КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
    ВыводитьКоды = ЗначениеЗаполнено(КолонкаКодов);

    ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВПродажах");
    ИспользоватьАвтоматическиеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьАвтоматическиеСкидкиВПродажах");

    ПоказыватьНДС = Константы.ВыводитьДопКолонкиНДС.Получить();

    ПервыйДокумент = Истина;

    Пока ДанныеПечати.Следующий() Цикл

    //Для печати комплектов
    Отказ = Ложь;

    ПодготовкаДляПечатиКомплектов(ДанныеПечати, КомплектыПечати, КомплектПечатиПоСсылке, Отказ);
    Если Отказ Тогда
    Продолжить;
    КонецЕсли;

    // Найдем в выборке товары по текущему документу
    СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
    НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);

    // В одном вызове этой функции обрабатываются документы одного типа
    Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов")
    ИЛИ ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.ВыкупВозвратнойТарыКлиентом")
    ИЛИ ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
    ИспользоватьРучныеСкидки = Ложь;
    ИспользоватьАвтоматическиеСкидки = Ложь;
    КонецЕсли;

    Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
    ВыводитьКоды = Ложь;
    КонецЕсли;

    // Если в накладной только услуги - перейдем к следующему документу
    Если НайденСледующий Тогда
    ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
    ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоТоварам, ИспользоватьРучныеСкидки Или ИспользоватьАвтоматическиеСкидки, КодЯзыкаПечать);
    ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
    ЕстьНДС = ДанныеПечати.УчитыватьНДС;
    ВыборкаПоТоварам.Сбросить();
    Иначе
    Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
    НСтр("ru='В документе %1 отсутствуют товары. Печать накладной не требуется';uk='У документі %1 відсутні товари. Друк накладної не потрібний'"),
    ДанныеПечати.Ссылка
    );

    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
    Текст,
    ДанныеПечати.Ссылка
    );
    Продолжить;
    КонецЕсли;

    // Макет необходимо получать для каждого документа, т.к. размеры колонок изменяются динамически
    Макет = УправлениеПечатью.ПолучитьМакет("Обработка.ПечатьОбщихФорм.ПФ_MXL_РасходнаяНакладная", КодЯзыкаПечать);

    Если Не ПервыйДокумент Тогда
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;

    ПервыйДокумент = Ложь;
    НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

    // Выводим шапку накладной

    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);

    ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать), КодЯзыкаПечать);

    СтруктураДанныхШапки = Новый Структура;
    СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
    ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
    ТабличныйДокумент.Вывести(ОбластьМакета);

    СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетОрганизации);
    СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);

    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
    РеквизитыПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);

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

    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
    РеквизитыПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
    Склад = ДанныеПечати.Ссылка.Склад;
    СтруктураДанныхПокупатель = Новый Структура;
    СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
    СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
    СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
    ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
    Запрос2 = Новый Запрос(

    "ВЫБРАТЬ
    | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
    | РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
    | РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Регистратор
    |ИЗ
    | РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Регистратор, Движения, ) КАК РасчетыСКлиентамиОстаткиИОбороты
    |ГДЕ
    | РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
    | И РасчетыСКлиентамиОстаткиИОбороты.Период = &Регистратор" );

    Запрос2.УстановитьПараметр("Контрагент", ДанныеПечати.Получатель);
    Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);
    Результат2 = Запрос2.Выполнить();

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

    Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
    КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
    Если КонечныйДолг < 0 Тогда
    ОбластьМакета.Параметры.ДолгИнфа = "Передоплата контрагента з урахуванням цієї накладної становить " + (-1)*КонечныйДолг + " грн.";
    Иначе
    ОбластьМакета.Параметры.ДолгИнфа = "Заборгованість контрагента з урахуванням цієї накладної становить " + КонечныйДолг + " грн.";

    КонецЕсли;
    Иначе
    ОбластьМакета.Параметры.ДолгИнфа = ";
    КонецЕсли;
    ТабличныйДокумент.Вывести(ОбластьМакета);

    // Выводим дополнительно информацию о договоре и заказе
    СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
    Если ДанныеПечати.ПечататьЗаказ Тогда
    // Реализацию и договор уже вывели
    СписокДополнительныхПараметров = СписокДополнительныхПараметров + "Заказ,";
    КонецЕсли;
    СписокДополнительныхПараметров = СписокДополнительныхПараметров + "АдресДоставки,";

    МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(ДанныеПечати, СписокДополнительныхПараметров, КодЯзыкаПечать);
    ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
    Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
    ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
    ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЦикла;

    // Выводим заголовок таблицы Товары

    СуффиксОбластиСтроки = ?(ЕстьСкидки, "СоСкидкой", ") + ?(ЕстьНДС И ПоказыватьНДС, "СНДС", ");
    СуффиксОбластиКолонки = ?(ЕстьСкидки И ЕстьНДС И ПоказыватьНДС, "СоСкидкойСНДС", ?(ЕстьСкидки Или (ЕстьНДС И ПоказыватьНДС), "СоСкидкойИлиСНДС", "));

    ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
    ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
    + ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
    ;

    ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
    ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
    ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);

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

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

    ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры, ФормированиеПечатныхФорм.СформироватьЗаголовкиДляСуммовыхПоказателей(ДанныеПечати, КодЯзыкаПечать));

    Если ЕстьСкидки Тогда
    СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки",
    ЗаголовокСкидки.Скидка,
    ЗаголовокСкидки.СуммаСкидки);
    ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьТовар);
    ТабличныйДокумент.Присоединить(ОбластьДанных);

    ОбластьНомераСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
    ОбластьКодовСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
    ОбластьТоварСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанныхСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);

    ИспользоватьНаборы = Ложь;
    Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ВыборкаПоДокументам, "ЭтоНабор") Тогда
    ИспользоватьНаборы = Истина;
    ОбластьНомераСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|НомерСтроки");
    ОбластьНомераСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|НомерСтроки");
    ОбластьКодовСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|КолонкаКодов");
    ОбластьКодовСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|КолонкаКодов");
    ОбластьТоварСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Товар" + СуффиксОбластиКолонки);
    ОбластьТоварСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанныхСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Данные" + СуффиксОбластиКолонки);
    ОбластьДанныхСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Данные" + СуффиксОбластиКолонки);
    КонецЕсли;

    Сумма = 0;
    СуммаНДС = 0;
    ВсегоСкидок = 0;
    НомерСтроки = 0;
    ВсегоБезСкидок = 0;

    ПустыеДанные = НаборыСервер.ПустыеДанные();

    // Выводим строки таблицы Товары

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

    Если НаборыСервер.ИспользоватьОбластьНабор(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    ОбластьКодовСтроки = ОбластьКодовСтрокиНабор;
    ОбластьНомераСтроки = ОбластьНомераСтрокиНабор;
    ОбластьДанныхСтроки = ОбластьДанныхСтрокиНабор;
    ОбластьТоварСтроки = ОбластьТоварСтрокиНабор;
    ИначеЕсли НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    ОбластьКодовСтроки = ОбластьКодовСтрокиКомплектующие;
    ОбластьНомераСтроки = ОбластьНомераСтрокиКомплектующие;
    ОбластьДанныхСтроки = ОбластьДанныхСтрокиКомплектующие;
    ОбластьТоварСтроки = ОбластьТоварСтрокиКомплектующие;
    Иначе
    ОбластьКодовСтроки = ОбластьКодовСтрокиСтандарт;
    ОбластьНомераСтроки = ОбластьНомераСтрокиСтандарт;
    ОбластьДанныхСтроки = ОбластьДанныхСтрокиСтандарт;
    ОбластьТоварСтроки = ОбластьТоварСтрокиСтандарт;
    КонецЕсли;

    Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено);
    Иначе
    НомерСтроки = НомерСтроки + 1;
    УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", НомерСтроки);
    КонецЕсли;
    ТабличныйДокумент.Вывести(ОбластьНомераСтроки);

    Если ВыводитьКоды Тогда
    СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[КолонкаКодов]);
    ОбластьКодовСтроки.Параметры.Заполнить(СтруктураДанныхКоды);
    ТабличныйДокумент.Присоединить(ОбластьКодовСтроки);
    КонецЕсли;

    ПрефиксИПостфикс = НаборыСервер.ПолучитьПрефиксИПостфикс(ВыборкаПоТоварам, ИспользоватьНаборы);

    ОбластьТоварСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
    Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
    Товар = ВыборкаПоТоварам.Содержание;
    СтруктураДанныхТовар = Новый Структура("Товар", Товар);
    ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
    Иначе
    Товар = ПрефиксИПостфикс.Префикс + НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
    ВыборкаПоТоварам.ТоварНаименованиеПолное,
    ВыборкаПоТоварам.Характеристика,
    ,
    ,
    ,
    ВыборкаПоТоварам.ЭтоВозвратнаяТара,
    КодЯзыкаПечать) + ПрефиксИПостфикс.Постфикс;
    СтруктураДанныхТовар = Новый Структура("Товар", Товар);
    ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьТоварСтроки);

    Если ЗаголовокСкидки.ЕстьСкидки Тогда
    СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки",
    ?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
    ОбластьДанныхСтроки.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
    КонецЕсли;

    Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    ОбластьДанныхСтроки.Параметры.Заполнить(ПустыеДанные);
    Иначе
    ОбластьДанныхСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьДанныхСтроки);

    Если Не НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    Сумма = Сумма + ВыборкаПоТоварам.Сумма;
    СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;

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

    КонецЦикла;

    // Выводим подвал

    ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
    ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
    ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);

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

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

    ТабличныйДокумент.Присоединить(ОбластьТовар);

    СтруктураДанныхВсегоСкидки = Новый Структура;
    Если ЕстьСкидки Тогда
    СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
    СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
    КонецЕсли;
    СтруктураДанныхВсегоСкидки.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
    ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
    ТабличныйДокумент.Присоединить(ОбластьДанных);

    // Выводим ИтогоНДС

    Область = Макет.ПолучитьОбласть("ПодвалНДС");
    СтруктураДанныхПодвалНДС = Новый Структура;
    СтруктураДанныхПодвалНДС.Вставить("ВсегоНДС", СуммаНДС);
    Если ЕстьНДС Тогда
    СтруктураДанныхПодвалНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать)));
    Если Не ДанныеПечати.ЦенаВключаетНДС Тогда
    Область.Параметры.Заполнить(СтруктураДанныхПодвалНДС);
    ТабличныйДокумент.Вывести(Область);
    СтруктураДанныхПодвалНДС = Новый Структура;
    СтруктураДанныхПодвалНДС.Вставить("НДС", НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать));
    СтруктураДанныхПодвалНДС.Вставить("ВсегоНДС", Сумма + СуммаНДС);
    КонецЕсли;
    Иначе
    СтруктураДанныхПодвалНДС.Вставить("НДС", НСтр("ru='Без налога (НДС)';uk='Без податку (ПДВ)'",КодЯзыкаПечать));
    КонецЕсли;
    Область.Параметры.Заполнить(СтруктураДанныхПодвалНДС);
    ТабличныйДокумент.Присоединить(Область);

    // Выводим Сумму прописью

    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
    СтруктураДанныхСуммаПрописью = Новый Структура;

    ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
    НСтр("ru='Всего наименований %1, на сумму %2';uk='Всього найменувань %1, на суму %2'",КодЯзыкаПечать),
    ВыборкаПоТоварам.Количество(),
    ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));

    СтруктураДанныхСуммаПрописью.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
    СтруктураДанныхСуммаПрописью.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта, , КодЯзыкаПечать));
    ОбластьМакета.Параметры.Заполнить(СтруктураДанныхСуммаПрописью);
    ТабличныйДокумент.Вывести(ОбластьМакета);

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

    // Выводим подписи
    ОбластьМакета = Макет.ПолучитьОбласть("Подписи");

    ОбластьМакета.Параметры.Заполнить(ФормированиеПечатныхФорм.СведенияОбОтветсвенныхЛицах(ДанныеПечати, КодЯзыкаПечать));

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

    ЗавершениеДляПечатиКомплектов(КомплектыПечати, КомплектПечатиПоСсылке, ТабличныйДокумент, НомерСтрокиНачало);

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

    КонецЦикла;

    КонецФункции

    #КонецОбласти
```
---
Все получилось, спасибо
(12)anykey_vrn
---
```1c
    Сумма = 0;
    СуммаНДС = 0;
    ВсегоСкидок = 0;
    НомерСтроки = 0;
    ВсегоБезСкидок = 0;
    ИтогКоличество = 0;
    ИтогВес = 0;
```

Тут добавляешь счетчики.

В конце Цикла переопределяешь значения счетчиков

```1c
    Пока ВыборкаПоТоварам.Следующий() Цикл
    //Тут все тело цикла
    ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
    ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
    КонецЦикла;
```

Определить в какой области у тебя находятся параметры с этими итогами и заполнить.
будет что то потипу:

```1c
    ОбластьТоварСтроки.Параметры.ИтогВес = ИтогВес //вместо ИтогВес название твоего параметра на макете, название области тоже будет другое, по коду не понятно в какой области расположены эти параметры
    ОбластьТоварСтроки.Параметры.ИтогКоличество = ИтогКоличество //вместо ИтогКоличество название твоего параметра на макете, название области тоже будет другое, по коду не понятно в какой области расположены эти параметры
```
---
ох жесть какая

```1c
    Сумма = 0;
    СуммаНДС = 0;
    ВсегоСкидок = 0;
    НомерСтроки = 0;
    ВсегоБезСкидок = 0;
    ИтогКоличество = 0;
    ИтогВес = 0;

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

    ПустыеДанные = НаборыСервер.ПустыеДанные();

    // Выводим строки таблицы Товары
```

{Обработка.ПечатьОбщихФорм.МодульМенеджера(1017,1)}: Переменная не определена (ОбластьПодвалТаблицы)
<<?>>ОбластьПодвалТаблицы.Параметры.ИтогВес = ИтогВес; (Проверка: Сервер)
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1018,1)}: Переменная не определена (ОбластьПодвалТаблицы)
<<?>>ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество; (Проверка: Сервер)
https://drive.google.com/file/d/1JLYnLH37PAAFjvaGbEIfsJLEAAWdGNen/view?usp=sharing
---
Как обозначить переменную, чтоб не накосячить

заполняется она

```1c
    // Выводим подвал

    ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
    ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
    ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);

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

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

    ТабличныйДокумент.Присоединить(ОбластьТовар);

    СтруктураДанныхВсегоСкидки = Новый Структура;
    Если ЕстьСкидки Тогда
    СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
    СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
    КонецЕсли;
    СтруктураДанныхВсегоСкидки.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
    ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
    ТабличныйДокумент.Присоединить(ОбластьДанных);
```
---
ОбластьПодвалТаблицы = макет.ПолучитьОбласть("ПодвалТаблицы");
---
```1c
    Пока ВыборкаПоТоварам.Следующий() Цикл
    //Тут все тело цикла

    ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
    ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
    КонецЦикла;
    ОбластьПодвалТаблицы = макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьПодвалТаблицы.Параметры.ИтогВес = ИтогВес;
    ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество;
```

ругается
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1019)}: Поле объекта не обнаружено (ИтогКоличество)
ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество;
---
ПодвалТаблицы в коде не выводиться, нужно через присоединить, как правильно присоединить?
---
все считает, через сообщить выводит,
не могу вывести правильно в товар на форму
---
с этим кодом пусто в строке товары

```1c
    Сумма = 0;
    СуммаНДС = 0;
    ВсегоСкидок = 0;
    НомерСтроки = 0;
    ВсегоБезСкидок = 0;
    ПустыеДанные = НаборыСервер.ПустыеДанные();
    // вес
    ИтогКоличество = 0;
    ИтогВес = 0;
    Пока ВыборкаПоТоварам.Следующий() Цикл
    //Тут все тело цикла
    ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
    ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
    КонецЦикла;
    Сообщить(ИтогКоличество);
    Сообщить(ИтогВес);
```

```1c
    // Выводим заголовок таблицы Товары

    СуффиксОбластиСтроки = ?(ЕстьСкидки, "СоСкидкой", ") + ?(ЕстьНДС И ПоказыватьНДС, "СНДС", ");
    СуффиксОбластиКолонки = ?(ЕстьСкидки И ЕстьНДС И ПоказыватьНДС, "СоСкидкойСНДС", ?(ЕстьСкидки Или (ЕстьНДС И ПоказыватьНДС), "СоСкидкойИлиСНДС", "));

    ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
    ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
    + ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
    ;

    ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
    ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
    ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);

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

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

    ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры, ФормированиеПечатныхФорм.СформироватьЗаголовкиДляСуммовыхПоказателей(ДанныеПечати, КодЯзыкаПечать));

    Если ЕстьСкидки Тогда
    СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки",
    ЗаголовокСкидки.Скидка,
    ЗаголовокСкидки.СуммаСкидки);
    ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьТовар);
    ТабличныйДокумент.Присоединить(ОбластьДанных);

    ОбластьНомераСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
    ОбластьКодовСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
    ОбластьТоварСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанныхСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);

    ИспользоватьНаборы = Ложь;
    Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ВыборкаПоДокументам, "ЭтоНабор") Тогда
    ИспользоватьНаборы = Истина;
    ОбластьНомераСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|НомерСтроки");
    ОбластьНомераСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|НомерСтроки");
    ОбластьКодовСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|КолонкаКодов");
    ОбластьКодовСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|КолонкаКодов");
    ОбластьТоварСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Товар" + СуффиксОбластиКолонки);
    ОбластьТоварСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Товар" + СуффиксОбластиКолонки);
    ОбластьДанныхСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Данные" + СуффиксОбластиКолонки);
    ОбластьДанныхСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Данные" + СуффиксОбластиКолонки);
    КонецЕсли;

    Сумма = 0;
    СуммаНДС = 0;
    ВсегоСкидок = 0;
    НомерСтроки = 0;
    ВсегоБезСкидок = 0;
    ПустыеДанные = НаборыСервер.ПустыеДанные();
    // вес
    ИтогКоличество = 0;
    ИтогВес = 0;
    Пока ВыборкаПоТоварам.Следующий() Цикл
    //Тут все тело цикла
    ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
    ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
    КонецЦикла;
    Сообщить(ИтогКоличество);
    Сообщить(ИтогВес);

    // Выводим строки таблицы Товары

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

    Если НаборыСервер.ИспользоватьОбластьНабор(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    ОбластьКодовСтроки = ОбластьКодовСтрокиНабор;
    ОбластьНомераСтроки = ОбластьНомераСтрокиНабор;
    ОбластьДанныхСтроки = ОбластьДанныхСтрокиНабор;
    ОбластьТоварСтроки = ОбластьТоварСтрокиНабор;
    ИначеЕсли НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    ОбластьКодовСтроки = ОбластьКодовСтрокиКомплектующие;
    ОбластьНомераСтроки = ОбластьНомераСтрокиКомплектующие;
    ОбластьДанныхСтроки = ОбластьДанныхСтрокиКомплектующие;
    ОбластьТоварСтроки = ОбластьТоварСтрокиКомплектующие;
    Иначе
    ОбластьКодовСтроки = ОбластьКодовСтрокиСтандарт;
    ОбластьНомераСтроки = ОбластьНомераСтрокиСтандарт;
    ОбластьДанныхСтроки = ОбластьДанныхСтрокиСтандарт;
    ОбластьТоварСтроки = ОбластьТоварСтрокиСтандарт;
    КонецЕсли;

    Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено);
    Иначе
    НомерСтроки = НомерСтроки + 1;
    УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", НомерСтроки);
    КонецЕсли;
    ТабличныйДокумент.Вывести(ОбластьНомераСтроки);

    Если ВыводитьКоды Тогда
    СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[КолонкаКодов]);
    ОбластьКодовСтроки.Параметры.Заполнить(СтруктураДанныхКоды);
    ТабличныйДокумент.Присоединить(ОбластьКодовСтроки);
    КонецЕсли;

    ПрефиксИПостфикс = НаборыСервер.ПолучитьПрефиксИПостфикс(ВыборкаПоТоварам, ИспользоватьНаборы);

    ОбластьТоварСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
    Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
    Товар = ВыборкаПоТоварам.Содержание;
    СтруктураДанныхТовар = Новый Структура("Товар", Товар);
    ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
    Иначе
    Товар = ПрефиксИПостфикс.Префикс + НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
    ВыборкаПоТоварам.ТоварНаименованиеПолное,
    ВыборкаПоТоварам.Характеристика,
    ,
    ,
    ,
    ВыборкаПоТоварам.ЭтоВозвратнаяТара,
    КодЯзыкаПечать) + ПрефиксИПостфикс.Постфикс;
    СтруктураДанныхТовар = Новый Структура("Товар", Товар);
    ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьТоварСтроки);

    Если ЗаголовокСкидки.ЕстьСкидки Тогда
    СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки",
    ?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
    ОбластьДанныхСтроки.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
    КонецЕсли;

    Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    ОбластьДанныхСтроки.Параметры.Заполнить(ПустыеДанные);
    Иначе
    ОбластьДанныхСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
    КонецЕсли;

    ТабличныйДокумент.Присоединить(ОбластьДанныхСтроки);

    Если Не НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
    Сумма = Сумма + ВыборкаПоТоварам.Сумма;
    СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;

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

    КонецЦикла;
```
---
Пока ВыборкаПоТоварам.Следующий() Цикл
куда то ни туда я его сделал
---
все разобрался, я протупил)) Всем Спасибо огромное!
---
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
получаем вес по количеству строк,
как получить вес по количеству номенклатуры?