ВПФ. В обработчике печати не был сформирован табличный документ

1. hasan-rusel 11 07.05.24 14:01 Сейчас в теме
Добрый день! Делаю внешнюю печатную форму, но выходит ошибка при печати: В обработчике печати не был сформирован табличный документ для: ПФ_MXL_АктНаБракСВиновником.
Погуглил, вроде и идентификатор проверил, вроде все верно, но ошибка не проходит.


Вот код:

 Функция ПечатьПриемоСдаточнойНакладной(МассивОбъектов, ОбъектыПечати) Экспорт
	
	ТабДокумент = Новый ТабличныйДокумент;
	
	ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктНаБракСВиновником";
	

	Для Каждого Элемент ИЗ МассивОбъектов Цикл
		Макет = ПолучитьМакет("Макет");
		
		Область = Макет.ПолучитьОбласть("Область1");
		Область.Параметры.Акт = "АКТ НА БРАК № " + ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Элемент.Номер); 
		Область.Параметры.Дата = Формат(Элемент.Дата, "ДЛФ=DD");
		ТабДокумент.Вывести(Область);	
		
		
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПеремещениеТоваровТовары.Ссылка.Номер КАК Номер,
		|	ПеремещениеТоваровТовары.Ссылка.Дата КАК Дата,
		|	ПеремещениеТоваровТовары.Ссылка.СкладОтправитель КАК СкладОтправитель,
		|	ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
		|	ПеремещениеТоваровТовары.Количество КАК Количество,
		|	ПеремещениеТоваровТовары.рар_ГруппаАналитическогоУчета.Наименование КАК ГАУ
		|ИЗ
		|	Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
		|ГДЕ
		|	ПеремещениеТоваровТовары.Ссылка = &Ссылка";
	
	Запрос.УстановитьПараметр("Ссылка", Элемент);
	
	РезультатЗапроса = Запрос.Выполнить().Выгрузить();
	
	Если РезультатЗапроса.Количество() > 1 Тогда
		Сообщить("В документе больше 1 детали ! Акт не верный !",СтатусСообщения.Важное);
		Возврат Неопределено;
	КонецЕсли;
	
	


	  	Область = Макет.ПолучитьОбласть("Область2");
		Область.Параметры.Цех = Лев(Элемент.СкладОтправитель.Подразделение.Наименование,2);
		Область.Параметры.Деталь = РезультатЗапроса[0].Номенклатура;
		Область.Параметры.Количество = РезультатЗапроса[0].Количество;
		ТабДокумент.Вывести(Область);
		
		Область = Макет.ПолучитьОбласть("Область3");
		
		
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПеремещениеТоваровДополнительныеРеквизиты.Свойство КАК Свойство,
		|	ПеремещениеТоваровДополнительныеРеквизиты.Значение КАК Значение
		|ИЗ
		|	Документ.ПеремещениеТоваров.ДополнительныеРеквизиты КАК ПеремещениеТоваровДополнительныеРеквизиты
		|ГДЕ
		|	ПеремещениеТоваровДополнительныеРеквизиты.Ссылка = &Ссылка";
	
	Запрос.УстановитьПараметр("Ссылка", Элемент);
	
	РезультатЗапроса1 = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса1.Выбрать();
	МояПеременная = 0;
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Если ВыборкаДетальныеЗаписи.Свойство.Наименование = "Причина брака" Тогда
			Область.Параметры.Причина = ВыборкаДетальныеЗаписи.Значение;
		КонецЕсли; 
		Если ВыборкаДетальныеЗаписи.Свойство.Наименование = "Брак по вине сотрудника" Тогда
			МояПеременная = 1;
		КонецЕсли; 
	КонецЦикла;    
	Если МояПеременная = 0 Тогда
		Сообщить("Необходимо установить признак ""Брак по вине сотрудника"" во вкладке дополнительно  ",СтатусСообщения.Важное);
		Возврат Неопределено;
	КонецЕсли;
	
		ТабДокумент.Вывести(Область);
		
		Область = Макет.ПолучитьОбласть("Область4");
		Область.Параметры.шифр = Лев(РезультатЗапроса[0].ГАУ,6); 
		Область.Параметры.ЦехНомер = Лев(Элемент.СкладОтправитель.Подразделение.Наименование,2);
		ТабДокумент.Вывести(Область);
	КонецЦикла;
	
	
	
	ТабДокумент.ОтображатьСетку     = Ложь;
	ТабДокумент.ОтображатьЗаголовки = Ложь;
	ТабДокумент.ТолькоПросмотр      = Истина;
	ТабДокумент.АвтоМасштаб         = Истина; 
	
	Возврат ТабДокумент;
		
КонецФункции	

Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_АктНаБракСВиновником") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
		КоллекцияПечатныхФорм, 
		"ПФ_MXL_АктНаБракСВиновником", 
		НСтр("ru = 'АктНаБракСВиновником'"), 
		ПечатьПриемоСдаточнойНакладной(МассивОбъектовНазначения, ОбъектыПечати), ,"");
	КонецЕсли;
	
КонецПроцедуры

Функция СведенияОВнешнейОбработке()  Экспорт
	ПараметрыРегистрации = Новый Структура;
	ОбъектыНазначенияФормы = Новый Массив;
	ОбъектыНазначенияФормы.Добавить("Документ.ПеремещениеТоваров");
	
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы);
	ПараметрыРегистрации.Вставить("Наименование", "Акт на брак с виновником");
	ПараметрыРегистрации.Вставить("Версия", "1.1");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма");
	
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	
	ДобавитьКоманду(ТаблицаКоманд,
	"Акт на брак (с виновником)",	// Представление команды в пользовательском интерфейсе
	"ПФ_MXL_АктНаБракСВиновником",	// Уникальный идентификатор команды
	"ВызовСерверногоМетода",
	Истина,
	"ПечатьMXL");
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	Возврат ПараметрыРегистрации;
КонецФункции

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	
	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление = Представление;
	НоваяКоманда.Идентификатор = Идентификатор;
	НоваяКоманда.Использование = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор = Модификатор;
	
КонецПроцедуры
Показать
Вознаграждение за ответ
Показать полностью
Найденные решения
2. Westonline82 07.05.24 14:26 Сейчас в теме +0.27 $m
(1) Попробуй
Возврат Неопределено;

заменить на
Возврат Новый ТабличныйДокумент;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Westonline82 07.05.24 14:26 Сейчас в теме +0.27 $m
(1) Попробуй
Возврат Неопределено;

заменить на
Возврат Новый ТабличныйДокумент;
3. hasan-rusel 11 07.05.24 14:39 Сейчас в теме
Оставьте свое сообщение

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