|
Как получить макет внешнего отчета |
☑ |
0
mirrr
29.09.11
✎
11:49
|
Если отчет в составе конф-ии, то получение макета:
Макет=Отчеты.Отчет1.ПолучитьМакет("Макет");
А если отчет внешний, то как лучше получить его макет?
|
|
1
Ненавижу 1С
гуру
29.09.11
✎
11:50
|
(0) нужно сначала создать объект внешнего отчета и получить из него сам макет
|
|
2
Hostess_
of_Love
29.09.11
✎
11:56
|
Функция Печать() Экспорт
Макет = СоздатьМакет();
Возврат Макет;
КонецФункции
Функция СоздатьМакет() Экспорт
Макет=Отчеты.Отчет1.ПолучитьМакет("Макет");
Возврат Макет;
КонецФункции
|
|
3
mirrr
29.09.11
✎
12:00
|
(2) отчет внешний
|
|
4
Hostess_
of_Love
29.09.11
✎
12:03
|
(3)Макет = ПолучитьМакет("Макет");
|
|
5
Hostess_
of_Love
29.09.11
✎
12:03
|
вместо Макет=Отчеты.Отчет1.ПолучитьМакет("Макет");
|
|
6
luckyluke
29.09.11
✎
12:05
|
Типовая БП, печать внешней внешней печатной формы:
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
Попытка
ДвоичныеДанные.Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Обработка.СсылкаНаОбъект = Ссылка;
// Передать внешней обработке дополнительные параметры
Если ДополнительныеПараметры <> Неопределено Тогда
// Если у внешней обработки есть реквизит для дополнительных параметров, присвоить ему значение
Если НЕ Обработка.Метаданные().Реквизиты.Найти("ДополнительныеПараметры") = Неопределено Тогда
Обработка.ДополнительныеПараметры = ДополнительныеПараметры;
КонецЕсли;
КонецЕсли;
ТабДокумент = Обработка.Печать();
УдалитьФайлы(ИмяФайла);
Исключение
ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Не удалось сформировать внешнюю печатную форму!");
КонецПопытки;
|
|
7
mirrr
29.09.11
✎
12:06
|
(4) Форма управляемая, ни на клиенте ни на сервере этот вариант не работает
|
|
8
luckyluke
29.09.11
✎
12:07
|
(7) тебе же в (1) написали как надо.
|
|
9
Hostess_
of_Love
29.09.11
✎
12:10
|
надо сразу писать что форма управляемая
|
|
10
Поручик
29.09.11
✎
12:57
|
(7) Если в модуле объекта, то штатным образом
Макет = ПолучитьМакет("Макет");
В модуле формы в серверной процедуре
ОбъектЗн = РеквизитФормыВЗначение("Объект");
Макет = ОбъектЗн.ПолучитьМакет("Макет");
|
|
11
mirrr
30.09.11
✎
14:35
|
(10) < В модуле формы в серверной процедуре
ОбъектЗн = РеквизитФормыВЗначение("Объект");
Макет = ОбъектЗн.ПолучитьМакет("Макет"); >
можно ли то же реализовать, только НаСервереБезКонтекста, передав в процедуру объект отчет, или нет смысла?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший