Имя: Пароль:
1C
 
Построитель отчета. Фиксированный макет.
0 selenat
 
26.02.08
16:59
Задаю какие мне нужно
ПостроительОтчетаОтчет.МакетШапкиТаблицы и ПостроительОтчетаОтчет.МакетДетальныхЗаписей.
А вот макеты для итоговых строк не понимаю как задать. В запросе два итоговых поля. У построителя вижу только МакетОбщихИтогов, но поскольку итоги не общие, а по конкретным полям, они не подхватываются. Как для итоговых строк тоже задать нужные мне макеты?
1 selenat
 
26.02.08
17:09
ап
2 selenat
 
26.02.08
17:14
Неужели только брать результат запроса и обходить по группировкам?
3 selenat
 
26.02.08
17:17
Похоже, что все давно уже работают с СКД и что такое Построитель отчета просто не знают...
4 selenat
 
26.02.08
17:31
Ну и ладно. Обычным обходом по группировкам даже лучше получается...
5 Kaushly
 
26.02.08
17:39
Посмотри в универсальном отчете функцию "ПолучитьМакетПостротеляОтчета()".
6 selenat
 
26.02.08
17:44
(5) а где есть универсальный отчет? У себя в конфе не нахожу такого.
7 Kaushly
 
26.02.08
19:31
в УПП есть (1.2), в УТ (10.3)
8 selenat
 
26.02.08
19:45
(7) у меня УТ 10.2. Там не нахожу. Может это в 8.1 возможности построителя раширили?
9 Wladimir_spb
 
26.02.08
19:47
Я обычно макет получаю из консоли, там же настраиваю и копирую в свой отчет.
10 selenat
 
26.02.08
20:47
(9) интересный прием, надо будет попробовать. Но речь вроде немного о другом. У клиента достаточно много требований к тому, как должен выглядеть отчет, точнее он просто нарисовал его и сказал, что это должно выглядеть вот так. Т.е. автоматически формируемый макет меня не устроит. Поэтому я нариовал макет какой нужно, но вот подменить макеты построителя на мои получается не все. В коллекции построителя не нахожу макеты отогов разного уровня (смотрю отладчиком)...
11 Kaushly
 
26.02.08
20:52
Вот кусок кода из универсального отчета:

АвтоматическийМакет = ПостроительОтчета.Макет;
Для каждого Область из АвтоматическийМакет.Области Цикл
   Если Область.Имя = "Заголовок" Тогда
       ДобавитьОбластьЗаголовок(Макет);
   ИначеЕсли Область.Имя = "ШапкаСтрок" Тогда
       ДобавитьОбластьШапкаСтрок(Макет);
   ИначеЕсли Область.Имя = "ШапкаТаблицы" Тогда
       ДобавитьОбластьШапкаТаблицы(Макет);
   ИначеЕсли Область.Имя = "ЗаголовокИтогаПоСтроке" Тогда
       ДобавитьОбластьЗаголовокИтогаПоСтроке(Макет);
   ИначеЕсли Область.Имя = "ЗаголовокИтогаПоКолонке" Тогда
       ДобавитьОбластьЗаголовокИтогаПоКолонке(Макет);
   ИначеЕсли Область.Имя = "ОбщиеИтоги" Тогда
       ДобавитьОбластьОбщиеИтоги(Макет, АвтоматическийМакет);
   ИначеЕсли Область.Имя = "Ресурсы" Тогда
       ДобавитьОбластьРесурсы(Макет);
   ИначеЕсли Область.Имя = "РесурсыИтогПоСтроке" Тогда
       ДобавитьОбластьРесурсыИтогПоСтроке(Макет);
   ИначеЕсли Область.Имя = "РесурсыИтогПоКолонке" Тогда
       ДобавитьОбластьРесурсыИтогПоКолонке(Макет);
   ИначеЕсли Область.Имя = "Детали" Тогда
       ДобавитьОбластьДетали(Макет, АвтоматическийМакет);
   Иначе
       ДобавитьОбластьИзмерение(Макет, АвтоматическийМакет, Область.Имя);
   КонецЕсли;
КонецЦикла;
12 Kaushly
 
26.02.08
20:53
Перебираются все предопределенные области, все что не предопределено - итог по полю
13 Wladimir_spb
 
26.02.08
20:57
(10) Я не предлагаю использовать напрямую автоматически созданный макет. Я в консоли его правлю как мне нужно и тут же проверяю вывод данных. Там есть макеты по группировкам итогов и их можно подправить.
14 selenat
 
26.02.08
21:15
(12,13) спасибо! завтра на работе проверю.
15 selenat
 
27.02.08
11:38
(13) что-то я не соображу как в консоли запросов можно править макет? Тут и макета то толком вроде нет, только способ выгрузки - списком или деревом.
16 selenat
 
27.02.08
20:29
Проблемы уже нет, но хотелось бы понять (13)...
17 Wladimir_spb
 
27.02.08
22:55
(15) В консоли отчетов на закладке оформление.
18 selenat
 
27.02.08
23:02
(17) что-то не нахожу. Может у меня УТ слишком старая. :(
Завтра поищу что поновее есть - покопаюсь. Спасибо!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс