Имя: Пароль:
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
Ошибка Ошибка отображения типов отсутствует отображение для типа 'ПолеФормы' ушла, простой способ работает, а как все таки использовать функции БСП остается, буд. признат. за информацию по этому вопросу
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn