Вход | Регистрация


ВПФ УПД печать из реализации

ВПФ УПД печать из реализации
Я
   program345
 
20.01.18 - 11:35
привет!
Сделал УПД: печатается из реализации (вид операции товары), ищет документ счет-фактура и печатает. Тут одна команда: упдВариант1, а как запихнуть вторую?


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


Услуги в реализации:
     Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус2_981") Тогда
        ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = "";
        Для каждого Объект Из МассивОбъектов Цикл
            Если ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураВыданный") Тогда
                ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = 
                    Документы[Объект.Метаданные().Имя].ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина);
                Прервать;
            КонецЕсли;
        КонецЦикла;
        Если НЕ ПустаяСтрока(ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов) Тогда
            УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус2_981", "УПД (статус 2)",
                    УчетНДС.ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати, 
                    ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов, Истина),,
                    "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент981");
        КонецЕсли;
    КонецЕсли;



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

    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); 
    //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... 

    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); 
    ПараметрыРегистрации.Вставить("Наименование", "УПД (ред.)"); 
    //имя под которым обработка будет зарегестрирована в справочнике внешних обработок 

    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); 
    ПараметрыРегистрации.Вставить("Версия", "1.0"); 
    ПараметрыРегистрации.Вставить("Информация", "УПД (ред.)"); 
    ТаблицаКоманд = Получить(); 
    ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус1_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); 
    ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); 
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); 

    Возврат ПараметрыРегистрации;

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


рад подсказкам.
 
 
   program345
 
1 - 20.01.18 - 12:37
ап
   Borteg
 
2 - 20.01.18 - 12:42
(0) всмысле некрасиво?
   program345
 
3 - 20.01.18 - 13:16
получается 2 кнопочки с печатью, в типовой то одна.
   Borteg
 
4 - 20.01.18 - 13:38
(3) ну убери кнопку какую не надо ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
   program345
 
5 - 20.01.18 - 17:24
тогда не печатает Реализацию с услугами
   МимохожийОднако
 
6 - 20.01.18 - 17:49
На кнопке сделай меню, а в нём два действия
   program345
 
7 - 26.01.18 - 14:18
Функция СведенияОВнешнейОбработке()Экспорт 
    
    ПараметрыРегистрации = Новый Структура; 
    МассивНазначений = Новый Массив; 
    МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг");
    МассивНазначений.Добавить("Документ.СчетФактураВыданный");
    
    //Указываем документ к которому делаем внешнюю печ. форму 

    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); 
    //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... 

    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); 
    ПараметрыРегистрации.Вставить("Наименование", "УПД (ред.)"); 
    //имя под которым обработка будет зарегестрирована в справочнике внешних обработок 

    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); 
    ПараметрыРегистрации.Вставить("Версия", "1.0"); 
    ПараметрыРегистрации.Вставить("Информация", "УПД (ред.)"); 
    ТаблицаКоманд = Получить(); 
    ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); 
    ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус1_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); 
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); 

    Возврат ПараметрыРегистрации;

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

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

    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); 
    //имя макета печ.формы 

    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); 
    //ВызовСерверногоМетода 

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

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

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт 
    
    Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_УниверсальныйПередаточныйДокумент981");
    
    Если НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус2_981") Тогда
        ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = "";
        Для каждого Объект Из МассивОбъектов Цикл
            Если ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураВыданный") Тогда
                ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = 
                    //Документы[Объект.Метаданные().Имя].ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина);

                    Документы.РеализацияТоваровУслуг.ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина);
                Прервать;
            КонецЕсли;
        КонецЦикла;
        Если НЕ ПустаяСтрока(ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов) Тогда
            ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус2_981", "УПД (статус 2)",
                    ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати, 
                    ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов, Истина),,
                    Макет);
        КонецЕсли;
    КонецЕсли;        
    
КонецПроцедуры// Печать()
   program345
 
8 - 26.01.18 - 14:19
как эти две команды преобразовать в одну кнопочку?
    ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); 
    ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус1_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
   program345
 
9 - 26.01.18 - 14:52
как в типовой, там же для разных статусов УПД одна кнопка

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует