ItemByIdNamespace(Id: String; Namespace_: Integer): IMetabaseObjectDescriptor;
Id. Идентификатор объекта, описание которого необходимо получить.
Namespace_. Ключ объекта-контейнера. В качестве объекта-контейнера могут указываться следующие объекты репозитория: репозиторий НСИ, контейнер моделирования, веб-приложение. Также могут указываться различные объекты, внутренние объекты которых не отображаются в навигаторе объектов (например, база данных временных рядов, контейнер пользовательских классов, справочники и другие).
Свойство ItemByIdNamespace возвращает описание объекта, содержащегося в каком-либо объекте-контейнере.
Данное свойство используется для доступа к внутренним объектам (например схема отметки табличного справочника), а также к дочерним объектам, хранящимся в объектах-контейнерах.
Свойство возвращает значение Null, если объект с указанным идентификатором не существует.
Для выполнения примера предполагается наличие формы и расположенной на ней кнопки с наименованием "Button1". В репозитории имеется репозиторий НСИ с идентификатором "NSI_1", в данном репозитории имеется справочник "Dict_1".
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
NSI: IRdsDictionary;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Begin
MB := MetabaseClass.Active;
NSI := MB.ItemByIdNamespace("Dict_1", MB.ItemById("NSI_1").Key).Bind As IRdsDictionary;
Target := WinApplication.Instance.GetPluginTarget("Rds");
Context := Target.CreateExecutionContext;
Context.Data := NSI;
Target.Execute("EditDictionary", Context);
End Sub Button1OnClick;
При нажатии на кнопку справочник НСИ "Dict_1" будет открыт на редактирование.
См. также: