Не сочтите этот способ за извращение, но у меня такой пример сработал.
На мысль навело использование горячих клавиш управления масштабом отчета.
Итак, создаем класс
и методы
X++:
static client void test()
{
thread thread = new thread();
;
thread.run(classnum(Class1), identifierstr(runThread));
}
Именно этот метод генерирует нажатия HotKeys Alt + D
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");
}
Далее, в самом отчете, например в методе run или Print перекрываем метод
X++:
public void run()
{
;
super();
Class1::test();
}
И вуаля - масштаб отчета изменился как надо.
Данная идея применима и к любым другим функциям Аксапта, где нет управления методами из кода x++, но есть управление с помощью Hot Keys.
Естественно, работать будет лишь в Dax2009 и Ax4.0, наверное.
Описание используемого метода NET тут -
http://msdn.microsoft.com/ru-ru/libr....sendkeys.aspx