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

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

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

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


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

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


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

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


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

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день

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

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

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