AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 30.10.2004, 15:49   #1  
Александр Костоусов ist offline
Александр Костоусов
drc
 
97 / 10 (1) +
Registriert seit: 18.08.2004
MenuItem
Добрый День!

Подскажите, как из объекта вытащить имя вызвавшего его MenuItema и параметры?
Alt 30.10.2004, 15:55   #2  
George Nordic ist offline
George Nordic
Модератор
Benutzerbild von George Nordic
Злыдни
 
4.480 / 1255 (50) ++++++++
Registriert seit: 17.12.2003
Ort: Moscow
Blog-Einträge: 9
this.args().parmEnum();

Желательно перед получением сделать проверочку
if (this.args().parmEnumType() != enumnum(My_Enum))

С Уважением,
Георгий
Alt 30.10.2004, 17:28   #3  
Александр Костоусов ist offline
Александр Костоусов
drc
 
97 / 10 (1) +
Registriert seit: 18.08.2004
Ситуация такая -- класс вызывается MenuItem-ом, и создает отчет. Так вот в отчете немогу выловить menuItem!
Alt 30.10.2004, 17:51   #4  
George Nordic ist offline
George Nordic
Модератор
Benutzerbild von George Nordic
Злыдни
 
4.480 / 1255 (50) ++++++++
Registriert seit: 17.12.2003
Ort: Moscow
Blog-Einträge: 9
1) Отчет можно вызвать, при этом передав в виде переметра Enum:
PHP-Code:
    Args                            parameters = new Args();
    
ReportRun                       report;
    ;

            
parameters.name(reportstr(MyReportName));
            
parameters.caller(this);
            
parameters.record(Record);
            
parameters.parmEnumType(enumnum(MyEnum));
            
parameters.parmEnum(MyEnum::Value);
            
report = new ReportRun(parameters);
            
report.run(); 
2) Обычно такие отчеты содержат в себе переменную - экземпляр вызвавшего её класса. Напишите метод - пересылку и проверку к ней.
PHP-Code:
enumnum parmCallerEnumNum()
{
   return 
this.args().parmEnumType()
}

и 

Myenum parmMyEnum
()
{
   return 
this.args().parmEnum()

.. где -нибуть в init, после присвоения переменной класа попробуйте
PHP-Code:
MyClass   callerClass;
MyEnum   emum;

    if (
classIdGet(this.args().caller()) != classnum(MyClass))
            throw 
error("@SYS73002");

    
callerClass this.args().caller();

    if (
calerClass.parmCallerEnumNum != enumnum(MyEnum))
        throw 
error("@SYS73002");

    
enum calerClass.parmMyEnum() 
первый метод более простой и более грамотный. Однако он действует, если отчет вызывается явно. Иначе попробуйте способ №2.

С Уважением,
Георгий
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Чем используется MenuItem miklenew DAX: База знаний и проекты 15 19.03.2008 14:24
MenuItemButton и Action->MenuItem madproger DAX: Программирование 7 14.02.2007 10:57
menuitem Natasha DAX: Программирование 2 11.02.2005 10:52
Как поменять тип MenuItem с Display на Action SergeyA DAX: Программирование 5 12.02.2004 10:45
Запуск MenuItem Rem DAX: Программирование 1 18.07.2002 12:23

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 04:10 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.