|
|
|
Разбираюсь с компоновкой данных... | ☑ | ||
|---|---|---|---|---|
|
0
Aldvin
15.01.10
✎
10:28
|
Уважаемые знатоки, подскажите пожалуйста. Есть ли в макете компоновки данных настройка для того, чтобы зафиксировать шапку отчета?
|
|||
|
1
Demasiado
15.01.10
✎
10:30
|
Нету
|
|||
|
2
Aldvin
15.01.10
✎
10:31
|
И как можно решить эту задачу?
|
|||
|
3
Живой Ископаемый
15.01.10
✎
10:32
|
Программно
|
|||
|
4
Aldvin
15.01.10
✎
10:34
|
Рисовать макет?
|
|||
|
5
Demasiado
15.01.10
✎
10:34
|
Вычислять размер заголовка и программно лочить. Пошукай на этом форуме, была тема если макет - динамический.
|
|||
|
6
Aldvin
15.01.10
✎
10:39
|
Ага, нашел схожую тему. Сейчас попробую
|
|||
|
7
Живой Ископаемый
15.01.10
✎
11:36
|
Вообще, вопрос не тривиальный, конечно... но у меня во многих отчетах (вернее пока во всех немногих что я успел сделать), я не дают настройки на откуп юзерам.. Поэтому я создаю источник данных данных - Объект, в кое задаю объект - запрос, текст которого у меня уже отлажен для получения именно того набора, который мне нужен, который позволяет представить данные именно так, как я хочу, как попросили юзеры...
В СКД конечно же уже определены поля, ресурсы, вычисляемые поля, определена настройка, но Маке тем не менее не определен В коде, по нажатию юзера на кнопку Выполнить/сформировать я делаю: РезультатЗапроса =Запрос.Выполнить(); ПродажиВТоннах = РезультатЗапроса.Выгрузить(); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ПродажиВТоннах",ПродажиВТоннах);//вот мой источник данных - объект СхемаКомпоновкиДанных = ПолучитьМакет("ПродажиВес"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ЭлементыФормы.Результат.ОтображатьСетку = Ложь; ЭлементыФормы.Результат.ОтображатьЗаголовки = Истина; ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(1); //период не будем показывать ЭлементыФормы.Результат.ФиксацияСверху=6;// сначала я выполняю отчет без этих строк, смотрю скеолько занимает шапка, и потом их добавляю ЭлементыФормы.Результат.ФиксацияСлева=1; Я отдаю, конечно себе отчет что так можно сделать не всегда... Например если юзер может варьировать наборы группировок - то так не сделать... |
|||
|
8
Aldvin
15.01.10
✎
12:01
|
(7) - v8: СКД Как закрепить шапку в отчете?
Здесь более подробно обсуждается тема и есть варианты, как можно зафиксировать шапку с учетом всех выводимых группировок, а так же заголовка, параметров, и отбора. |
|||
|
9
Aldvin
15.01.10
✎
12:05
|
(7) А вообще у меня есть довольно грамотные пользователи, которые сами меняют порядок группировок
|
|||
|
10
DSSS
15.01.10
✎
12:08
|
(0) У меня есть кнопка на форме вот с таким кодом: - фиксируется все что слева и вверх от выделенной ячейки или области. ПРосто иногда фиксировать шапку недостаточно. Короче пользуйся!
Процедура ДействияФормыЗафиксировать(Кнопка) Результат = ЭлементыФормы.Результат; ИмяОбласти = Результат.ТекущаяОбласть.Имя; ПозицияДвоеточия = Найти(ИмяОбласти,":"); Если ПозицияДвоеточия > 0 тогда ВсегоСимволов = СтрДлина(ИмяОбласти); ИмяОбласти = Сред(ИмяОбласти,ПозицияДвоеточия+1,ВсегоСимволов-ПозицияДвоеточия); КонецЕсли; ПозицияС = Найти(ИмяОбласти,"C"); Строк = Сред(ИмяОбласти,2,ПозицияС-2); Столбцов = Сред(ИмяОбласти,ПозицияС+1,СтрДлина(ИмяОбласти)-ПозицияС); Результат.ФиксацияСверху = Число(Строк); Результат.ФиксацияСлева = Число(Столбцов); КонецПроцедуры |
|||
|
11
Defender aka LINN
15.01.10
✎
12:13
|
(10) Она же, правда, есть на панели внизу, но кого волнуют такие мелочи, правда?
|
|||
|
12
nbIx
15.01.10
✎
12:17
|
(0) Ну с фиксацией по вертикали понятно, а как зафиксировать ее по горизонтали?
|
|||
|
13
Живой Ископаемый
15.01.10
✎
12:20
|
2(9) Смотря какие отчеты нужны... Если не предполагается менять группировки, например.. Отчет фиксированный, для инвесторов... задачи-то разные бывают
|
|||
|
14
DSSS
15.01.10
✎
12:20
|
(11) Мда уж... Что там было про нелегкие пути?:)
|
|||
|
15
Живой Ископаемый
15.01.10
✎
12:20
|
2(12) Вот так:
ЭлементыФормы.Результат.ФиксацияСлева=1; |
|||
|
16
DSSS
15.01.10
✎
12:22
|
(13) Я вот после (11) теперь незнаю, нахрена над этой фиксацией заморачиваться.
|
|||
|
17
Aldvin
15.01.10
✎
12:23
|
(10) Спасибо. Пока такой потребности не было, но может пригодиться)
|
|||
|
18
Aldvin
15.01.10
✎
12:24
|
Спасибо всем. С задачей справился, тема закрыта
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |