Имя: Пароль:
1C
1С v8
Программно распечатать ВПФ
0 Nataliabel
 
02.03.15
12:14
всем доброго дня

пытаюсь допилить обработку Универсальный подбор в части пакетной печати

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

нашла кусок,где на печать выводятся печатные формы

        Если ЭтаФорма.ПросмотрДокументаПередПечатью  = "Просмотр" Тогда
          //Печать встроенных печатных форм
            Если СтрСпПечФорм <> "" Тогда
                    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ."+ЭлСп,
                                                                    СтрСпПечФорм,
                                                                    МассивДок,
                                                                    Неопределено,
                                                                    ПараметрыПечати);
            КонецЕсли;

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


теперь,как бы докрутить,чтобы печатались ВПФ
1 Wobland
 
02.03.15
12:17
не помню, насколько хорошо работает

    ВыполняемаяОбработка=НайтиВПФ();
    Если ВыполняемаяОбработка.Пустая() Тогда
        Возврат;
    КонецЕсли;
    ОбъектыНазначения=Новый Массив;
    ОбъектыНазначения.Добавить(Объект.НовыйДокументПоступления);
    Если УправлениеПечатьюКлиент.ПроверитьДокументыПроведены(ОбъектыНазначения) Тогда
        ПараметрыОткрытия=Новый Структура("ИсточникДанных, ПараметрыИсточника");
        ПараметрыОткрытия.ИсточникДанных=ВыполняемаяОбработка;
        ПараметрыОткрытия.ПараметрыИсточника=Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
        ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды="ДоговорСПоставщикомВПФ";
        ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения=ОбъектыНазначения;
        
        ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
    КонецЕсли;
2 Nataliabel
 
02.03.15
12:30
(1) Спасибо большое, заработало!
3 Nataliabel
 
02.03.15
13:19
а как бы теперь сделать,чтобы она сразу на печать отправлялась

есть такой код для встроенных ПФ
                        УправлениеПечатьюКлиент.ВыполнитьКомандуПечатиНаПринтер("Документ.СчетФактураВыданный",
                                                                    НазваниеПечатнойФормы,
                                                                    МассивДок,                                                                     
                                                                    ПараметрыПечати);
4 Wobland
 
02.03.15
13:25
матри сюда:

    // Распечатаем
    РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати,
            ПараметрыВывода.ДоступнаПечатьПоКомплектно);
5 Nataliabel
 
02.03.15
13:49
уф, что-то мозг вообще не думается

т.е.я в обработке пишу

                            ФормаНовая =  ПолучитьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
                            ФормаНовая.УстановитьДействие("ПриОткрытии","Печать");
6 Wobland
 
02.03.15
13:56
а думать и не надо. достаточно покопировать типового кода. или прямо вызывать нужные штуки
7 Nataliabel
 
02.03.15
14:19
(6) спасибо большое
чего-то какое-то тяжелое утро понедельника
СПАСИБО ВАМ ЕЩЕ РАЗ
все получилось!