MetabaseLinkResult OpenMetabaseLink(OdId tOb, OpenMetabaseLinkArg tArg)
tOb. Моникёр объекта репозитория, являющегося связью с репозиторием.
tArg. Параметры выполнения операции.
Операция OpenMetabaseLink открывает связь с репозиторием и возвращает контекст для работы с ней.
Операция позволяет получить доступ к настройкам связи с репозиторием. Для выполнения операции укажите в поле tOb моникёр объекта репозитория, являющегося связью с репозиторием, а в поле tArg параметры открытия. Параметры для извлечения метаданных указываются в поле tArg.metaGet. Результатом работы операции будет моникёр открытого экземпляра связи с репозиторием, а также запрошенные метаданные, если при выполнении операции был задан соответствующий шаблон. Дальнейшая работа с открытым экземпляром связи с репозиторием осуществляется с помощью операций GetMetabaseLink и SetMetabaseLink. Для закрытия открытого экземпляра связи с репозиторием используйте операцию CloseMetabaseLink.
Пример открытия связи с репозиторием на редактирование. В запросе передается моникёр связи в репозитории. В ответе приходит моникёр открытого экземпляра связи с репозиторием.
В примере для C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».
{
"OpenMetabaseLink" :
{
"tOb" :
{
"id" : "KBCFEJFKABODGOAEODNPLELCGJNJEMEEKKAKMINPLIABGDLF!M!174241"
},
"tArg" :
{
"args" :
{
"openForEdit" : "true"
}
}
}
}
{
"OpenMetabaseLinkResult" :
{
"id" :
{
"id" : "KBCFEJFKABODGOAEODNPLELCGJNJEMEEKKAKMINPLIABGDLF!M!S!MLFLLDOCGKABODGOAECHIEOKAAEFLBLGHEELEHAOIMLEOKOGAI"
}
}
}
public static MetabaseLinkResult OpenMetabaseLink(MbId mb, string id)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tOpen = new OpenMetabaseLink()
{
tArg = new OpenMetabaseLinkArg()
{
args = new MetabaseLinkOpenArgs()
{
openForEdit = true
}
},
tOb = new OdId() { id = mb.id + "!" + FindObjectById(mb, id).k }
};
//Открытие связи с репозиторием
var tResult = somClient.OpenMetabaseLink(tOpen);
return tResult;
}
См. также: