В обработчике печати не был сформирован табличный документ для: Макет

1. user1202776 03.02.23 15:02 Сейчас в теме
При нажатии на печатную форму,для каждой строки табличной части должна формироваться печатная форма, но выдает ошибку. Что делаю не так?
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка.Дата КАК ДатаДокумента,
	               |	РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка КАК Ссылка,
	               |	РаботаВВыходныеИПраздничныеДниСотрудники.Сотрудник КАК Сотрудник,
	               |	РаботаВВыходныеИПраздничныеДниСотрудники.Дата КАК Дата,
	               |	РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов КАК ОтработаноЧасов
	               |ИЗ
	               |	Документ.РаботаВВыходныеИПраздничныеДни.Сотрудники КАК РаботаВВыходныеИПраздничныеДниСотрудники
	               |ГДЕ
	               |	РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка = &Ссылка
	               |	И РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов <> 0";
	
	Запрос.УстановитьПараметр("Ссылка",МассивОбъектов[0]);
	
	ТаблицаЗнач=Новый ТаблицаЗначений;
	ТаблицаЗнач=Запрос.Выполнить().Выгрузить();

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

	КонецПроцедуры


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

	Макет = ПолучитьМакет("Макет");
	ОбластьМакета=Макет.ПолучитьОбласть("Область1");
	


	
	
	МассивДолжности=ПолучитьСклоненияСтроки("Должность", ,"ПД=Родительный");
	ДолжностьРодительскийПадеж = СтрСоединить(МассивДолжности, Разделитель);
	
	МассивСотрудники = ПолучитьСклоненияСтроки(Сотрудник, ,"ПД=Родительный");
	ФИОРодительскийПадеж = СтрСоединить(МассивСотрудники, Разделитель);

		ОбластьМакета.Параметры.ФИОРодительскийПадеж=НРег(Лев(ФИОРодительскийПадеж, 1)) + Сред(ФИОРодительскийПадеж, 2);
		ОбластьМакета.Параметры.ДолжностьРодительскийПадеж=НРег(Лев(ДолжностьРодительскийПадеж, 1)) + Сред(ДолжностьРодительскийПадеж, 2);
		ОбластьМакета.Параметры.ДатаДокумента=Формат(ДатаДокумента,"ДФ=dd.MM.yyyy");
		ОбластьМакета.Параметры.ФИО=Сотрудник;
		
	ТабДок.Вывести(ОбластьМакета);
		
	
	Возврат ТабДок;
КонецФункции
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. glek 119 03.02.23 15:51 Сейчас в теме
(1) я вот не слышал, чтобы в коллекцию печатных можно было бы выводить печатки с одинаковым идентификатором.
Сформируйте единый табличный документ и выведите.
5. user1202776 06.02.23 09:15 Сейчас в теме
(4)сможете привести пример?
2. vadim1011985 100 03.02.23 15:28 Сейчас в теме
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет", "Заявление на выход в праздничный день (Авенир)", СформироватьПечатнуюФорму(ОбъектыПечати,Строка.Сотрудник,Строка.ДатаДокумента));


ИдентификаторКоманды в функции СведенияОВнешнейОбработке "Макет" ?
3. user1202776 03.02.23 15:45 Сейчас в теме
(2)да
Функция СведенияОВнешнейОбработке() Экспорт
	//сообщим платформе, что перед ней печатная форма
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	//сообщаем, что печатная форма предназначается для определенного документа
	МасНазначений = Новый Массив;
	МасНазначений.Добавить("Документ.РаботаВВыходныеИПраздничныеДни");
	ПараметрыРегистрации.Назначение = МасНазначений;
	//определяем наименование, версию и режим безопасности
	ПараметрыРегистрации.Наименование = "Заявление на выход в праздничный день";
	ПараметрыРегистрации.Версия = "1.00";
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
	// добавляем команду
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Заявление на выход в праздничный день  '");
	НоваяКоманда.Идентификатор = "Макет";
	НоваяКоманда.Использование =ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "ПечатьMXL";
	Возврат ПараметрыРегистрации;
КонецФункции
Показать
Оставьте свое сообщение

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