|
03.02.2006, 11:46 | #1 |
Administrator
|
Изменение масштаба отчета (программное)
Господа - подскажите кто знает (или скажите авторитетно что так невозможно ).
Возможно ли программно как-то повлиять на масштаб выводимого отчета (под отчетом понимается отчеты из узла \Reports\) ? Т.е. к примеру вывести отчет в масштабе по ширине страницы или 25% - в таком плане. Я вроде такого не находил - но может кто сталкивался. Вопрос именно про данную возможность. Как это обойти (нарисовать в Excel, прикрутить OLAP или Crystal) - это уже другой вопрос.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 03.02.2006 в 11:51. |
|
03.02.2006, 12:52 | #2 |
Moderator
|
Присоединяюсь к вопросу! Мне тоже интересно.
Сколь мне помнится (имхо), его вроде и ручками-то не сильно можно подправить... Помню только инфо-лог, констатирующий, что мой отчет был отмасштабирован типа "в 49 % от нормального размера"... |
|
03.02.2006, 13:00 | #3 |
Участник
|
Да нет, ручками то пожалуйста, правой кнопкой мыши или Alt-D, Alt-U.
Последний раз редактировалось KMV; 03.02.2006 в 13:26. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
03.02.2006, 13:18 | #4 |
Участник
|
Можно попробовать докопатся до параметров "ResolutionX" "ResolutionY". Сам не пробпвал но звучит как-то похоже на истину.
|
|
03.02.2006, 15:51 | #5 |
Moderator
|
To KMV: Спасибо за подсказку, освоил ручные операции, буду знать...
To ALL: ...НО, мне кажется, это не то, что надо sukhanchik-у. По-моему, речь идет о том, как например, если в Экселе у нас в режиме 100% на одну страницу помещается 8 колонок из 10, а 2 другие выводятся на следующий лист (справа)... И вот как раз эти "проценты" и варианты размещения на страницах (одной или двух) хочется контролировать кодом... Ну, т.е. чтобы было "как в Excel-e". Так? |
|
03.02.2006, 16:02 | #6 |
Участник
|
to Gustav
подобное недавно обсуждалось тут ни ручками, ни программно я не знаю, как это сделать. Похоже, что никак. |
|
|
За это сообщение автора поблагодарили: Gustav (1). |
03.02.2006, 21:03 | #7 |
Administrator
|
Для начала - спасибо всем ответившим.
2Gustav: не.. как в Excel - это не то. Тут я присоединяюсь к фразе George Nordic про количество шапок из одной овчины (из ветки, указанной KMV). Вопрос был именно про дублирование того контекстного меню, появляющегося при запуске отчета - или же задания из кода некого процента масштаба перед открытием отчета. 2KMV: Про клавиши Alt-D, Alt-U - я не знал - спасибо 2braathe: А что это за параметры? И где они обитают? Надеюсь не предлагается через WinAPI измерять текущее разрешение? Как мне тут сказали коллеги - возможность изменения масштаба появилась только в 3.0 - и поэтому никакого программного интерфейса чтобы к нему достучаться - нет. В принципе - это был больше теоретически-академический вопрос. Думал - что может кто знает .
__________________
Возможно сделать все. Вопрос времени |
|
04.02.2006, 08:00 | #8 |
Участник
|
Цитата:
Сообщение от sukhanchik
Как мне тут сказали коллеги - возможность изменения масштаба появилась только в 3.0 - и поэтому никакого программного интерфейса чтобы к нему достучаться - нет.
Но только кнопками. Контекстное меню на правой кнопке мыши действительно появилось только в 3.0 Добавил в FAQ про кнопки. |
|
11.05.2011, 11:01 | #9 |
MCITP
|
По сабжу (программное изменение масштаба стандартного отчёта) ни у кого нет никакой новой информации? Может в 2009 что-то поменялось и кому-то удалось совершить сие?
Хотя бы через WinAPI...
__________________
Zhirenkov Vitaly |
|
11.05.2011, 12:45 | #10 |
Участник
|
Не сочтите этот способ за извращение, но у меня такой пример сработал.
На мысль навело использование горячих клавиш управления масштабом отчета. Итак, создаем класс X++: class Class1 X++: static client void test() { thread thread = new thread(); ; thread.run(classnum(Class1), identifierstr(runThread)); } X++: static client void runThread(thread _thread) { ; System.Windows.Forms.SendKeys::SendWait("%D"); System.Windows.Forms.SendKeys::SendWait("%D"); System.Windows.Forms.SendKeys::SendWait("%D"); System.Windows.Forms.SendKeys::SendWait("%D"); System.Windows.Forms.SendKeys::SendWait("%D"); System.Windows.Forms.SendKeys::SendWait("%D"); } X++: public void run() { ; super(); Class1::test(); } Данная идея применима и к любым другим функциям Аксапта, где нет управления методами из кода x++, но есть управление с помощью Hot Keys. Естественно, работать будет лишь в Dax2009 и Ax4.0, наверное. Описание используемого метода NET тут - http://msdn.microsoft.com/ru-ru/libr....sendkeys.aspx |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2), mazzy (2), ZVV (2), Logger (5). |
11.05.2011, 14:41 | #11 |
MCITP
|
Если б была горячая клавиша "по ширине страницы", то это было бы круто... а так, баловство одно...
Или такая клавиша всё-таки есть? Кстати, ни в одной документации не могу найти описания этих Alt-D, Alt-U. , странно... Пробую что-то наваять через винАпи.. может выйдет
__________________
Zhirenkov Vitaly |
|