Имя: Пароль:
1C
1С v8
Внешняя печатная форма с формой (УТ11.1)
0 kn
 
24.07.14
16:10
Надо перед печатью вывести Форму на которой пользователь может проставить флажок, от значения которого будет зависеть внешний вид ТабличногоДокумента. Есть рабочая внешняя печатная форма, но вызвать правильно из Формы с флажком Печать не получается, ничего не происходит.
Переделываю ВПФ без формы в ВПФ с формой так
1.В модуле объекта изменилось только "ОткрытиеФормы" вместо "ВызовСерверногоМетода"

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

&НаКлиенте
Процедура ОК(Команда)
    ПечатьНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПечатьНаСервере()
    
    КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
    КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
    КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
    КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
    КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
    КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
    КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
    КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
    
    НоваяСтрока = КоллекцияПечатныхФорм.Добавить();
    НоваяСтрока.ИмяВРЕГ = "СЧЕТСКОМПЛЕКТАЦИЕЙ";
    НоваяСтрока.ИмяМакета = "СчетСКомплектацией";
    НоваяСтрока.Экземпляров = 1;

    МассивОбъектов = Параметры.ОбъектыНазначения;
    ОбъектыПечати = Новый СписокЗначений;
    
    РеквизитФормыВЗначение("Объект").Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, Неопределено);
    
КонецПроцедуры

Судя по результату, вызываю как-то неправильно, параметры что ли не те,отладчиком толком в чем разница между вариантом с формой и без не могу.Подскажите, кто с такой задачей сталкивался, что здесь не так.
1 kn
 
24.07.14
18:10
Может кто-нибудь подскажет как отладчиком посмотреть параметры ,(обработка с Инфостарта по отладке ВПФ для управляемых форм что-то не работает)
2 kn
 
25.07.14
08:58
Параметры вызова Печать()оказались одинаковыми в обоих случаях, но когда ВПФ без формы, то идет вызов еще и других процедур как-то хитро работает это.
Вот процедура печати в модуле обработки ВПФ

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

        ТабДок = ПечатьСчетаСКомплектацией(СтруктураТипов, ОбъектыПечати, ПараметрыВывода);

        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
                                    "СчетСКомплектацией", "СчетСКомплектацией",
                                    ТабДок);
    КонецЕсли;

    
КонецПроцедуры

ТабДок в обоих случаях формируетя, но если ВПФ с формой, то не показывается, просто ТабДок.Показать() вызвать тоже не могу, ругается что метод Показать() на сервере не определен.
Как быть?
3 kn
 
25.07.14
10:04
Если сделать возвращение табдок на клиент и там ТабДок.Показать() - то показывается печатная форма, но с такой
ошибкой Ошибка отображения типов отсутствует отображение для типа 'ПолеФормы'. Вопрос почему? Или как все таки вызвать стандартно печать.
4 kn
 
25.07.14
10:11
Ошибка Ошибка отображения типов отсутствует отображение для типа 'ПолеФормы' ушла, простой способ работает, а как все таки использовать функции БСП остается, буд. признат. за информацию по этому вопросу