OpenSegContResult OpenSegCont(OdId tOb, OpenSegContArg tArg)
tOb. Моникёр объекта репозитория, являющегося контейнером сегментов куба.
tArg. Параметры выполнения операции.
Операция OpenSegCont открывает контейнер сегментов куба.
Для выполнения операции укажите в поле tOb моникёр объекта, являющегося контейнером сегментов, а в поле tArg параметры открытия. Моникёр объекта может быть получен при выполнении операции GetObjects. В поле tArg могут быть указаны режим открытия (просмотр или редактирование) и шаблон для извлечения метаданных. В шаблоне указывается та информация, которая должна быть получена при открытии.
Результатом работы операции будет моникёр открытого экземпляра контейнера сегментов, а также метаданные, если при выполнении операции было определено поле tArg.metaGet.
Дальнейшая работа осуществляется с помощью операции GetSegCont и SetSegCont. Для сохранения изменений используйте операцию SaveObject.
Для закрытия открытого экземпляра объекта используйте операцию CloseSegCont.
Ниже приведён пример открытия контейнера сегментов на редактирование. В запросе передаётся моникёр объекта репозитория, являющегося контейнером сегментов. В ответе приходит полученный моникёр открытого экземпляра контейнера сегментов.
В примере C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».
{
"OpenSegCont" :
{
"tOb" :
{
"id" : "FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!317162"
},
"tArg" :
{
"args" :
{
"bind" : "true",
"openForEdit" : "true"
}
}
}
}
{
"OpenSegContResult" :
{
"id" :
{
"id" : "FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!S!CNIKPLJBOCLDPFOAEJGOHDKFEFEEPOCLEFIAOPAACCEOBKNOG"
},
"readOnly" : "0"
}
}
public static OpenSegContResult OpenSegCont(MbId mb, string id)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tOpen = new OpenSegCont()
{
tArg = new OpenSegContArg()
{
args = new SegContOpenArgs()
{
openForEdit = true
}
},
tOb = new OdId() { id = mb.id + "!" + FindObjectById(mb, id).k }
};
// Открытие контейнера сегментов
var tResult = somClient.OpenSegCont(tOpen);
return tResult;
}
См. также: