24.01.2006, 15:47 | #1 |
Moderator
|
Как графически отредактировать дизайн отчета?
Уважаемые господа, кто-нибудь владеет техникой грамотного двиганья контролов в графическом дизайнере отчетов в Axapta? Поделитесь, пож-та, ноу-хау! Я имею приятный опыт такого двиганья в MS Access, а тут чего-то совсем растерялся , ибо контролы отказываются позиционироваться в те места, в которые я их ставлю мышкой, а прыгают в совершенно другие... Или всё надо сначала рисовать на бумажке, измерять линеечкой и потом прописывать в свойства (Top,Left,Height,Width)?!
|
|
24.01.2006, 16:31 | #2 |
Участник
|
Сначала выключите опцию auto в свойствах top, left контролов.
если выключите auto в свойствах Height,Width, то сможете менять мышкой размеры. Но! Вынапрочь потеряете возможность автоупорядочения, автоскрывания контролов в отчетах. См. http://axapta.mazzy.ru/screenshots/common/example.html Этот механизм работает и на формах, и на контролах. Поэтому считается дурным тоном задавать позицию контролов. См. отчет tutorial_Positioning и форму tutorial_Form_freeform |
|
25.01.2006, 11:58 | #3 |
Moderator
|
Большое Вам спасибо, многоуважаемый mazzy, за ответ. Концепцией частично вооружился, tutorial посмотрел.
И тем не менее - почему же дурно задавать конкретную позицию? Автоупорядочение дает нам (буквы - это контролы): A B C D E F G то бишь расположение "в линеечку" (или "в ленточку" с переходом на след. "строки") А мне надо: A B C F G ___ D ___ E Почему так трепетно нужно стремиться к сохранению возможности автоупорядочения? Кстати, заметил, что если уж отключил "Auto" на одном контроле, то надо сделать это и на всех других в данной секции отчета, иначе оставшиеся с "Auto" контролы будут назойливо стремиться автоупорядочиться внутри секции уже самыми затейливо-непредсказуемыми способами. |
|
25.01.2006, 13:11 | #4 |
Участник
|
Цитата:
Сообщение от Gustav
Почему так трепетно нужно стремиться к сохранению возможности автоупорядочения?
Потому что к контролам и соответствующим им полям/таблицам навешиваются security ключи. Т.е. вы можете правами доступа ограничивать доступ пользователей к полям/контролам. Если, например, вы запретили смотреть на себестоимость, то поле с себестоимостью исчезнет. Если при этом вы оставили автоупорядочение, то остальные поля АВТОМАТИЧЕСКИ сдвинутся и закроют освободившееся место. Если вы вручную задавали положение, то у вас останется пустая дырка на месте себестоимости 2. Потому что вы можете изменять ширину контрола/поля в типе. Соответствующие колонки АВТОМАТИЧЕСКИ будут расширены или сжаты. Остальные поля АВТОМАТИЧЕСКИ закроют освободившееся место. |
|
25.01.2006, 15:02 | #5 |
Мрачный тип
|
Разрешите присоединиться ....
Сергей, приведенные Вами аргументы действительно актуальны, но по большей части это все же к формам более относится. С отчетами тут менее применимо. Кроме простых спискообразных отчетов аля автоотчет, существует куча таких отчетов, в дизайне которых "из песни слов не выкинешь" security ключом. Различные госкомстатовские, отраслевые контрольные, государственных фискальных органов - в общем все "веселые" по дизайну формы отчетов. С ними приходится повозиться ... |
|
25.01.2006, 15:23 | #6 |
Участник
|
Цитата:
Сообщение от TasmanianDevil
Различные госкомстатовские, отраслевые контрольные, государственных фискальных органов - в общем все "веселые" по дизайну формы отчетов. С ними приходится повозиться ...
Заставьте Аксапту получать данные для них. Потом возьмите Excel... В общем, не занимайтесь ерундой (ИМХО) Впрочем, чего это я? я же добрый фей. в общем, отключайте auto в свойствах top, left и таскайте себе на здоровье... |
|
25.01.2006, 21:29 | #7 |
Moderator
|
Уважаемые коллеги, разрешите продолжить...
До меня, кажется, стало доходить! Всё не так уж плохо и вполне в гармонии: и с Аксаптой, и с предыдущим опытом (Excel, Access etc.). Предлагаю свой пошаговый путь в построении простого отчета, который поможет многое понять идущим следом "отчетным" новичкам, к коим я сегодня всецело отношу и себя. Итак, построим при помощи "Мастера отчетов" простой отчет на базе таблицы "Основные средства", а затем слегка причешем его в дизайне "от себя" (любимых) - а именно, нарисуем табличную сетку вокруг данных. По ходу станет ясно, что может быть не стоит торопиться отключать все эти "Auto", о которых говорилось выше в нашей дискуссии... Поехали! 1. Сервис -> Средства разработки -> Мастера -> Мастер отчетов 2. Показывать системные имена таблиц, полей, методов - нет. -> Вперед 3. Название - придумали латинскими буквами - это для Репозитария, Заголовок - русскими (ленивые, как я, могут скопировать сюда Название) - это для вывода на печать. Поля "Метка" - как есть. 4. Выбрали таблицу "Основные средства". 5. Группу "AutoReport" не берем в отчет - ее поля нельзя будет редактировать в дизайне (если она появилась справа, верните ее налево). Вместо этого наберем справа поля, входящие в эту группу, по отдельности: "Инв.номер ОС", "Статус", "Название", "Местоположение", "Дата приобретения". 6. Сортировка. Пусть будет по "Инв.номер ОС" по возрастанию. 7. Подзаголовки - выключаем, пусть будет пока без них. 8. Условия - для нашего примера вполне достаточно одного "Инв.номер ОС". 9. Формат отчета: "в виде таблицы", "Auto", "FrontPage". 10. Предварительный просмотр: добавлять в меню не будем, понажимаем на большие кнопки "Предварительный просмотр" и "Дизайн" - окинем взором в первом приближении "чего-как" получается (в Дизайне в этом режиме ничего не сохраняется, поэтому на пикту с дискетой давить не обязательно). 11. Завершение. С Мастером закончили, переходим в Репозитарий (например, по Ctrl+D). 12. В Репозитарии: AOT -> Reports -> (Название нашего отчета) -> Designs -> ReportDesign (кстати, не пренебрегайте клавишами "стрелка вправо" и "стрелка влево" для разворачивания и сворачивания узлов - иногда гораздо удобнее и быстрее мыши) 13. Стоя на ReportDesign -> правая кнопка мыши (или клавой Shift+F10) -> Генерация дизайна. 14. На появившемся пункте Generated Design -> правая кнопка мыши -> Правка -> мы в графическом дизайнере отчетов (почему мы будем курочить именно Generated Design, а не AutoDesignSpecs, я пока ответить не могу - надеюсь, это могут объяснить наши гораздо более опытные коллеги - или поправить меня). 15. Последовательно обойдем все пять полей и поменяем некоторые свойства (стоя на конкретном поле -> правая кнопка мыши -> Свойства). 16. Свойство DynamicHeight = Yes (на тех полях, где это свойство доступно - я так понял, что это текстовые поля). 17. Свойства TopMargin, BottomMargin = 0.5 mm, LeftMargin, RightMargin = 1 mm. 18. Свойства LineLeft, LineRihgt = Solid (LineAbove и LineBelow оставим = None). 19. Слева от вертикальной линейки на сером фоне щелкнем на надписи "Body:RAssetTable" чтобы получить доступ к свойствам секции. 20. Свойство секции Columnspace = 0 mm (или 0 Char). 21. Свойства секции LineLeft, LineRihgt, LineAbove, LineBelow = Solid. 22. Сохраняем дизайн и закрываем его. 23. Идём смотреть, что получилось: AOT -> Reports -> (Название нашего отчета) -> правая кнопка -> Открыть (поскольку к меню мы его не подключали, то вызываем вот таким способом). Вот собственно пока и всё. Уф! Устал расписывать... |
|
|
За это сообщение автора поблагодарили: mazzy (18). |