CalcAlg

Синтаксис

CalcAlgResult CalcAlg(AlgId tAlg, ArgType tArg)

Параметры

tAlg. Моникёр открытого экземпляра алгоритма расчёта показателей.

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

Описание

Операция CalcAlg вычисляет алгоритм расчёта показателей.

Комментарии

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

Результатом выполнения операции будет информация об успешности или возможных ошибках выполнения расчёта, а также общее время, затраченное на расчёт.

Пример

Ниже приведён пример запуска вычисления алгоритма расчёта показателей. В запросе передаётся моникёр открытого экземпляра алгоритма расчёта. В ответе приходит информация о результатах вычисления.

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">
<CalcAlg xmlns="http://www.fsight.ru/PP.SOM.Som">
<tAlg xmlns="">
  <id>S1!M!S!C1</id>
  </tAlg>
<tArg xmlns="">
  <command>Start</command>
  <state>true</state>
  </tArg>
  </CalcAlg>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<CalcAlgResult 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">
<state xmlns="">
  <calculationState>Running</calculationState>
  <needUpdateStyles>1</needUpdateStyles>
  </state>
  </CalcAlgResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"CalcAlg" :
{
"tAlg" :
{
"id" : "S1!M!S!C1"
},
"tArg" :
{
"command" : "Start",
"state" : "true"
}
}
}

JSON-ответ:

{
"CalcAlgResult" :
{
"state" :
{
"calculationState" : "Running",
"needUpdateStyles" : "1"
}
}
}
public static CalcAlgResult CalcAlg(AlgId moniker)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tCalc = new CalcAlg()
{
tAlg = moniker,
tArg = new CalcAlgArg()
{
command = AlgCalcCommand.Start,
state = true
}
};
//Выполнение алгоритма расчёта показателей
var result = somClient.CalcAlg(tCalc);
return result;
}

См. также:

Работа с алгоритмами расчёта показателей