获取维度段和值列表

时间:2016-12-29 16:53:09

标签: axapta dynamics-ax-2012-r3

对于某个集成,已决定提供一个可以检索特定维度段的值列表的视图。

验证在这一点上并不重要,已经有一些相当强大的验证,但我在如何在SQL中获取此信息方面苦苦挣扎。

理想情况下,我最终会得到一个只有值(即BusinessUnit的1010)和相应名称(即BU1)的表结构。

我可以从DefaultDimensionView中提取显示值和段名,但不是与特定段值相关联的名称。

我是否忽略了揭露此信息的简单方法? (鉴于财务方面,可能不是,但人们可以希望)

1 个答案:

答案 0 :(得分:0)

没有简单的方法来获取SQL中维度的描述,因为它需要了解存储描述的支持实体表。

在AX中很简单,只需使用DefaultDimensionView.dimensionDiscription显示方法:

display String50 dimensionDiscription()
{
    Common common;
    DictTable d;    
    if (this.BackingEntityType)
    {
        d = new DictTable(this.BackingEntityType);
        common = d.makeRecord();    
        select common where common.(this.KeyAttribute) == this.EntityInstance;    
        return DimensionAttribute::getLocalizedNameByEntityAndInstance(this.DimensionAttributeId, this.EntityInstance, common.(this.NameAttribute));
    }    
    return '';
}

它只是对支持表和字段进行查找(存储在DimensionAttriube表中)。