如何查询对象UtilElements和UtilIdElements以获取正确的结果?

| 我在Dynamics AX 2009中查询UtilElements和UtilIdElements时遇到问题。 屏幕截图#1显示了在层ѭ0being,
syp
gls
glp
cup
中存在的SalesFormLetter类。但是,当我运行以下代码时,输​​出显示该对象仅存在于“ 0”层中。此代码的输出在屏幕截图2中给出。 我在这段代码中做错了吗?我想知道给定对象存在的所有层。 提前致谢。
    #AOT

    UtilElements        utilElements;
    UtilIdElements      utilIdElements;
    ;

    info(\'Querying UtilElements...\');

    while
        select      utilElements
        where       utilElements.name       == \'SalesFormLetter\'
        &&          utilElements.recordType == UtilElementType::Class
    {
        info(\'Layer: \' + enum2str(utilElements.utilLevel) + 
                \', Object type: \' + enum2str(utilElements.recordType));
    }


    info(\'Querying UtilIdElements...\');

    while
        select      utilIdElements
        where       utilIdElements.name         == \'SalesFormLetter\'
        &&          utilIdElements.recordType   == UtilElementType::Class
    {
        info(\'Layer: \' + enum2str(utilIdElements.utilLevel) + 
                \', Object type: \' + enum2str(utilIdElements.recordType));
    }
屏幕截图1: 屏幕截图2:     
已邀请:
还涉及其他元素类型,例如
UtilElementType::ClassStaticMethod
UtilElementType::ClassInstanceMethod
。尝试运行此:
static void UtilElementTest(Args _args)
{
    UtilElements        utilElements;
    ;
    setPrefix(\'Querying UtilElements...\');
    while select utilElements
        where utilElements.parentId == classNum(SalesFormLetter)
        // && utilElements.recordType == UtilElementType::ClassInstanceMethod
           && utilElements.utilLevel != UtilEntryLevel::sys
    {
        info(\'Name: \' + utilElements.name +
             \', Layer: \' + enum2str(utilElements.utilLevel) +
             \', Object type: \' + enum2str(utilElements.recordType));
    }
}
实际上,AOT有点欺骗以突出课程。类本身未更改,但是其方法之一是更改。     

要回复问题请先登录注册