Открытие экспресс-отчета на редактирование

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

В примере 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">
<OpenEax xmlns="http://www.fsight.ru/PP.SOM.Som">
<tObject xmlns=" ">
  <id>S1!M!189</id>
  </tObject>
<tArg xmlns=" ">
<args>
  <openForEdit>true</openForEdit>
  </args>
  </tArg>
  </OpenEax>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<OpenEaxResult 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>S1!M!S!E12</id>
  </id>
  </OpenEaxResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
 "OpenEax" : 
  {
   "tObject" : 
    {
     "id" : "S1!M!189"
    },
   "tArg" : 
    {
     "args" : 
      {
       "openForEdit" : "true",
       "storeObject" : "true"
      }
    }
  }
}

JSON-ответ:

{
 "OpenEaxResult" : 
  {
   "id" : 
    {
     "id" : "S1!M!S!E2"
    }
  }
}
    public static OpenEaxResult OpenEaxForEdit(MbId mb, string eaxId)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tOpen = new OpenEax()
{
tArg = new OpenEaxArg()
{
args = new EaxOpenArgs()
{
openForEdit = true
}
},
//Формирование моникера объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, eaxId).k }
};
//Открытие экспресс-отчета
var result = somClient.OpenEax(tOpen);
return result;
}

См. также:

OpenEax: Операция