|
Внешние отчеты в УФ | ☑ | ||
---|---|---|---|---|
0
iva77ru
25.09.13
✎
17:36
|
Пожалуйста, объясните 1С-ку, сидящему на 1С 8.2 без УФ:
В "обычное приложение" можно открыть внешний отчет и вывести на печать что-либо, используя макет, принадлежащий этому же отчету. В "Управляемом приложении" такой возможности нет, т.е. нельзя открыв отчет, сформировать печатную форму с использованием макета "внутри" это отчета? |
|||
1
AlfaDog
25.09.13
✎
17:38
|
можно все
|
|||
2
iva77ru
25.09.13
✎
17:41
|
У меня затык:
Нужно получить макет. Ранее: Макет = ЭтотОбъект.ПолучитьМакет("Таблица"); А как в УФ? |
|||
3
AlfaDog
25.09.13
✎
17:43
|
РеквизитФормыВЗначение("Отчет").ПолучитьМакет; Попробуй так
|
|||
4
AlfaDog
25.09.13
✎
17:43
|
На сервере
|
|||
5
AllJoke
25.09.13
✎
17:44
|
(2) выполняется на сервере.
|
|||
6
Desna
25.09.13
✎
17:56
|
(2) Отчеты.НужныйОтчет.ПолучитьМакет
|
|||
7
Мимохожий Однако
25.09.13
✎
17:57
|
Посмотри БСП демо
|
|||
8
iva77ru
25.09.13
✎
17:58
|
Попробывал:
РеквизитФормыВЗначение("Отчет").ПолучитьМакет; Ошибка: Недопустимое значение параметра (параметр номер '1') |
|||
9
AlfaDog
25.09.13
✎
18:00
|
Блин попутал вместо "отчет" нужно другое
|
|||
10
AlfaDog
25.09.13
✎
18:00
|
хотя фиг знает
|
|||
11
Мимохожий Однако
25.09.13
✎
18:02
|
Макет = ПолучитьМакет("Таблица");
|
|||
12
YF
25.09.13
✎
18:04
|
(0) Самый простой вариант перенести формирование печ. формы в модуль отчета, а не его формы.
тогда для формирования печ. документа не нужно будет открывать форму |
|||
13
iva77ru
25.09.13
✎
18:05
|
Я смотрел БСП. Понял, что нужно 2 объекта: 1- отчет с алгоритмом построения печатной формы и 2 - содержит макеты, которые нужно поместить на сервер, а затем получить макеты.
|
|||
14
YF
25.09.13
✎
18:07
|
(13) из твоего предложения вообще не понял что за второй объект
|
|||
15
Мимохожий Однако
25.09.13
✎
18:09
|
(13)Полагаю, надо еще раз посмотреть. На ИТС есть пример внешней печатной формы для УТ11.
|
|||
16
iva77ru
25.09.13
✎
18:09
|
Извините, попутал. 2 - внешний отчет/обработка с макетами. Из модуля формы 1 объекта подключаем 2 к серверу, а затем из 2 получаем макет и формируем свою печатную форму.
|
|||
17
iva77ru
25.09.13
✎
18:11
|
Обязательно, посмотрю "пример внешней печатной формы для УТ11.", если найду.
|
|||
18
AllJoke
26.09.13
✎
08:56
|
Как вариант, можно в обработке в реквизит формы добавить ТабличныйДокумент, Тип = ТабличныйДокумент. И следующий код:
&НаКлиенте Процедура СформироватьОтчет(Команда) ТабличныйДокумент=СформироватьОтчетНаСервере(); КонецПроцедуры &НаСервереБезКонтекста Функция СформироватьОтчетНаСервере() ТабличныйДокумент = Новый ТабличныйДокумент(); Макет = Отчеты.СписокКонтрагентов.ПолучитьМакет("Макет"); Шапка = Макет.ПолучитьОбласть("Шапка"); Элемент = Макет.ПолучитьОбласть("Элемент"); Группа = Макет.ПолучитьОбласть("Группа"); Шапка.Параметры.ДатаФормированияОтчета = ТекущаяДата(); ТабличныйДокумент.Вывести(Шапка); Выборка = Справочники.Контрагенты.ВыбратьИерархически(); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа Тогда Область = Группа; Иначе Область = Элемент; КонецЕсли; Область.Параметры.Заполнить(Выборка); ТабличныйДокумент.Вывести(Область); КонецЦикла; Возврат(ТабличныйДокумент); КонецФункции |
|||
19
AllJoke
26.09.13
✎
08:56
|
Взял с урока, как типовой вариант.
|
|||
20
Desna
26.09.13
✎
10:21
|
(19) я ему еще в (6) написал
|
|||
21
iva77ru
26.09.13
✎
11:56
|
У меня получилось:
&НаСервере Таб = РеквизитФормыВЗначение("Объект").ПолучитьМакет(ИмяМакета); А вот это: Отчеты.СписокКонтрагентов.ПолучитьМакет("Макет") Применимо для отчетов, входящих в состав конфигурации. У меня внешний отчет, открытый на клиенте. Или же я не догоняю Ваше предложение? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |