|
Прошу помощи с ВПФ | ☑ | ||
---|---|---|---|---|
0
asder117
30.01.22
✎
22:36
|
Доброго времени суток. делаю внешнюю печатную форму. Конфа БП 3.0.
Все вроде нормально. Если делаю через форму со ссылкой на объект все выходит нормально. "ДобавитьКоманду(ТаблицаКоманд, "Акт сверки с подписью и печатью", "АктСверкиПодписьюПечатью", "ОткрытиеФормы", Истина, "ПечатьXML");" Когда меняю на ВызовСерверногоМетода получаю ошибку "Значение не является значением объектного типа (ПолучитьОбласть) {ВнешняяОбработка.АктСверкиСПодписьюИПечатью20.МодульОбъекта(51)}: ОбластьЗаголовок = Макет1.ПолучитьОбласть("Заголовок"); {ВнешняяОбработка.АктСверкиСПодписьюИПечатью20.МодульОбъекта(35)}: УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"АктCверкиGодписьюПечатью","Акт сверки с подписью и печатью",СформироватьАктСверки(МассивОбъектов[0], ОбъектыПечати)); " Что может быть такое всю голову сломал. Подскажите что не так делаю. Спасибо |
|||
1
asder117
30.01.22
✎
22:40
|
(0) Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "АктCверкиGодписьюПечатью"); Если ПечатнаяФорма <> Неопределено Тогда //ПечатнаяФорма.ТабличныйДокумент = СформироватьАктСверки(МассивОбъектов, ОбъектыПечати); //ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Акт сверки с подписью и печатью)'"); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"АктCверкиGодписьюПечатью","Акт сверки с подписью и печатью",СформироватьАктСверки(МассивОбъектов[0], ОбъектыПечати)); КонецЕсли; КонецПроцедуры #Область СлужебныеПроцедурыИФункции Функция СформироватьАктСверки(МассивОбъектов, ОбъектыПечати) ТабДок = Новый ТабличныйДокумент; ТабДок.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов_АктСверки"; //Макет = ПолучитьМакет("АктСверки"); Если СсылкаНаОбъект.организация = справочники.Организации.НайтиПоНаименованию("Караван-сервис") тогда Макет1 = ПолучитьМакет("АктСверкиКараван"); ИначеЕсли СсылкаНаОбъект.организация = справочники.Организации.НайтиПоНаименованию("А Вектор") тогда Макет1 = ПолучитьМакет("АктСверкиВектор"); КонецЕсли; ОбластьЗаголовок = Макет1.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет1.ПолучитьОбласть("ШапкаТаблицы"); ОбластьНачОстатки = Макет1.ПолучитьОбласть("НачОстатки"); ОбластьДоговор = Макет1.ПолучитьОбласть("Договор"); ........... Так вывожу |
|||
2
Гипервизор
30.01.22
✎
23:09
|
СсылкаНаОбъект = МассивОбъектов[0];
|
|||
3
asder117
30.01.22
✎
23:25
|
(2) СформироватьАктСверки(МассивОбъектов[0], ОбъектыПечати) так я и передаю один объект
|
|||
4
Джордж1
30.01.22
✎
23:27
|
(30)Макет для внешних обработок надо получать специальным образом. погуглите
|
|||
5
Гипервизор
30.01.22
✎
23:32
|
(3) У вас на входе в функцию первый параметр называется МассивОбъектов. А в коде функции вы обращаетесь к СсылкаНаОбъект.
В контексте функции СсылкаНаОбъект есть? Программа сама должна догадаться, что в МассивОбъектов вы передали как раз СсылкаНаОбъект? |
|||
6
asder117
30.01.22
✎
23:32
|
(4) Обработка = РеквизитФормыВЗначение("Объект");
Макет = Обработка.ПолучитьМакет(<ИмяМакета>); Таой вариант..про него знаю но у меня вылетает Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение) |
|||
7
Джордж1
30.01.22
✎
23:35
|
(6)процедура серверная?
|
|||
8
Джордж1
30.01.22
✎
23:35
|
С контекстом?
|
|||
9
asder117
30.01.22
✎
23:36
|
(7) (8) да + в модуле объекта
|
|||
10
Джордж1
30.01.22
✎
23:38
|
Так нааерное м молуле формы надо вызывать
|
|||
11
asder117
30.01.22
✎
23:41
|
(5) Функция СформироватьАктСверки(СсылкаНаОбъект, ОбъектыПечати)
ТабДок = Новый ТабличныйДокумент; ТабДок.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов_АктСверки"; //Обработка = РеквизитФормыВЗначение("Объект"); //Макет = ПолучитьМакет("АктСверки"); //Если СсылкаНаОбъект.организация = справочники.Организации.НайтиПоНаименованию("Караван-сервис") тогда Макет1 = ПолучитьМакет("АктСверкиКараван"); //ИначеЕсли СсылкаНаОбъект.организация = справочники.Организации.НайтиПоНаименованию("А Вектор") тогда // Макет1 = ПолучитьМакет("АктСверкиВектор"); //КонецЕсли; Закоментировал условие. Получаю просто мает. ошибка таже |
|||
12
asder117
30.01.22
✎
23:44
|
(5) Все взлетело...нашел откуда ноги растут
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |