2016-12-29 11 views
1

Для части интеграции было принято решение предоставить представление, которое может получить список значений для определенного сегмента измерения.Получить список сегментов измерений и значений

Валидация не имеет значения, на данный момент уже существует довольно надежная проверка, но я борюсь с тем, как получить эту информацию в SQL.

В идеале я бы получил структуру таблицы, которая имела бы только значение (Ie 1010 для BusinessUnit) и соответствующее имя (т.е. BU1).

Я могу вывести отображаемое значение и имя сегмента из DefaultDimensionView, но не имя, связанное с конкретным значением сегмента.

Я пропустил простой способ разоблачить эту информацию? (Учитывая финансовые размеры, возможно, нет, но можно надеяться)

ответ

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).