|
Внешняя печатная форма, ошибка | ☑ | ||
---|---|---|---|---|
0
lg2marvel
25.04.19
✎
14:52
|
Добрый день,
делаю внешнюю печатную форму: Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; Наименование = УказатьНаименованиеВнешнейПечатнойФормы(); МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.Увольнение"); //Указываем документ к которому делаем внешнюю печ. форму ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", Наименование); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); ПараметрыРегистрации.Вставить("Версия", "1.194.25"); ПараметрыРегистрации.Вставить("Информация", "Справка средняя зарплата за 3 месяца"); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Справка для пособия по безработице (внешняя)", "ПФ_MXL_СправкаОСреднемЗаработке2019", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция УказатьНаименованиеВнешнейПечатнойФормы() Наименование = ЭтотОбъект.Метаданные().Представление(); Возврат Наименование; КонецФункции Функция ПолучитьМетаданныеДокументаПечати() ПолноеИмя = Документ.Метаданные().ПолноеИмя(); Возврат ПолноеИмя; КонецФункции Функция УказатьНаименованиеКомандыПечати() Наименование = ЭтотОбъект.Метаданные().ПолноеИмя(); Возврат Наименование; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт // УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетНаОплатуВРТУ", "Счет на оплату (шаблон)", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати)); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, УказатьНаименованиеКомандыПечати(), УказатьНаименованиеВнешнейПечатнойФормы(), ПечатьФормы(МассивОбъектов)); КонецПроцедуры // Печать() Функция ПечатьФормы(СсылкаНаДокумент) ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СправкаДляПособияПоБезработице"; МакетОбработки = ПолучитьМакет("ПФ_MXL_СправкаОСреднемЗаработке2019"); ОбластьЛого = МакетОбработки.ПолучитьОбласть("Лого"); ТабличныйДокумент.Вывести(ОбластьЛого); ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции Выдает ошибку: {ОбщийМодуль.УправлениеПечатью.Модуль(1522)}: В обработчике печати не был сформирован табличный документ для: ПФ_MXL_СправкаОСреднемЗаработке2019 ВызватьИсключение(ТекстСообщенияОбОшибке); Что я упустил? |
|||
1
Simod
25.04.19
✎
14:57
|
Макет неправильно получаешь. Попробуй так:
ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Макет = ОтчетОбъект.ПолучитьМакет("Макет"); |
|||
2
lg2marvel
25.04.19
✎
15:01
|
(1) спасибо. Нашел, проблема немного не тут
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт // УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетНаОплатуВРТУ", "Счет на оплату (шаблон)", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати)); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, // УказатьНаименованиеКомандыПечати(), "ПФ_MXL_СправкаОСреднемЗаработке2019", УказатьНаименованиеВнешнейПечатнойФормы(), ПечатьФормы(МассивОбъектов)); КонецПроцедуры // Печать() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |