|
Добавить в начало табличного документа | ☑ | ||
---|---|---|---|---|
0
CAPITALIST
10.09.14
✎
09:20
|
Задачка. Пользователь хочет отчет ВедомостьТоварыНаСкладах. Не устраивает его в этом отчёте шапка. Как можно свою шапку поставить?
Если попробовать что-то вывести перед вызовом процедуры СформироватьОтчет(ТабличныйДокумент) модуля отчёта, то результат затрёт все ранее выведенное. Если сделать кнопочку наподобие стандартной "Заголовок отчета" и там уже взять текущий сформированный макет и в начало его неким методом вставить необходимую шапку. Как возможно это сделать? |
|||
1
Добрый хачик
10.09.14
✎
09:30
|
СформироватьОтчет(ТабличныйДокумент)
ТабличныйДокументШапка = ПолучитьТабДокШапка(); ТабличныйДокументОтчета = ПолучитьТабДокДляОтчета(); ТабличныйДокумент.Вывести(ТабличныйДокументШапка); ТабличныйДокумент.Вывести(ТабличныйДокументОтчета); |
|||
2
CAPITALIST
10.09.14
✎
09:49
|
Если бы в этой процедуре сначала можно было получить сформированный макет отчета, то такое можно было бы сделать. а так там сразу вызывается процедура, которая и формирует и выводит отчет:
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт // Перед формирование отчета можно установить необходимые параметры универсального отчета. УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент,,, ЭтотОбъект); КонецПроцедуры // СформироватьОтчет() |
|||
3
Ёпрст
10.09.14
✎
09:51
|
(0) через ВставитьОбласть можешь вставить что угодно
|
|||
4
Ёпрст
10.09.14
✎
09:52
|
ну и через УдалитьОбласть - удалишь исходную выведенную шапку
|
|||
5
CAPITALIST
10.09.14
✎
10:00
|
(3) Спасибо! То что надо!
Теперь как вывести параметр? ТабДок = ЭлементыФормы.ПолеТабличногоДокументаРезультат; Макет = ПолучитьМакет("Макет"); Область = Макет.Область("R1:R4"); Область.Параметры.Склад = Склад; СуществующаяОбласть = ТабДок.Область("R1:R4"); ТабДок.ВставитьОбласть(Область, СуществующаяОбласть, ТипСмещенияТабличногоДокумента.ПоВертикали); Ошибку выдает при попытке задания параметра. Там нет поля "Параметры" как же вывести тогда? |
|||
6
Ёпрст
10.09.14
✎
10:30
|
(5) тупо через текст
|
|||
7
CAPITALIST
10.09.14
✎
11:06
|
(6)Это как?
|
|||
8
Wobland
10.09.14
✎
11:18
|
(7) область.текст
|
|||
9
CAPITALIST
10.09.14
✎
11:20
|
Поле не доступно для записи. В любом случае, нужен метод, в котором указывается в какую именно ячейку нужно записать текст
|
|||
10
Ёпрст
10.09.14
✎
11:27
|
(9) больше кода
|
|||
11
Ёпрст
10.09.14
✎
11:28
|
и зачем так писать ?
Макет.Область("R1:R4"); ? Не проще ли в макете задать нормальную секцию, с параметрами и не выеживаться ? |
|||
12
CAPITALIST
10.09.14
✎
13:47
|
(11) так не получится. При вызове ТабДок.ВставитьОбласть будет ругаться что исходная область отличается.
Все! нашел! Надо в макете каждой такой ячейке задать имя как области затем Макет.Области.Склад.Текст = Склад; затем только Область = Макет.Область("R1:R4"); СуществующаяОбласть = ТабДок.Область("R1:R4"); ТабДок.ВставитьОбласть(Область, СуществующаяОбласть, ТипСмещенияТабличногоДокумента.ПоВертикали); Всем спасибо за подсказки! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |