Имя: Пароль:
1C
 
Разбираюсь с компоновкой данных...
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
Спасибо всем. С задачей справился, тема закрыта
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший