Общее количество позиций и склад в форму печать

1. 11.09.21 10:11 Сейчас в теме
Доброго времени суток.
Конфигурация Управление торговлей для Украины, редакция 3.1 (3.1.8.1) то же что и УТ11
Подскажите пожалуйста как добавить сумму колонки количество, общее количество позиций в форму печать. В обработке печать общих форм.
И нужно создать строку с отображением склада с которого отпускается товар.
Помогите пож.
Вознаграждение за ответ
Показать полностью
Найденные решения
8. anykey_vrn 13.09.21 12:03 Сейчас в теме +1 $m
Самый простой способ перед циклом вывода строк ТЧ сделать счетчики и в цикле их переопределять.
ИтогКоличество = 0;
ИтогВес = 0
Для Каждого Стр из Товары Цикл
//Запоняем параметры строки
ИтогКоличество = ИтогКоличество + Стр.Количество;
ИтогВес  = ИтогВес + Стр.Вес;
КонецЦикла;


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

как проще сделать итог по количеству позиций?
3. seregapplk 11.09.21 13:46 Сейчас в теме
Не выводит в печатную форму.
Сообщение выводит если "Сообщить(ДанныеПечати.Ссылка.Склад);"
В форму нет.
В области "покупатель" создал ячейку с параметром "склад", что не так.
ОбластьМакета                                   = Макет.ПолучитьОбласть("Покупатель");
		ПредставлениеПолучателя                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
		РеквизитыПокупателя                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
		 Склад                                          = ДанныеПечати.Ссылка.Склад;
		СтруктураДанныхПокупатель = Новый Структура;
		СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
		СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
		СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
		СтруктураДанныхПокупатель.Вставить("Склад", ДанныеПечати.Ссылка.Склад);
		Сообщить(ДанныеПечати.Ссылка.Склад);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
Показать
4. seregapplk 12.09.21 09:45 Сейчас в теме
удалось, нужно редактировать форму в самой программе.
как проще сделать итог по количеству позиций номенклатуры?
5. seregapplk 12.09.21 10:54 Сейчас в теме
ВсегоКлво = ВыборкаПоТоварам.Количество(); это количество наименований, как выбрать количество штук?
опять же как вывести в ячейку на форме?
6. seregapplk 12.09.21 11:29 Сейчас в теме
еще задачка, вес (
нужно добавить общее количество и вес
7. seregapplk 12.09.21 11:48 Сейчас в теме
Подскажите пожалуйста как добавить сумму колонки количество, общее количество позиций в форму печать. В обработке печать общих форм.
И нужно создать строку c общим Весом из карточки номенклатуры.
8. anykey_vrn 13.09.21 12:03 Сейчас в теме +1 $m
Самый простой способ перед циклом вывода строк ТЧ сделать счетчики и в цикле их переопределять.
ИтогКоличество = 0;
ИтогВес = 0
Для Каждого Стр из Товары Цикл
//Запоняем параметры строки
ИтогКоличество = ИтогКоличество + Стр.Количество;
ИтогВес  = ИтогВес + Стр.Вес;
КонецЦикла;


Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
seregapplk; +1 Ответить
9. seregapplk 13.09.21 18:11 Сейчас в теме
Веса нет в таблице. Не получить его так просто.
10. anykey_vrn 14.09.21 09:21 Сейчас в теме
(9)Откуда тогда планируется получать вес?
11. seregapplk 14.09.21 09:53 Сейчас в теме +1 $m
из карточки номенклатуры
13. anykey_vrn 14.09.21 11:07 Сейчас в теме
(11) а таблица с номенклатурой для заполнения каким образом получается?

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

Это вариант со счетчиком, если таблица с номенклатурой получается запросом, можно переделать запрос и в запросе напрямую получать и вычислять весь для строки
14. seregapplk 14.09.21 11:17 Сейчас в теме
о
(13)Спасибо я понял, тут хотя бы с количеством разобраться ))
12. seregapplk 14.09.21 10:55 Сейчас в теме
Вес ладно не до него пока
Для Каждого Стр из Товары Цикл
//Запоняем параметры строки
ИтогКоличество = ИтогКоличество + Стр.Количество;


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


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

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


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

		// Если в накладной только услуги - перейдем к следующему документу
		Если НайденСледующий Тогда
			ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();			
			ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоТоварам, ИспользоватьРучныеСкидки Или ИспользоватьАвтоматическиеСкидки, КодЯзыкаПечать);
			ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
			ЕстьНДС = ДанныеПечати.УчитыватьНДС;
			ВыборкаПоТоварам.Сбросить();
		Иначе
			Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("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'",КодЯзыкаПечать),
			ВыборкаПоТоварам.Количество(),
			ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
		
		СтруктураДанныхСуммаПрописью.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
		СтруктураДанныхСуммаПрописью.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта, , КодЯзыкаПечать));
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхСуммаПрописью);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		Если ЗначениеЗаполнено(ДанныеПечати.МестоСоставленияДокумента) Тогда
			ОбластьМакета = Макет.ПолучитьОбласть("МестоСоставления");
			СтруктураДанныхМестоСоставления = Новый Структура;
			СтруктураДанныхМестоСоставления.Вставить("МестоСоставления", СокрЛП(ДанныеПечати.МестоСоставленияДокумента));
			ОбластьМакета.Параметры.Заполнить(СтруктураДанныхМестоСоставления);
			ТабличныйДокумент.Вывести(ОбластьМакета);
		КонецЕсли;
		
		// Выводим подписи
		ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
		
	    ОбластьМакета.Параметры.Заполнить(ФормированиеПечатныхФорм.СведенияОбОтветсвенныхЛицах(ДанныеПечати, КодЯзыкаПечать));
		
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		ЗавершениеДляПечатиКомплектов(КомплектыПечати, КомплектПечатиПоСсылке, ТабличныйДокумент, НомерСтрокиНачало);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
		
	КонецЦикла;
	 
КонецФункции

#КонецОбласти
Показать
26. seregapplk 17.09.21 09:57 Сейчас в теме
Все получилось, спасибо
(12)anykey_vrn
15. anykey_vrn 14.09.21 12:17 Сейчас в теме
Сумма          = 0;
		СуммаНДС       = 0;
		ВсегоСкидок    = 0;
		НомерСтроки    = 0;
		ВсегоБезСкидок = 0;
ИтогКоличество = 0; 
ИтогВес  = 0;


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

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

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


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

ОбластьТоварСтроки.Параметры.ИтогВес = ИтогВес  //вместо ИтогВес название твоего параметра на макете, название области тоже будет другое, по коду не понятно в какой области расположены эти параметры
ОбластьТоварСтроки.Параметры.ИтогКоличество = ИтогКоличество //вместо ИтогКоличество название твоего параметра на макете, название области тоже будет другое, по коду не понятно в какой области расположены эти параметры
16. seregapplk 15.09.21 15:00 Сейчас в теме
ох жесть какая

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

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

заполняется она
// Выводим подвал
		
		ОбластьНомера  = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
		ОбластьКодов   = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
		ОбластьТовар   = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
		ОбластьДанных  = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
		
		ТабличныйДокумент.Вывести(ОбластьНомера);
		
		Если ВыводитьКоды Тогда
			ТабличныйДокумент.Присоединить(ОбластьКодов);
		КонецЕсли;
		
		ТабличныйДокумент.Присоединить(ОбластьТовар);
		
		СтруктураДанныхВсегоСкидки = Новый Структура;
		Если ЕстьСкидки Тогда
			СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
			СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
		КонецЕсли;
		СтруктураДанныхВсегоСкидки.Вставить("Всего",  ФормированиеПечатныхФорм.ФорматСумм(Сумма));
		ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
		ТабличныйДокумент.Присоединить(ОбластьДанных);
Показать
18. seregapplk 15.09.21 17:22 Сейчас в теме
ОбластьПодвалТаблицы = макет.ПолучитьОбласть("ПодвалТаблицы");
19. seregapplk 15.09.21 17:26 Сейчас в теме
Пока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла

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


ругается
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1019)}: Поле объекта не обнаружено (ИтогКоличество)
ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество;
20. seregapplk 15.09.21 17:36 Сейчас в теме
ПодвалТаблицы в коде не выводиться, нужно через присоединить, как правильно присоединить?
21. seregapplk 16.09.21 09:46 Сейчас в теме
все считает, через сообщить выводит,
не могу вывести правильно в товар на форму
22. seregapplk 16.09.21 10:23 Сейчас в теме
с этим кодом пусто в строке товары

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




// Выводим заголовок таблицы Товары
		
		СуффиксОбластиСтроки = ?(ЕстьСкидки, "СоСкидкой", "") + ?(ЕстьНДС И ПоказыватьНДС, "СНДС", "");
		СуффиксОбластиКолонки = ?(ЕстьСкидки И ЕстьНДС И ПоказыватьНДС, "СоСкидкойСНДС", ?(ЕстьСкидки Или (ЕстьНДС И ПоказыватьНДС), "СоСкидкойИлиСНДС", ""));
		
		ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
		ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
			+ ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
		;
		
		ОбластьНомера  = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
		ОбластьКодов   = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
		ОбластьТовар   = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
		ОбластьДанных  = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
		
		ТабличныйДокумент.Вывести(ОбластьНомера);
			
		Если ВыводитьКоды Тогда
			ОбластьКодов.Параметры.ИмяКолонкиКодов = КолонкаКодов;
			ТабличныйДокумент.Присоединить(ОбластьКодов);
		КонецЕсли;
		
		ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры, ФормированиеПечатныхФорм.СформироватьЗаголовкиДляСуммовыхПоказателей(ДанныеПечати, КодЯзыкаПечать));
		
		Если ЕстьСкидки Тогда
			СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки", 
				ЗаголовокСкидки.Скидка,
				ЗаголовокСкидки.СуммаСкидки);
			ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
		КонецЕсли; 
		
		ТабличныйДокумент.Присоединить(ОбластьТовар);
		ТабличныйДокумент.Присоединить(ОбластьДанных);
		
		ОбластьНомераСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
		ОбластьКодовСтрокиСтандарт  = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
		ОбластьТоварСтрокиСтандарт  = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
		ОбластьДанныхСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
		
		ИспользоватьНаборы = Ложь;
		Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ВыборкаПоДокументам, "ЭтоНабор") Тогда
			ИспользоватьНаборы = Истина;
			ОбластьНомераСтрокиНабор         = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор"         + "|НомерСтроки");
			ОбластьНомераСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|НомерСтроки");
			ОбластьКодовСтрокиНабор          = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор"         + "|КолонкаКодов");
			ОбластьКодовСтрокиКомплектующие  = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|КолонкаКодов");
			ОбластьТоварСтрокиНабор          = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор"         + "|Товар"  + СуффиксОбластиКолонки);
			ОбластьТоварСтрокиКомплектующие  = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Товар"  + СуффиксОбластиКолонки);
			ОбластьДанныхСтрокиНабор         = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор"         + "|Данные" + СуффиксОбластиКолонки);
			ОбластьДанныхСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Данные" + СуффиксОбластиКолонки);
		КонецЕсли;
		
		Сумма          = 0;
		СуммаНДС       = 0;
		ВсегоСкидок    = 0;
		НомерСтроки    = 0;
		ВсегоБезСкидок = 0;
		ПустыеДанные = НаборыСервер.ПустыеДанные();
		 // вес 
		 ИтогКоличество = 0; 
         ИтогВес  = 0;
		  Пока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла
ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
ИтогВес  = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
КонецЦикла;
Сообщить(ИтогКоличество);
Сообщить(ИтогВес);
		
		
		
		// Выводим строки таблицы Товары
			
		Пока ВыборкаПоТоварам.Следующий() Цикл
			
			Если НаборыСервер.ИспользоватьОбластьНабор(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
				ОбластьКодовСтроки   = ОбластьКодовСтрокиНабор;
				ОбластьНомераСтроки  = ОбластьНомераСтрокиНабор;
				ОбластьДанныхСтроки  = ОбластьДанныхСтрокиНабор;
				ОбластьТоварСтроки   = ОбластьТоварСтрокиНабор;
			ИначеЕсли НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
				ОбластьКодовСтроки   = ОбластьКодовСтрокиКомплектующие;
				ОбластьНомераСтроки  = ОбластьНомераСтрокиКомплектующие;
				ОбластьДанныхСтроки  = ОбластьДанныхСтрокиКомплектующие;
				ОбластьТоварСтроки   = ОбластьТоварСтрокиКомплектующие;
			Иначе
				ОбластьКодовСтроки   = ОбластьКодовСтрокиСтандарт;
				ОбластьНомераСтроки  = ОбластьНомераСтрокиСтандарт;
				ОбластьДанныхСтроки  = ОбластьДанныхСтрокиСтандарт;
				ОбластьТоварСтроки   = ОбластьТоварСтрокиСтандарт;
			КонецЕсли;
			
			Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
				УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено);
			Иначе
				НомерСтроки = НомерСтроки + 1;
				УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", НомерСтроки);
			КонецЕсли;
			ТабличныйДокумент.Вывести(ОбластьНомераСтроки);
			
			Если ВыводитьКоды Тогда
				СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[КолонкаКодов]);
				ОбластьКодовСтроки.Параметры.Заполнить(СтруктураДанныхКоды);
				ТабличныйДокумент.Присоединить(ОбластьКодовСтроки);
			КонецЕсли;
			
			ПрефиксИПостфикс = НаборыСервер.ПолучитьПрефиксИПостфикс(ВыборкаПоТоварам, ИспользоватьНаборы);
			
			ОбластьТоварСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
			Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда	
            	Товар = ВыборкаПоТоварам.Содержание;
				СтруктураДанныхТовар = Новый Структура("Товар", Товар);
				ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
			Иначе	
				Товар = ПрефиксИПостфикс.Префикс + НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
					ВыборкаПоТоварам.ТоварНаименованиеПолное,
					ВыборкаПоТоварам.Характеристика,
					,
					,
					,
					ВыборкаПоТоварам.ЭтоВозвратнаяТара, 
					КодЯзыкаПечать) + ПрефиксИПостфикс.Постфикс;
				СтруктураДанныхТовар = Новый Структура("Товар", Товар);
				ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
			КонецЕсли;
			
			ТабличныйДокумент.Присоединить(ОбластьТоварСтроки);
			
			Если ЗаголовокСкидки.ЕстьСкидки Тогда
				СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки", 
					?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
				ОбластьДанныхСтроки.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
			КонецЕсли;
			
			Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
				ОбластьДанныхСтроки.Параметры.Заполнить(ПустыеДанные);
			Иначе
				ОбластьДанныхСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
			КонецЕсли;
			
			ТабличныйДокумент.Присоединить(ОбластьДанныхСтроки);
			
			Если Не НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
				Сумма          = Сумма          + ВыборкаПоТоварам.Сумма;
				СуммаНДС       = СуммаНДС       + ВыборкаПоТоварам.СуммаНДС;
				
				Если ЕстьСкидки Тогда
					ВсегоСкидок    = ВсегоСкидок    + ВыборкаПоТоварам.СуммаСкидки;
					ВсегоБезСкидок = ВсегоБезСкидок + ВыборкаПоТоварам.СуммаБезСкидки;
				КонецЕсли;
			КонецЕсли;
			
		КонецЦикла;
Показать
23. seregapplk 16.09.21 12:23 Сейчас в теме
Пока ВыборкаПоТоварам.Следующий() Цикл
куда то ни туда я его сделал
24. seregapplk 16.09.21 12:27 Сейчас в теме
все разобрался, я протупил)) Всем Спасибо огромное!
25. seregapplk 16.09.21 12:51 Сейчас в теме
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
получаем вес по количеству строк,
как получить вес по количеству номенклатуры?
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист 1С
Новосибирск
зарплата от 90 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Программист 1С
Москва
зарплата от 100 000 руб. до 140 000 руб.
Полный день

Программист 1С
Хабаровск
зарплата от 130 000 руб. до 160 000 руб.
Полный день