Ниже приведен пример использования операции SetMs для удаления переменной. В запросе передаются: экземпляр открытого контейнера моделирования, параметры выполнения операции, срез данных, соответствующий удаляемой переменной, и шаблон получения измененных данных. В результате выполнения операция возвращает изменённую модель.
{ "SetMs" : { "tMs" : { "id" : "CEOHFIGABHNBFOAEACLDIHAAFIBLHLNEJJHHIHEGOIMCAOGA!M!S!CPOKJBJGABHNBFOAEFABNMBGBLLNHOPAEHKDKCJFDLLMFBFKJ" }, "tArg" : { "pattern" : { "obInst" : "true", "item" : { "key" : "92146", "metaModel" : { "calculationChain" : "Remove" } } }, "meta" : { "item" : { "k" : "92146", "type" : "MetaModel", "metaModelMd" : { "calculationChain" : { "its" : { "Item" : { "k" : "1", "type" : "Variable" } } } } } } } } }
{ "SetMsResult" : { "id" : { "id" : "CEOHFIGABHNBFOAEACLDIHAAFIBLHLNEJJHHIHEGOIMCAOGA!M!S!CPOKJBJGABHNBFOAEFABNMBGBLLNHOPAEHKDKCJFDLLMFBFKJ" } } }
public static MsId SetMsDelVar(MsId ms, ulong metaKey, ulong varKeyDel) { var setMsOp = new SetMs(); setMsOp.tMs = ms; setMsOp.tArg = new SetMsArg() { // Задаем шаблон изменения данных pattern = new MsMdPattern() { item = new MsItemPattern() { key = metaKey, metaModel = new MsMetaModelPattern() { calculationChain = ListOperation.Remove } } }, // Задаем данные, которые необходимо изменить meta = new MsMd() { item = new MsItem() { k = metaKey, type = MsItemType.MetaModel, metaModelMd = new MsMetaModel() { calculationChain = new MsCalculationChainEntries() { its = new MsCalculationChainEntry[] { new MsCalculationChainEntry() { k = varKeyDel, type = MsCalculationChainType.Variable } } } } } } }; // Создаем прокси-объект для выполнения операции var somClient = new SomPortTypeClient(); // Задаем параметры выполнения операции var result = somClient.SetMs(setMsOp); return result.id; }
См. также: