OpenSegCont

Синтаксис

OpenSegContResult OpenSegCont(OdId tOb, OpenSegContArg tArg)

Параметры

tOb. Моникёр объекта репозитория, являющегося контейнером сегментов куба.

tArg. Параметры выполнения операции.

Описание

Операция OpenSegCont открывает контейнер сегментов куба.

Комментарии

Для выполнения операции укажите в поле tOb моникёр объекта, являющегося контейнером сегментов, а в поле tArg параметры открытия. Моникёр объекта может быть получен при выполнении операции GetObjects. В поле tArg могут быть указаны режим открытия (просмотр или редактирование) и шаблон для извлечения метаданных. В шаблоне указывается та информация, которая должна быть получена при открытии.

Результатом работы операции будет моникёр открытого экземпляра контейнера сегментов, а также метаданные, если при выполнении операции было определено поле tArg.metaGet.

Дальнейшая работа осуществляется с помощью операции GetSegCont и SetSegCont. Для сохранения изменений используйте операцию SaveObject.

Для закрытия открытого экземпляра объекта используйте операцию CloseSegCont.

Пример

Ниже приведён пример открытия контейнера сегментов на редактирование. В запросе передаётся моникёр объекта репозитория, являющегося контейнером сегментов. В ответе приходит полученный моникёр открытого экземпляра контейнера сегментов.

В примере C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<OpenSegCont xmlns="http://www.fsight.ru/PP.SOM.Som">
<tOb xmlns="">
  <id>FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!317162</id>
  </tOb>
<tArg xmlns="">
<args>
  <bind>true</bind>
  <openForEdit>true</openForEdit>
  </args>
  </tArg>
  </OpenSegCont>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<OpenSegContResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id xmlns="">
  <id>FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!S!CNIKPLJBOCLDPFOAEJGOHDKFEFEEPOCLEFIAOPAACCEOBKNOG</id>
  </id>
  <readOnly xmlns="">0</readOnly>
  </OpenSegContResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"OpenSegCont" :
{
"tOb" :
{
"id" : "FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!317162"
},
"tArg" :
{
"args" :
{
"bind" : "true",
"openForEdit" : "true"
}
}
}
}

JSON-ответ:

{
"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;
}

См. также:

Работа с кубами