AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2008, 10:59   #1  
vadimiron is offline
vadimiron
Участник
 
24 / 10 (1) +
Регистрация: 16.12.2007
Многоэтажные заголовки в отчётах
Существует ли возможность группировать заголовки??
Нужно примерно следущее (приложенный рисунок)

Заголовки 1, 2, 3 - реальные заголовки.
Обощающий заголовок - наша "придумка"

Есть ил возможность в отчёте подобное организовать??
Миниатюры
Нажмите на изображение для увеличения
Название: 2008-09-01_0858.png
Просмотров: 400
Размер:	3.1 Кб
ID:	3658  
Старый 01.09.2008, 11:01   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Можно, но придеться рисовать руками
Проще выводить отчеты с такими заголовками в Excel, IMHO
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 01.09.2008, 11:14   #3  
vadimiron is offline
vadimiron
Участник
 
24 / 10 (1) +
Регистрация: 16.12.2007
А что значит "рисовать"?? Рисунок вставлять над колонками???
Старый 01.09.2008, 11:20   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Нет. В репортах аксапты колонки и заголовки и т.п. рисуются с помощью Shape-ов. Можете для примера помотреть репорт SalesPurchInvoice_RU. Это ТОРГ-12
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: vadimiron (1).
Старый 01.09.2008, 11:53   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от lev Посмотреть сообщение
Можно, но придеться рисовать руками
Лучше не надо - будет куча гемора и перестанет работать скрытие полей.
Этот фукнционал работает не только в формах, но и в отчетах http://axapta.mazzy.ru/screenshots/common/example.html
__________________
полезное на axForum, github, vk, coub.
Старый 01.09.2008, 12:56   #6  
vadimiron is offline
vadimiron
Участник
 
24 / 10 (1) +
Регистрация: 16.12.2007
А с SectionTemplate кто нибудь подобное пробывал?? Там же есть только section к определённому map-у - а если я буду рисовать заголовки shape-ами, там у меня нет никакого map-a
Старый 01.09.2008, 13:49   #7  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
В принципе, если сделать аккуратно, то можно даже негативный эффект от скрытия полей минимизировать. С другой стороны, если речь заходит о таких отчетах, то вряд ли их стоит стараться сделать супер-универсальными. Скорее всего, это отчет для одного конкретного проекта, и если возникнет такая ситуация, что одно или несколько полей вдруг будут скрыты, дешевле будет поправить отчет в этот момент, а не думать об этом заранее.

vadimiron, с Section Template такой фокус, наверное, не пройдет. Там ведь только template для body создается. А вам хочется, если я правильно понял, сделать template для header'а. Вообще, сомневаюсь, что имеет смысл решать эту проблему на уровне шаблонов (просто тяжелее будет поддерживать). Делайте по отдельности для каждого отчета.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: vadimiron (1).
Старый 01.09.2008, 15:26   #8  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Re: Многоэтажные заголовки в отчётах
В простом случае, например как на скриншоте в исходном посте, подобный заголовок делается из четырех текстовых контролов, без всяких шейпов. Ширина верхнего контрола, например в char-ах, должна быть равно трем нижним(если они одинаковые). Ну а далее, достаточно установить свойства:LineAbove, LineBelow, LineLeft, LineRight в значение Solid.
За это сообщение автора поблагодарили: vadimiron (1).
Старый 01.09.2008, 18:10   #9  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
В простом случае, например как на скриншоте в исходном посте, подобный заголовок делается из четырех текстовых контролов, без всяких шейпов. Ширина верхнего контрола, например в char-ах, должна быть равно трем нижним(если они одинаковые). Ну а далее, достаточно установить свойства:LineAbove, LineBelow, LineLeft, LineRight в значение Solid.
Точно. Именно так и делаю, не нужно никаких шейпов. Хотелось бы добавить, что Body (или ProgammableSection) для такого отчета (то есть нижеследующие строки), делается c LineBelow,LineLeft, LineRight=Solid, (для секции заголовка - также LineAbove). Высоту каждой строки в заголовке и в строке обычно ставлю 4мм, то есть в вашем случае высота секции заголовка будет 8мм. Для текстовых контролов, достаточно выставить свойство LineRight. При этом если не хотите артефактов, выставляйте вручную позиции текстовых контролов. Ширина контролов прикидывается исходя из общей ширины листа, чтобы избежать масштабирования. То есть скажем при альбомной ориентации ширина секции будет 212 char, при портретной - 111. Во вложении пример такого отчета

Интересно, возможно ли простым методом группировать сами значения в строках? То есть, когда строки выглядят примерно так (==== это пусто):
|----------|-----------------------|
|=====|-----------------------|
|=====|-----------------------|
|----------|-----------------------|
|=====|-----------------------|
|=====|-----------------------|
|----------------------------------|
Из того, что пробовал - приходится дополнительно программировать свойства в дизайне - не логично.
Вложения
Тип файла: xpo Report_Overalls.xpo (14.6 Кб, 396 просмотров)

Последний раз редактировалось Eldar9x; 01.09.2008 в 18:23.
За это сообщение автора поблагодарили: vadimiron (1).
Старый 01.09.2008, 18:40   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Не рекомендую ставить размеры в миллиметрах. Помните, что любой юзер может поменять шрифт отчета по умолчанию

С LineLeft, LineRight тоже особо играться не стоит - велика вероятность того, что пострадает выгрузка отчета в HTML/RTF/PDF.

И еще один совет напоследок: старайтесь как можно меньшему количеству полей в отчете указывать явное значение Left, Width и Top, чаще используйте ModelFieldName. Поблагодарите еще меня не раз, когда придется в такой отчет добавлять новое поле
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me

Последний раз редактировалось Maxim Gorbunov; 01.09.2008 в 18:43.
Старый 02.09.2008, 10:15   #11  
vadimiron is offline
vadimiron
Участник
 
24 / 10 (1) +
Регистрация: 16.12.2007
ВСем сенкс - сделал обычными TextControl-ами и с миллиметрами....

А если не в миллиметрах, то в char-ах??

Ещё такой вопрос: Так Header и Footer определены в шаблоне, я пытаюсь использовать только AutoDesign - поэтому заголовки столбцов приходится описывать в ProgrammableSection, и вызывать её до вызыва секции Body - но вот как тут лучше работать с ModelFieldName?? И вообще возможно ли??? Должные TextControl-ы ориентироваться по полям Body или наоборот???
Старый 02.09.2008, 10:25   #12  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
В char - ширину контролов, так очень просто их высчитывать исходя из ширины секции. Высоту - можно в mm.
Цитата:
Должные TextControl-ы ориентироваться по полям Body или наоборот???
В смысле? Суть простая - вначале для каждого поля записываете где-нибудь ширину в char. Далее у первого контрола left будет 0, ширина, скажем 10 char. Второго, left = 10 char, width, например, 30 char. То есть, left каждого последующего контрола высчитывается исходя из left предыдущего+width предыдущего.
Цитата:
Поблагодарите еще меня не раз, когда придется в такой отчет добавлять новое поле
Добавление нового поля при этом занимает от силы минут 5. Кстати в body не обязательно текстовые контролы использовать, можно прямиком поля таблицы тянуть, и для них точно также позиции выставлять.
Старый 02.09.2008, 16:17   #13  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да, лучше char'ами. Тогда при изменении размера шрифта ничего не поплывет.

Кстати, я обычно стараюсь в таких случаях для заголовков использовать не TextControl'ы, а Prompt'ы. С их помощью можно подцепить label'ы из полей таблиц и extended data types.

По поводу того, с помощью чего заголовки выводить - дело вкуса, по-моему. Я обычно в PageHeader их засовываю. В качестве ModelFieldName обычно используются поля из Body. То есть, положение на странице указывается для полей с данными, а заголовки и тоталы привязываются к ним через ModelFieldName.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: vadimiron (1).
Старый 02.09.2008, 17:58   #14  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
А ModelFieldName влияет на вертикальное положение контрола?
Цитата:
Должные TextControl-ы ориентироваться по полям Body или наоборот???
поля body, видимо, ориентируются, по заголовку. Хотя, наверное, разницы нет, зависит от алгоритма.
Вот, если ModelFieldName влиет и на положение контрола, то для отчета в первом посте, это свойство не получится использовать. Хотя, в одноуровневых отчетах, наверное, удобно.

Последний раз редактировалось Eldar9x; 02.09.2008 в 18:03.
Старый 02.09.2008, 18:10   #15  
vadimiron is offline
vadimiron
Участник
 
24 / 10 (1) +
Регистрация: 16.12.2007
Я сделал так: Линии выстраиваю с точным нужным мне положением, а заголовки и Totals-ы формирую "вокруг" Линий, задавая ModelFieldName - получается неплохо. Единственное - обобщающие заголовки приходится руками подправлять (например если длина изменилась) - все остальные заголовки подстраиваются под Линии
Теги
заголовок в отчете, многоэтажные заголовки, отчет

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как не выводить заголовки в форме, если нет строк? DreamCreator DAX: Программирование 9 29.05.2008 15:10
Количество знаков отображения после запятой в формах и отчетах AX3.0 SP3 ksenia DAX: Функционал 4 07.04.2008 17:27
Заголовки в отчетах Maxim Gorbunov DAX: Программирование 2 02.02.2004 15:38
шрифты в отчетах для тонкого клиента rinugun DAX: Программирование 0 27.01.2004 12:56
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:17.