Имя: Пароль:
1C
1С v8
СКД. Заголовки центрировать а значения - нет.
0 fisher
 
31.10.12
17:30
Это только через макеты? Или можно проще? Если да - то как?
Чота я затупил...
1 чувак
 
31.10.12
17:32
Мне кажется только через макет. ИМХО
2 GANR
 
31.10.12
17:36
(0)Может условное оформление поможет?
3 GANR
 
31.10.12
17:37
+(2) Для каждой группировки, конечно, отдельно
4 GANR
 
31.10.12
17:39
"Доп. настройки", то есть
5 GANR
 
31.10.12
17:40
(4) Нет, доп. настройки не дают это - тогда УО
6 GANR
 
31.10.12
17:41
(0) (2) - проканало, внимание (2) - проканало
7 GANR
 
31.10.12
17:43
БЕЗ условий,  одно - для самой верхней группировки отчет (центрировать), другое - для вложенной в нее группировки (прижать влево)
8 fisher
 
31.10.12
17:49
(7) Гы. Таки да.
Но отчет будет настраиваться пользователем в широких пределах.
Как бы так исхитриться, чтобы центрирование заголовков прибить гвоздями...
9 GANR
 
31.10.12
17:50
(8) Синий курсор на настройку УО \ свойства элемента пользовательских настроек \ галочка "быстрый доступ" в истина - тогда юзеры смогут сами не копошась глубко настроить это.
10 GANR
 
31.10.12
17:54
(8) Аааа... не дочитал. Если нужно закрыть от юзера - тогда в (9)-же свойство "режим редактирования" задать "недоступный". Помогло?
11 fisher
 
31.10.12
18:00
Дык они же группировки будут сами настраивать. Общую центровку я задам и скрою. А дальше? Прижимать куда надо значения им же самим придется ипаться.
12 GANR
 
31.10.12
18:01
(11) Может код какой-нибудь, динамически добавляющий (2) подбить?
13 fisher
 
31.10.12
18:02
(12) Тогда уж проще макетами
14 fisher
 
31.10.12
18:47
Блин. Макетами для динамического количества колонок не получается... Остается только (12)
15 GANR
 
31.10.12
18:49
(15) Может вообще БЕЗ СКД этот отчет стоит делать? Не всегда она к месту.
16 GANR
 
31.10.12
18:50
Хотя... Как тогда юзера настроят его
17 fisher
 
31.10.12
19:57
Выкрутился тупо через установку центрирования ячеек области шапки в табличном документе после его формирования.
18 GANR
 
31.10.12
20:00
(17) Ячейки сформированного табличного документа перебрал в цикле?
19 fisher
 
31.10.12
20:02
(18) Зачем? Алгоритм определения высоты шапки известен (так решалась задача фиксации строк шапки раньше).
20 fisher
 
31.10.12
20:04
(19) + А потом тупо вся область центрируется.
21 GANR
 
31.10.12
20:05
(19) Теперь понял.
22 fisher
 
01.11.12
12:25
Возникла проблема с многошапочными отчетами (несколько самостоятельных группировок в одном отчете). Пришлось заморочиться с динамическим определением произвольного количества шапок в отчете. Авось кому пригодится.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
   ДокументРезультат.Очистить();
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
   // сформируем табличный документ и определим области шапок составного отчета
   ПроцессорВывода.НачатьВывод();
   ВыводОкончен = Ложь; ВысотаТаблицыПредыдущая = 0;
   МассивДиапазоновШапок = Новый Массив;
   ЭтоВыводДанныхПредыдущееСостояние = Истина;
   Пока НЕ ВыводОкончен Цикл
       ЭлементРезультата = ПроцессорКомпоновки.Следующий();
       Если ЭлементРезультата <> Неопределено Тогда
           ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
           ЭтоВыводДанных = ЭлементРезультата.ЗначенияПараметров.Количество() > 0;
           Если ЭтоВыводДанных <> ЭтоВыводДанныхПредыдущееСостояние И ДокументРезультат.ВысотаТаблицы <> ВысотаТаблицыПредыдущая Тогда
               Если НЕ ЭтоВыводДанных Тогда
                   МассивДиапазоновШапок.Добавить(Новый Структура("Начало,Конец", ДокументРезультат.ВысотаТаблицы, ДокументРезультат.ВысотаТаблицы));
               Иначе
                   МассивДиапазоновШапок[МассивДиапазоновШапок.Количество()-1].Конец = ВысотаТаблицыПредыдущая;
               КонецЕсли;    
               ЭтоВыводДанныхПредыдущееСостояние = ЭтоВыводДанных;
           КонецЕсли;
           ВысотаТаблицыПредыдущая = ДокументРезультат.ВысотаТаблицы;
       Иначе
           ВыводОкончен = Истина;;
       КонецЕсли;
   КонецЦикла;
   ПроцессорВывода.ЗакончитьВывод();
   
   // отцентрируем ячейки шапок
   Для Каждого ДиапазонШапки Из МассивДиапазоновШапок Цикл
       ОбластьШапки = ДокументРезультат.Область(ДиапазонШапки.Начало,,ДиапазонШапки.Конец);
       ОбластьШапки.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
       ОбластьШапки.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
   КонецЦикла;
   
   // свернем группировки
   Для ОтрицательныйНомер = -9 По 0 Цикл
       ДокументРезультат.ПоказатьУровеньГруппировокСтрок(-ОтрицательныйНомер);
   КонецЦикла;
   
КонецПроцедуры