CalculateDecisionTree

Синтаксис

CalculateDecisionTreeResult CalculateDecisionTree(OdId tTree, CalculateDecisionTreeArg tArg)

Параметры

tTree. Моникёр объекта, являющегося деревом решений.

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

Описание

Операция CalculateDecisionTree запускает расчёт дерева решений.

Комментарии

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

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

Пример

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

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">
<CalculateDecisionTree xmlns="http://www.fsight.ru/PP.SOM.Som">
<tTree xmlns="">
  <id>HCPAJFBDHPJLFOAEPAGLPIDLNJIKEJFEFLBCBOPLKGBNDIHN!M!S!COFOIDJBDHPJLFOAEJHDPABEJEKHGAAKEFLLFLOAFJJBKLEMH</id>
  </tTree>
<tArg xmlns="">
  <returnDecisionTable>true</returnDecisionTable>
  <interactiveParams />
  </tArg>
  </CalculateDecisionTree>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<CalculateDecisionTreeResult 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">
  <result xmlns="">1</result>
  <verificationErrorList xmlns="" />
<decisionTable xmlns="">
<columns>
<its>
  <header>routeId</header>
  <id>routeId</id>
  <type>Inner</type>
  </its>
<its>
  <header>id</header>
  <id>id</id>
  <type>Inner</type>
  </its>
<its>
  <header>Время запуска расчета дерева</header>
  <id>TimeId</id>
  <type>Time</type>
  </its>
<its>
  <header>Расстояние</header>
  <id>DT27D0B57E39324CC8A2C678D6514BECA1</id>
  <type>Parameter</type>
  </its>
<its>
  <header>Состояние</header>
  <id>DTBEDF0FF92C3D44279EE21884BBA33646</id>
  <type>Parameter</type>
  </its>
<its>
  <header>Решение дерева</header>
  <id>ResultId</id>
  <type>Decision</type>
  </its>
<its>
  <header>Действие</header>
  <id>ActionId</id>
  <type>Action</type>
  </its>
  </columns>
<rows>
<its>
<its>
  <value>DT34B10A03090643B4AEA99858CEEC10BC</value>
  </its>
<its>
  <value>DTA67DDEA4A62043D99B925F9BDAFD4840</value>
  </its>
<its>
  <value>26.10.2021 17:23:44</value>
  </its>
<its>
  <value>35</value>
  </its>
<its>
  <value>1</value>
  </its>
<its>
  <value>Решение 2</value>
  </its>
<its>
  <actions />
  </its>
  </its>
  </rows>
  </decisionTable>
  </CalculateDecisionTreeResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"CalculateDecisionTree" :
{
"tTree" :
{
"id" : "HCPAJFBDHPJLFOAEPAGLPIDLNJIKEJFEFLBCBOPLKGBNDIHN!M!S!COFOIDJBDHPJLFOAEJHDPABEJEKHGAAKEFLLFLOAFJJBKLEMH"
},
"tArg" :
{
"returnDecisionTable" : "true",
"interactiveParams" : ""
}
}
}

JSON-ответ:

{
"CalculateDecisionTreeResult" :
{
"result" : "1",
"verificationErrorList" : "",
"decisionTable" :
{
"columns" :
{
"its" :
[
{
"header" : "routeId",
"id" : "routeId",
"type" : "Inner"
},
{
"header" : "id",
"id" : "id",
"type" : "Inner"
},
{
"header" : "Время запуска расчета дерева",
"id" : "TimeId",
"type" : "Time"
},
{
"header" : "Расстояние",
"id" : "DT27D0B57E39324CC8A2C678D6514BECA1",
"type" : "Parameter"
},
{
"header" : "Состояние",
"id" : "DTBEDF0FF92C3D44279EE21884BBA33646",
"type" : "Parameter"
},
{
"header" : "Решение дерева",
"id" : "ResultId",
"type" : "Decision"
},
{
"header" : "Действие",
"id" : "ActionId",
"type" : "Action"
}
]
},
"rows" :
{
"its" :
{
"its" :
[
{
"value" : "DT34B10A03090643B4AEA99858CEEC10BC"
},
{
"value" : "DTA67DDEA4A62043D99B925F9BDAFD4840"
},
{
"value" : "26.10.2021 17:23:44"
},
{
"value" : "35"
},
{
"value" : "1"
},
{
"value" : "Решение 2"
},
{
"actions" : ""
}
]
}
}
}
}
}
public static CalculateDecisionTreeResult CalculateDecisionTree(string treeMoniker, string paramsValue = "")
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tCalc = new CalculateDecisionTree()
{
tTree = new OdId() { id = treeMoniker },
tArg = new CalculateDecisionTreeArg()
{
returnDecisionTable = true,
interactiveParams = paramsValue
}
};
// Расчёт дерева решений
var result = somClient.CalculateDecisionTree(tCalc);
return result;
}

См. также:

Работа с деревом решений