|
БП 3.0 Вызов печати ВПФ | ☑ | ||
---|---|---|---|---|
0
nobody
28.04.14
✎
14:35
|
Добрый день!
Имею ВПФ, которую подключаю со след. параметрами: СведенияОбОбработке = Новый Структура; СведенияОбОбработке.Вставить("Вид", "ПечатнаяФорма"); ОбъектыМетаданных = Новый Массив; ОбъектыМетаданных.Добавить("Документ.РеализацияТоваровУслуг"); СведенияОбОбработке.Вставить("Назначение", ОбъектыМетаданных); СведенияОбОбработке.Вставить("Наименование ", "Акт реализации услуг с логотипом"); СведенияОбОбработке.Вставить("Версия ", "1.0"); СведенияОбОбработке.Вставить("БезопасныйРежим", Истина); СведенияОбОбработке.Вставить("Информация", "Внешняя печатная форма акта реализации услуг с логотипом"); ТаблицаКоманд = Получить Таблицу Команд(); ДобавитьКоманду(ТаблицаКоманд, "Акт реализации услуг с логотипом", "ПФ_MXL_Акт", "ВызовСерверногоМетода", Ложь,"ПечатьMXL"); СведенияОбОбработке.Вставить("Команды", ТаблицаКоманд); Теперь мне нужно вызывать печать этой формы программным способом (в интерактивном режиме всё функционирует), и тут я застрял в тупике. Как это сделать? Нашел пару топиков на форуме, к примеру v8: вызов печатной формы БП 3.0 , но ничего не выходит. Подскажите код для вызова печати объекта. |
|||
1
Wobland
28.04.14
✎
14:37
|
лениво ссылку открывать. там код есть?
|
|||
2
nobody
28.04.14
✎
14:41
|
Не заработал у меня тот код вообще. Как я понимаю надо выполнить
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("Акт реализации услуг с логотипом"); И в колонке "ТабличныйДокумент" должен быть сформирован документ, но у меня там пусто и в дальнейшем тоже ничего хорошего не происходит. Или я где-то жестко туплю уже. |
|||
3
Wobland
28.04.14
✎
14:45
|
код подсказан, обкладчик есть
|
|||
4
nobody
28.04.14
✎
15:03
|
Спасибо, очень информативный ответ. Я бы сам до этого не дошел!
|
|||
5
nobody
04.05.14
✎
02:06
|
Конечным результатом моих мучений стало:
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); ХранилищеОбработки = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Акт реализации услуг с логотипом").ХранилищеОбработки.Получить(); ХранилищеОбработки.Записать(ИмяВременногоФайла); ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяВременногоФайла); Если ВнешняяОбработка = Неопределено Тогда Возврат Ложь; КонецЕсли; РегистрационныеДанные = ВнешняяОбработка.СведенияОВнешнейОбработке(); МассивОбъектов = Новый Массив(); // сюда объекты для печати Для Каждого СтрокаНайденныеОбъекты Из НайденныеОбъекты Цикл Если СтрокаНайденныеОбъекты.Выбрать = Истина Тогда МассивОбъектов.Добавить(СтрокаНайденныеОбъекты.Объект); КонецЕсли; КонецЦикла; ОбъектыПечати = Новый СписокЗначений; ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("ПФ_MXL_Акт"); Попытка ВнешняяОбработка.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); Исключение ОбщегоНазначенияКлиентСервер.СообщитьПользователю( НСтр("ru = 'Ошибка печати: '") + КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); Возврат Ложь; КонецПопытки; |
|||
6
nobody
04.05.14
✎
02:08
|
Выполняется это на сервере,
потом возвращаем Стр = КоллекцияПечатныхФорм[0]; Возврат Стр.ТабличныйДокумент; И на клиенте: ТабДок = НашаФункцияНаСервере(); // Если ТабДок = Ложь блаблабла ТабДок.Показать(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |