HasHierarchy: Boolean;
HasHierarchy: boolean;
Свойство HasHierarchy определяет, может ли атрибут использоваться для построения альтернативной иерархии.
Построение альтернативной иерархии на атрибутах доступно для табличных справочников НСИ и составных табличных справочников НСИ.
Возможные значения HasHierarchy:
True. Атрибут может использоваться для построения альтернативной иерархии;
False. Значение по умолчанию. Атрибут не может использоваться для построения альтернативной иерархии.
Для выполнения примера в репозитории предполагается наличие табличного справочника НСИ с идентификатором «TD_MDM».
Добавьте ссылки на системные сборки: Dal, Metabase, Rds.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Dict: IRdsDictionary;
Attrs: IRdsAttributes;
Attr: IRdsAttribute;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("TD_MDM").Edit;
Dict := MObj As IRdsDictionary;
Attrs := Dict.Attributes;
Attr := Attrs.Add;
Attr.DataType := DbDataType.String;
Attr.HasHierarchy := True;
Attr.Id := "UserAttr";
Attr.Name := "Атрибут для альтернативной иерархии";
Attr.Nullable := True;
MObj.Save;
End Sub UserProc;
В результате выполнения примера в табличный справочник НСИ будет добавлен атрибут, который может быть использован для построения альтернативной иерархии.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Rds;
…
Public Shared Sub UserProc(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Dict: IRdsDictionary;
Attrs: IRdsAttributes;
Attr: IRdsAttribute;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["TD_MDM"].Edit();
Dict := MObj As IRdsDictionary;
Attrs := Dict.Attributes;
Attr := Attrs.Add();
Attr.DataType := DbDataType.ddtString;
Attr.HasHierarchy := True;
Attr.Id := "UserAttr";
Attr.Name := "Атрибут для альтернативной иерархии";
Attr.Nullable := True;
MObj.Save();
End Sub;
См. также: