DisplayDataDomain: DbDataDomain;
DisplayDataDomain: Prognoz.Platform.Interop.Dal.DbDataDomain;
Свойство DisplayDataDomain возвращает тип отображаемой в атрибуте многобайтовой информации.
Для получения типа данных для хранения в атрибуте многобайтовой информации используйте свойство IDimAttributeInstance.DataDomain.
Для выполнения примера в репозитории предполагается наличие табличного справочника НСИ с идентификатором «TMDMDICT_MEMOTMDMDICT_MEMO». В справочнике должно содержаться несколько значений.
Для выполнения примера добавьте ссылки на системные сборки: Dal, Dimensions, Metabase.
Sub UserProc;
Var
mb: IMetabase;
dimension: IDimInstance;
attribute: IDimAttributeInstance;
attributes: IDimAttributesInstance;
i: Integer;
Begin
// Получаем текущий репозиторий
mb := MetabaseClass.Active;
// Получаем табличный справочник НСИ
dimension := mb.ItemById("TMDMDICT_MEMO").Open(Null) As IDimInstance;
// Получаем атрибуты справочника
attributes := dimension.Attributes;
// Перебираем полученные атрибуты
For i := 0 To attributes.Count - 1 Do
attribute := attributes.Item(i);
// Если атрибут отображает данные типа «Длинный текст», то выводим его значение
If (attribute.DisplayDataDomain = DbDataDomain.Memo) And
(attribute.Attribute.DataType = DbDataType.String) Then
Debug.WriteLine("Значение первого элемента: " + attribute.Value(0));
End If;
End For;
End Sub UserProc;
В результате выполнения примера для первого элемента справочника в окно консоли будет выведено значение атрибутов типа «Длинный текст», если они присутствуют в справочнике НСИ.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
dimension: IDimInstance;
attribute: IDimAttributeInstance;
attributes: IDimAttributesInstance;
i: Integer;
Begin
// Получаем текущий репозиторий
mb := Params.Metabase;
// Получаем табличный справочник НСИ
dimension := mb.ItemById["TMDMDICT_MEMO"].Open(Null) As IDimInstance;
// Получаем атрибуты справочника
attributes := dimension.Attributes;
// Перебираем полученные атрибуты
For i := 0 To attributes.Count - 1 Do
attribute := attributes.Item[i];
// Если атрибут отображает данные типа «Длинный текст», то выводим его значение
If (attribute.DisplayDataDomain = DbDataDomain.dddMemo) And
(attribute.Attribute.DataType = DbDataType.ddtString) Then
System.Diagnostics.Debug.WriteLine("Значение первого элемента: " + attribute.Value[0]);
End If;
End For;
End Sub;
См. также: