Печать нескольких документов

1. user1619761 28.07.21 12:31 Сейчас в теме
Здравствуйте. В обработчике печатается несколько документов, и во всех них данные одни и те же. В чем я косякнул?

Функция СформироватьПечатнуюОтчетПоПродукции(МассивОбъектов)
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб = Истина;
	ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
	
	ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Отчет по продукции_Возврат";
	
	НомерТипаДокумента = 0;
	
	УстановитьПривилегированныйРежим(Истина);
		
	НомерТипаДокумента = 0;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ПервыйДокумент = Истина;
	
	Для Каждого Объект ИЗ МассивОбъектов Цикл
		
		Если Не ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;

	 	ДанныеДляПечати = ПолучитьДанныеДляПечатнойФормыОтчетаПоПродукции(МассивОбъектов);

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


Функция ПолучитьДанныеДляПечатнойФормыОтчетаПоПродукции(МассивОбъектов) Экспорт 
	
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("СсылкаНаДокумент", МассивОбъектов[0].Ссылка);

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

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

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

	
	РезультатПоШапке          = Шапка;
	РезультатПоТабличнойЧасти = РезультатЗапроса;
	
	СтруктураДанныхДляПечати 	= Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти",
	                                               РезультатПоШапке, РезультатПоТабличнойЧасти);
	
	Возврат СтруктураДанныхДляПечати;


КонецФункции // ПолучитьДанныеДляПечатнойФормыОтчета()
Показать
По теме из базы знаний
Найденные решения
6. user5300 1014 28.07.21 13:49 Сейчас в теме
(5)
вот, попробуй

Функция СформироватьПечатнуюОтчетПоПродукции(МассивОбъектов)

	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб = Истина;
	ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

	ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Отчет по продукции_Возврат";

	НомерТипаДокумента = 0;

	УстановитьПривилегированныйРежим(Истина);

	НомерТипаДокумента = 0;

	УстановитьПривилегированныйРежим(Истина);

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

	Для Каждого Объект ИЗ МассивОбъектов Цикл

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

		ПервыйДокумент = Ложь;

		ДанныеДляПечати = ПолучитьДанныеДляПечатнойФормыОтчетаПоПродукции(Объект);


		ЗаполнитьТабличныйДокументОтчетаЗаСмену(
		ТабличныйДокумент,
		ДанныеДляПечати
		);

	КонецЦикла;

	ТабличныйДокумент.ОтображатьСетку = Ложь;
	ТабличныйДокумент.Защита = Ложь;
	ТабличныйДокумент.ТолькоПросмотр = Истина;
	ТабличныйДокумент.ОтображатьЗаголовки = Ложь;
	Возврат ТабличныйДокумент;
КонецФункции


Функция ПолучитьДанныеДляПечатнойФормыОтчетаПоПродукции(МассивОбъектов) Экспорт

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

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


	Шапка = Запрос.Выполнить().Выбрать();

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

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


	РезультатПоШапке = Шапка;
	РезультатПоТабличнойЧасти = РезультатЗапроса;

	СтруктураДанныхДляПечати = Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти",
	РезультатПоШапке, РезультатПоТабличнойЧасти);

	Возврат СтруктураДанныхДляПечати;


КонецФункции // ПолучитьДанныеДляПечатнойФормыОтчета()

Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. OiSorry 28.07.21 12:47 Сейчас в теме
вот здесь -
Запрос.УстановитьПараметр("СсылкаНаДокумент", МассивОбъектов[0].Ссылка);
3. user1619761 28.07.21 12:50 Сейчас в теме
(2) понял, спасибо . Можете подсказать, пожалуйста, что надо прописывать? Просто
Запрос.УстановитьПараметр("СсылкаНаДокумент",МассивОбъектов)
?
4. user5300 1014 28.07.21 12:58 Сейчас в теме
(3) запросы пропиши внутри цикла
...
Для Каждого Объект ИЗ МассивОбъектов Цикл
...
Запрос.УстановитьПараметр("СсылкаНаДокумент",Объект.Ссылка) 
...
Конеццикла
5. user1619761 28.07.21 13:25 Сейчас в теме
(4) прописал, одна печатная форма вывелась полностью пустой, вторая все так же,с повторяющимися данными
6. user5300 1014 28.07.21 13:49 Сейчас в теме
(5)
вот, попробуй

Функция СформироватьПечатнуюОтчетПоПродукции(МассивОбъектов)

	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб = Истина;
	ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

	ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Отчет по продукции_Возврат";

	НомерТипаДокумента = 0;

	УстановитьПривилегированныйРежим(Истина);

	НомерТипаДокумента = 0;

	УстановитьПривилегированныйРежим(Истина);

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

	Для Каждого Объект ИЗ МассивОбъектов Цикл

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

		ПервыйДокумент = Ложь;

		ДанныеДляПечати = ПолучитьДанныеДляПечатнойФормыОтчетаПоПродукции(Объект);


		ЗаполнитьТабличныйДокументОтчетаЗаСмену(
		ТабличныйДокумент,
		ДанныеДляПечати
		);

	КонецЦикла;

	ТабличныйДокумент.ОтображатьСетку = Ложь;
	ТабличныйДокумент.Защита = Ложь;
	ТабличныйДокумент.ТолькоПросмотр = Истина;
	ТабличныйДокумент.ОтображатьЗаголовки = Ложь;
	Возврат ТабличныйДокумент;
КонецФункции


Функция ПолучитьДанныеДляПечатнойФормыОтчетаПоПродукции(МассивОбъектов) Экспорт

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

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


	Шапка = Запрос.Выполнить().Выбрать();

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

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


	РезультатПоШапке = Шапка;
	РезультатПоТабличнойЧасти = РезультатЗапроса;

	СтруктураДанныхДляПечати = Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти",
	РезультатПоШапке, РезультатПоТабличнойЧасти);

	Возврат СтруктураДанныхДляПечати;


КонецФункции // ПолучитьДанныеДляПечатнойФормыОтчета()

Показать
7. user1619761 28.07.21 14:12 Сейчас в теме
(6)
МассивОбъектов
огромное спасибо!!! Получилось.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот