Имя: Пароль:
1C
1С v8
Внешняя печатная форма, вызов клиентского метода
0 EvgenKam
 
24.03.14
17:37
Добрый день. Конфа Бух 3.0, типовая. Есть внешняя печ. форма, где в сведениях об обработке прописано использование вызов клиентского метода. Как, используя БСП, получить назад табличный документ?
1 Люблю 1с
 
24.03.14
17:42
я прям даж теряюсь какой табличный документ Вам нужен
2 EvgenKam
 
24.03.14
17:43
Реализовано на данный момент так: Есть функция Печать(ИдентификаторКоманды,ОбъектыНазначения) на форме обработки. В ней получаются от пользователя необходимые данные, заполняются параметры открытия, затем вызывается ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);

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

Функция ПечатьОтчетаКомитенту возвращает табличный документ... который пользователю не отображается. Очевидно, я третий день, что-то не понимаю, только вот что?
3 Kupogun
 
24.03.14
17:48
В КоллекцияПечатныхФорм значения проверил?
В функцию передаются параметры? (МассивОбъектовНазначения, ОбъектыПечати, КонтЛицо)
Отладчик не предлагать?
4 EvgenKam
 
24.03.14
17:58
В данный момент в КоллекцииПечатныхФорм отсутствует табличный документ, что вызывает ошибку.
(в функции УправлениеПечатью.СформироватьПечатныеФормы(...))

В отладчике и сижу)
5 EvgenKam
 
24.03.14
18:04
Собственно, наверно несколько ошибся, версий обработок много, проблема одна. Конкретно эта обработка валится ДО захода в Печать(), которая в модуле обработки.
Стек, чтоб было понятнее, такой:
Форма.Форма.Форма.Печать(ИдентификаторКоманды = , ОбъектыНазначения = )
ОбщаяФорма.ПечатьДокументов.Форма.ПриСозданииНаСервере(Отказ = Ложь, СтандартнаяОбработка = Истина)
ОбщаяФорма.ПечатьДокументов.Форма.СформироватьПечатныеФормы(КоллекцияПечатныхФорм = , ИменаМакетов = "ПФ_MXL_ОтчетКомитентуОЗакупках", Отказ = Ложь)
ОбщийМодуль.УправлениеПечатью.Модуль.СформироватьПечатныеФормы(ИмяМенеджераПечати = "", ИменаМакетов = "ПФ_MXL_ОтчетКомитентуОЗакупках", МассивОбъектов = , ПараметрыПечати = Структура, КоллекцияПечатныхФорм = , ОбъектыПечати = , ПараметрыВывода = )
6 EvgenKam
 
24.03.14
18:10
Если при использовании СерверногоМетода для печати идет вызов типа:
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_ОтчетКомитентуОЗакупках") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXL_ОтчетКомитентуОЗакупках", "Отчет комитенту(с договором)", ПечатьОтчетаКомитенту(МассивОбъектовНазначения, ОбъектыПечати, КонтЛицо));
    КонецЕсли;

то что идет для КлиентскогоМетода? Аналогично?
Основная теорема систематики: Новые системы плодят новые проблемы.