Внешняя печатная форма (управляемое приложение)
Добрый день! Пробую делать внешнюю печатную форму на основе имеющейся . Создала обработку, подключила, из документа по общей кнопке печать формы работает нормально. Для дальнейших экспериментов нужно открывать ее через файл и печатать от туда. Для этого добавила форму на ней сделала кнопку печать, по которой должна вызываться функция печати из модуля объекта, и выбор документа. При попытке печати выдается ошибка "Метод объекта не обнаружен (ПечатьФормаМ13) ", где "ПечатьФормаМ13" - это имя функции печати из общего модуля.
Вот то что в модуле формы
Функция ПолучитьОбъектОбработки()
ОбъектОбработки = РеквизитФормыВЗначение("Объект");
ЗаполнитьЗначенияСвойств(ОбъектОбработки, Объект);
Возврат ОбъектОбработки;
КонецФункции
&НаКлиенте
Процедура Печать(Команда)
ТабличныйДокумент = ПечатьНаСервере ();
ТабличныйДокумент.Показать("Ок");
КонецПроцедуры
&НаСервере
Функция ПечатьНаСервере()
// Вставить содержимое обработчика.
УстановитьПривилегированныйРежим(Истина);
ОбработкаПФ = ПолучитьОбъектОбработки();
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(Документ);
ОбъектыПечати = Новый СписокЗначений;
Возврат ОбработкаПФ.ПечатьФормаМ13(МассивОбъектов, ОбъектыПечати);
КонецФункции
ПоказатьВот то что в модуле формы
По теме из базы знаний
- Отладчик внешних печатных форм для управляемого приложения
- Создание внешней печатной формы под Управляемое Приложение (Управление Торговлей 11.1.1.11)
- Создание внешних печатных форм под управляемым приложением с нуля
- Передача параметров во внешнюю печатную форму (управляемое приложение)
- Шаблон внешней печатной формы - управляемое приложение
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вы не правильно обращаетесь к процедуре модуля объекта.
Сделайте форму как в обработке, что я прикрепил.
Должен быть у обработке реквизит "СсылкаНаОбъект" с типом - ваш документ из которого собираетесь печатать.
про:
ПФ_АктПриемаОбразцов_Проб - текст должн быть таким же как и в процедуре СведенияОВнешнейОбработке() модуля объекта в строке:
А так же как в процедуре Печать(...):
Сделайте форму как в обработке, что я прикрепил.
Должен быть у обработке реквизит "СсылкаНаОбъект" с типом - ваш документ из которого собираетесь печатать.
про:
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("ПФ_АктПриемаОбразцов_Проб");
ПФ_АктПриемаОбразцов_Проб - текст должн быть таким же как и в процедуре СведенияОВнешнейОбработке() модуля объекта в строке:
НоваяКоманда.Идентификатор = "ПФ_АктПриемаОбразцов_Проб"; //Внешняя печатная форма
А так же как в процедуре Печать(...):
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"ПФ_АктПриемаОбразцов_Проб",
"Акт приема образцов (проб)",
ТабличныйДокумент);
Прикрепленные файлы:
ПФ_АктПриемаОбразцов(проб).epf
Пример такой функции:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
ПараметрыРегистрации.Назначение.Добавить("Документ.ПоступлениеТоваровУслуг");
ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Вставить("Наименование", "Акт о приемке товаров (ТОРГ-1)");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Акт о приемке товаров (ТОРГ-1)");
ПараметрыРегистрации.Вставить("ВерсияБСП", "");
РеквизитыТабличнойЧасти = Метаданные.Справочники.ДополнительныеОтчетыИОбработки.ТабличныеЧасти.Команды.Реквизиты;
ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить("Представление", РеквизитыТабличнойЧасти.Представление.Тип);
ТаблицаКоманд.Колонки.Добавить("Идентификатор", РеквизитыТабличнойЧасти.Идентификатор.Тип);
ТаблицаКоманд.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение", РеквизитыТабличнойЧасти.ПоказыватьОповещение.Тип);
ТаблицаКоманд.Колонки.Добавить("Модификатор", РеквизитыТабличнойЧасти.Модификатор.Тип);
ТаблицаКоманд.Колонки.Добавить("Скрыть", РеквизитыТабличнойЧасти.Скрыть.Тип);
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = "Акт о приемке товаров (ТОРГ-1)";
НоваяКоманда.Идентификатор = "ТОРГ-1";
НоваяКоманда.Использование = "ВызовСерверногоМетода";
НоваяКоманда.ПоказыватьОповещение = Истина;
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);
Возврат ПараметрыРегистрации;
КонецФункции
Показать
(7)Да она у меня была в модуле объекта. И внешняя печатная форма подключилась нормально и работала из Документа (Перемещение Товаров) . Но мне нужно было сделать печать через Файл - Открыть. Для этого я делала форму с кнопкой. И вот по этой кнопке печать не работала, потому что я забыла функцию печати в модуле объекта сделать экспортной.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот