IDimAttributeInstance.DisplayDifferentValue

Синтаксис Fore

DisplayDifferentValue: Boolean;

Синтаксис Fore.NET

DisplayDifferentValue: Boolean;

Описание

Свойство DisplayDifferentValue возвращает признак отображения по данному атрибуту значения, не соответствующего реальному значению.

Комментарии

При наличии связей в справочниках НСИ используемые для них отображаемые значения атрибутов могут иметь тип данных, не совпадающий с типом данных самого атрибута. Тип отображаемых данных зависит от установленного формата отображения.

Пример Fore

Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «NSI_1». В данном репозитории содержится справочник НСИ с идентификаторами «Dict_1». В справочнике создан атрибут с идентификатором «LINKATTR». Данный атрибут используется для связи с другими справочниками НСИ.

Sub UserProc;
Var
    MB: IMetabase;
    DimInst: IDimInstance;
    AttrInst: IDimAttributeInstance;
    HInst: IDimHierarchyInstance;
Begin
    MB := MetabaseClass.Active;
    DimInst := MB.ItemByIdNamespace("Dict_1", MB.ItemById("NSI_1").Key).Open(NullAs IDimInstance;
    AttrInst := DimInst.Attributes.FindById("LINKATTR");
    If AttrInst.DisplayDifferentValue Then
        Debug.WriteLine(AttrInst.DisplayDataType);
        Debug.WriteLine(AttrInst.DisplayValue(0));
    End If;
End Sub UserProc;

После выполнения примера будет осуществлена проверка отображаемого значения атрибута «LINKATTR». Если отображаемое значение не соответствует реальному значению по атрибуту, то тип отображаемого значения и само отображаемое значение для указанного элемента будет выведено в консоль среды разработки.

Пример Fore.NET

Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «NSI_1». В данном репозитории содержится справочник НСИ с идентификаторами «Dict_1». В справочнике создан атрибут с идентификатором «LINKATTR». Данный атрибут используется для связи с другими справочниками НСИ.

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    DimInst: IDimInstance;
    AttrInst: IDimAttributeInstance;
    HInst: IDimHierarchyInstance;
    VType: Integer;
    VDisplay: string;
Begin
    MB := Params.Metabase;
    DimInst := MB.ItemByIdNamespace["Dict_1", MB.ItemById["NSI_1"].Key].Open(NullAs IDimInstance;
    AttrInst := DimInst.Attributes.FindById("LINKATTR");
    If AttrInst.DisplayDifferentValue Then
        VType := AttrInst.DisplayDataType As integer;
        VDisplay := AttrInst.DisplayValue[0].ToString();
    End If;
End Sub;

После выполнения примера будет осуществлена проверка отображаемого значения атрибута «LINKATTR». Если отображаемое значение не соответствует реальному значению по атрибуту, то в переменных «VType» и «VDisplay» будет содержатся тип отображаемого значения и само отображаемое значение для указанного элемента.

См. также:

IDimAttributeInstance