Имя: Пароль:
1C
 
Создание ВПФ для УПП 1.3
0 program345
 
10.09.18
11:56
Добрый день, коллеги!
Создаю впф, получилось сделать без вывода управляемой формы печати.
https://s.mail.ru/88jV/bygKwEUZZ
Как сделать чтобы выходила оная форма?

УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.СчетНаОплатуПокупателю", ИмяМакета,
                                        ПараметрКоманды, Неопределено, Неопределено);

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

тут форма управляемая "ПечатьДокументовУправляемая" с ней работает штатно.


но сделать так самому не получается,
если делаю

    ПараметрКоманды = Новый Массив;
    ПараметрКоманды.Добавить(СсылкаНаОбъект);
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("ВнешняяОбработкаОбъект.СчетНаОплату", "Счет",
    ПараметрКоманды, Неопределено, Неопределено);

выдает ошибку
{ОбщийМодуль.ОбщегоНазначения.Модуль(1563)}: Неизвестный тип объекта метаданных (ВнешняяОбработкаОбъект)
        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(

может кто сталкивался?
1 Флориан
 
10.09.18
12:16
ВнешниеОбработкиОбъект
2 program345
 
10.09.18
12:21
можно только это

Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт
    
    ЧастиИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолноеИмя, ".");
    
    КлассОМ = ЧастиИмени[0];
    ИмяОМ   = ЧастиИмени[1];
    
    Если      ВРег(КлассОМ) = "ПЛАНОБМЕНА" Тогда
        Возврат ПланыОбмена[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "СПРАВОЧНИК" Тогда
        Возврат Справочники[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ДОКУМЕНТ" Тогда
        Возврат Документы[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ЖУРНАЛДОКУМЕНТОВ" Тогда
        Возврат ЖурналыДокументов[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ПЕРЕЧИСЛЕНИЕ" Тогда
        Возврат Перечисления[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ОТЧЕТ" Тогда
        Возврат Отчеты[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ОБРАБОТКА" Тогда
        Возврат Обработки[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда
        Возврат ПланыВидовХарактеристик[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ПЛАНСЧЕТОВ" Тогда
        Возврат ПланыСчетов[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВРАСЧЕТА" Тогда
        Возврат ПланЫВидовРасчета[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРСВЕДЕНИЙ" Тогда
        Возврат РегистрыСведений[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРНАКОПЛЕНИЯ" Тогда
        Возврат РегистрыНакопления[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРБУХГАЛТЕРИИ" Тогда
        Возврат РегистрыБухгалтерии[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРРАСЧЕТА" Тогда
        Возврат РегистрыРасчета[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "БИЗНЕСПРОЦЕСС" Тогда
        Возврат БизнесПроцессы[ИмяОМ];
        
    ИначеЕсли ВРег(КлассОМ) = "ЗАДАЧА" Тогда
        Возврат Задачи[ИмяОМ];
    Иначе
        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru='Неизвестный тип объекта метаданных (%1)'"), КлассОМ);
    КонецЕсли;
    
КонецФункции
3 program345
 
10.09.18
12:22
но все равно спасибо
4 Флориан
 
10.09.18
12:24
что бы форма выходила в модуле обработки в функции печать сделать так:

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

КонецФункции