Axapta 如何获得AX 2012中特定主帐户的帐户结构?

Axapta 如何获得AX 2012中特定主帐户的帐户结构?,axapta,x++,dynamics-ax-2012,Axapta,X++,Dynamics Ax 2012,我想获取AX主帐户的帐户结构(特别是维度名称),您可以在总账-->设置-->帐户结构中创建该帐户,以便在网页中动态创建输入框 帐户结构表单非常复杂,为帐户结构系统提供动力的数据字典模式也非常复杂。有没有一种简单的方法可以找到给定主帐户的帐户结构?如果您已经知道要获取其帐户结构的主帐户,可以使用DimensionHierarchy::getAccountStructure()方法,该方法返回该主帐户的单个帐户结构ID。从那里,您可以访问该帐户结构ID的DimensionHierarchyLevel

我想获取AX主帐户的帐户结构(特别是维度名称),您可以在
总账-->设置-->帐户结构中创建该帐户,以便在网页中动态创建输入框


帐户结构表单非常复杂,为帐户结构系统提供动力的数据字典模式也非常复杂。有没有一种简单的方法可以找到给定主帐户的帐户结构?

如果您已经知道要获取其帐户结构的主帐户,可以使用
DimensionHierarchy::getAccountStructure()
方法,该方法返回该主帐户的单个帐户结构ID。从那里,您可以访问该帐户结构ID的DimensionHierarchyLevel表中的每个级别,并从DimensionAttribute表中提取有关帐户结构的任何数据

DimensionHierarchy hierarchy;
DimensionHierarchyLevel hierarchyLevel;
DimensionHierarchyId hId;
int i = 1; // Set to 0 if you also want to get the root MainAccount level

hId = DimensionHierarchy::getAccountStructure(MainAccount::findByMainAccountId("1234").RecId);

do
{
    i++;
    hierarchyLevel = DimensionHierarchyLevel::findByDimensionHierarchyAndLevel(hId, i);
    if (hierarchyLevel)
    {
        info(DimensionAttribute::find(hierarchyLevel.DimensionAttribute).Name);
    }
}
while (hierarchyLevel);