Изменение настроек алгоритма расчёта у среза данных

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

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">
<UpdateDataAreaExternalTransformations xmlns="http://www.fsight.ru/PP.SOM.Som">
  <mon xmlns="">FPJHEGEAILDDGOAEBNPJEFNNPNNPCPAELKNIOBNJKIPKLKBE!M!S!PDFCFFHEAILDDGOAECGFLOGBJGLOFCJHEFKJBCNDOFDGMOMON!DataArea!DataSources!1!DataSourceSlices!1!ExternalTransformations</mon>
<tArg xmlns="">
<its>
<it>
<action>
  <operation>Update</operation>
  </action>
<externalTransformation>
  <k>1</k>
  <saveDataOption>true</saveDataOption>
  <calculationPeriodMode>2</calculationPeriodMode>
  </externalTransformation>
  </it>
  </its>
  </tArg>
  </UpdateDataAreaExternalTransformations>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

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

JSON-запрос:

{
"UpdateDataAreaExternalTransformations" :
{
"mon" : "FPJHEGEAILDDGOAEBNPJEFNNPNNPCPAELKNIOBNJKIPKLKBE!M!S!PDFCFFHEAILDDGOAECGFLOGBJGLOFCJHEFKJBCNDOFDGMOMON!DataArea!DataSources!1!DataSourceSlices!1!ExternalTransformations",
"tArg" :
{
"its" :
{
"it" :
[
{
"action" :
{
"operation" : "Update"
},
"externalTransformation" :
{
"k" : "1",
"saveDataOption" : "true",
"calculationPeriodMode" : "2"
}
}
]
}
}
}
}

JSON-ответ:

{
"UpdateDataAreaExternalTransformationsResult" : "1"
}
public static bool ChangeAlgorithmWithSlice(string moniker, uint sourceKey, uint sliceKey, uint algoItemKey, int? moveTo = null)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tUpd = new UpdateDataAreaExternalTransformations()
{
tArg = new DataAreaExternalTransformationUpdateActions()
{
its = new DataAreaExternalTransformationUpdateAction[]
{
new DataAreaExternalTransformationUpdateAction()
{
action = new DataAreaExternalTransformationUpdateActionType() { operation = DataAreaExternalTransformationUpdateActionOperation.Update, index = moveTo },
externalTransformation = new DataAreaExternalTransformation()
{
k = algoItemKey,
calculationPeriodMode = 2, // Отметка алгоритма
saveDataOption = true, // Сохранять данные
}
}
}
},
mon = moniker + "!DataArea!DataSources!" + sourceKey + "!DataSourceSlices!" + sliceKey + "!ExternalTransformations"
};
// Добавление алгоритма расчёта для среза данных
var result = somClient.UpdateDataAreaExternalTransformations(tUpd);
return result;
}

См. также:

UpdateDataAreaExternalTransformations: Операция