|
УТ11. Внешняя печатная форма(продолжение) | ☑ | ||
---|---|---|---|---|
0
pessok
01.09.11
✎
12:58
|
Итак, я почти разобрался с тем, как вызвать на печать ВПФ из ВО.
Код вызова: Процедура НапечататьРеестр(СсылкаНаОбъект) ВнешняяПФорма = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Реестр для отгрузки построчный"); ОбработкаОбъект = ВнешняяПФорма.ПолучитьОбъект(); ДанныеОбработки = ОбработкаОбъект.ХранилищеОбработки.Получить(); АдресХранилищаОбработки = ПоместитьВоВременноеХранилище(ДанныеОбработки); ИмяОбработки = Строка(ВнешняяПФорма.Ссылка.УникальныйИдентификатор()); Подключение = ВнешниеОбработки.Подключить(АдресХранилищаОбработки, ИмяОбработки , Истина); Отчет = ВнешниеОбработки.Создать(Подключение); НМакет = Новый ТаблицаЗначений; НМакет.Колонки.Добавить("ИмяВРЕГ"); НМакет.Колонки.Добавить("ТабличныйДокумент", Новый ОписаниеТипов("Строка")); НМакет.Колонки.Добавить("СинонимМакета", Новый ОписаниеТипов("Строка")); НМакет.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Строка")); НМакет.Колонки.Добавить("ПолныйПутьКМакету", Новый ОписаниеТипов("Строка")); Стр = НМакет.Добавить(); Стр.ИмяВРЕГ = ВРег("ПечатнаяФорма"+ИмяОбработки); Стр.ТабличныйДокумент = Неопределено; Стр.СинонимМакета = Неопределено; Стр.Картинка = Неопределено; Стр.ПолныйПутьКМакету = Неопределено; Отчет.Печать(СсылкаНаОбъект, НМакет, ,); КонецПроцедуры Процедура Печать() написана согласно БСП Данные передаются корректно, запрос в процедуре СформироватьПечатнуюФорму() возвращает правильное значение, что видно из скрина... Вот только печатная форма не выводится... Скрин: http://rghost.ru/20088161.view Собственно на скрине: задний фон - результат выполнения обработки ВПФ непосредственно из документа реализации передний фон - обработка пакетной печати, где выбран тот же документ. Поле запроса Документ возвращается одинаково для обоих вариантов, из чего я сделал вывод, что данные переданы и обработаны правильно. Сам запрос в процедуре обрабатывается, соответственно. По причине того, что процедура СформироватьПечатнуюФорму() вызывается вообще я делаю вывод, что УправлениеПечатью.НужноПечататьМакет <> Неопределено, иначе бы не вызвалось. Опять таки СформироватьПечатнуюФорму() нормально возвращает ТабличныйДокумент. Однако печатная форма так и не выводится... Я уже отчаился... Помогите, люди добрые... |
|||
1
pessok
01.09.11
✎
13:00
|
Кстати, в догонку. Желательно сразу посылать документ на принтер, без предпросмотра. Это лучше прописать в ВПФ, или есть методы по БСП?
|
|||
2
pessok
01.09.11
✎
13:45
|
ну чтож такое то? никто не знает, или никто помочь не хочет?
|
|||
3
pessok
01.09.11
✎
14:25
|
ап...
|
|||
4
pessok
01.09.11
✎
15:18
|
ап еще раз...
|
|||
5
Kerk
01.09.11
✎
15:21
|
Блин. Сделай ТабличныйДокумент.Показать();
|
|||
6
pessok
01.09.11
✎
15:28
|
(5) в СформироватьПечатнуюФорму()?
|
|||
7
pessok
01.09.11
✎
15:32
|
уже вот так сделал:
Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ТД = СформироватьПечатнуюФорму(МассивОбъектовНазначения, ОбъектыПечати); ТД.Показать(); Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, УникальныйИдентификаторКоманды()) Тогда ТабличныйДокумент = СформироватьПечатнуюФорму(МассивОбъектовНазначения, ОбъектыПечати); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, УникальныйИдентификаторКоманды(), ЭтотОбъект.Метаданные().Синоним, ТабличныйДокумент ); КонецЕсли; КонецПроцедуры не помогает... |
|||
8
pessok
01.09.11
✎
16:08
|
так и не выводится
|
|||
9
Kerk
01.09.11
✎
16:36
|
Ищи где вызывается внешние печатные формы в конфигурации. Тут явно, чего-то не хватает...
|
|||
10
pessok
01.09.11
✎
17:45
|
да я в курсе, а вот найти не могу :) вроде быб всего хватает...
|
|||
11
Lenka_Boo
01.09.11
✎
19:13
|
Помню, у меня была плюха при вызове внешней печатной формы из документа. Ошибка чисто по невнимательности. Не на ту строчку тыкнула при выборе типа реквизита.
"СсылкаНаОбъект" имела тип "ДокументОбъект", а нужно "ДокументСсылка" |
|||
12
pessok
01.09.11
✎
19:31
|
(11) сейчас проверю :)
|
|||
13
pessok
01.09.11
✎
19:32
|
+(12) хотя СсылкаНаОбъект в УправлениеПечатьюКлиент.ВыполнитьКомандуПечатиНаПринтер передается нормально
|
|||
14
pessok
01.09.11
✎
19:38
|
Да нет. ДокументСсылка, все ок
|
|||
15
pessok
01.09.11
✎
19:43
|
Подключение = ВнешниеОбработки.Подключить(АдресХранилищаОбработки, ИмяОбработки , Истина);
Отчет = ВнешниеОбработки.Создать(Подключение); а не ВнешниеОтчеты тут надо использовать, кстати? |
|||
16
pessok
01.09.11
✎
20:02
|
да вроде бы как нет...
чтож делать то? *бьеца головой ап стену* |
|||
17
pessok
01.09.11
✎
21:11
|
может с таблицей команд еще как-то енто связано?
|
|||
18
pessok
01.09.11
✎
22:16
|
так параметры печати в табличного документа тоже нормально передаются...
ПАРАМЕТРЫ_ПЕЧАТИПечатнаяФорма0c506179-0402-11e0-a874-002586ee26e4 |
|||
19
pessok
01.09.11
✎
22:49
|
Добавлю еще кое-что... Я прям в шоке - ТабличныйДокумент.Записать() - РАБОТАЕТ! И правильно пишет документ! А вот показывать не хочет... Что за хрень?
ТабличныйДокумент.Показать() - тишина, ТабличныйДокумент.Записать() - вполне себе нормальный файл с нужными данными... ЧЯДНТ?! |
|||
20
pessok
01.09.11
✎
23:01
|
Скорее всего надо толи форму как-то получить, толи хз...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |