Ниже приведен пример использования операции GetMs для переименования переменной моделирования. В запросе передаются: экземпляр открытого контейнера моделирования, шаблон получения изменённых данных, параметры выполнения операции и срез данных, соответствующий переменной. В ответе приходит описание переименованной переменной.
{
"GetMs" :
{
"tMs" :
{
"id" : "S84!M!S!C1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"item" :
{
"key" : "4411",
"problem" :
{
"metamodel" :
{
"calcChainPattern" : "",
"visualControllerPattern" :
{
"variableRubricatorKey" : "true",
"chainWorkbookKey" : "true",
"freeVariables" : "true"
}
}
}
}
},
"execParams" :
{
"name" : "Переменная моделирования 3 (переименованная)",
"slice" :
{
"k" : "0",
"id" : "360",
"n" : "Переменная моделирования 3",
"vis" : "true",
"variableKey" : "4590",
"stubKey" : "4413",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "4426"
},
"variant" : "360"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0" }, "level" : "None" }, "execRenameVariable" : "true" } } } } } }
{
"GetMsResult" :
{
"id" :
{
"id" : "S84!M!S!C1"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"i" : "MODELSPACE",
"n" : "Контейнер моделирования",
"k" : "1581",
"c" : "5121",
"p" : "1580",
"h" : "0"
}
},
"dirty" : "0",
"item" :
{
"k" : "4411",
"id" : "MODEL_DEL",
"n" : "model_del",
"vis" : "1",
"type" : "Problem",
"problemMd" :
{
"metamodel" :
{
"k" : "4412",
"visualController" :
{
"variableRubricatorKey" : "4413",
"chainWorkbookKey" : "4445",
"freeVariables" :
{
"its" :
{
"Item" :
{
"k" : "0",
"id" : "360",
"n" : "Переменная моделирования 3 (переименованная)",
"vis" : "1",
"variableKey" : "4590",
"stubKey" : "4413",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "4426"
},
"variant" : "360"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"level" : "None"
}
} } } } } } }
public static MsItem GetMsRenameVar(MsId ms, ulong modelKey, MsFormulaTransformSlice varSlice)
{
var getMsOp = new GetMs();
getMsOp.tMs = ms;
getMsOp.tArg = new GetMsArg()
{ // Задаем шаблон изменения данных
pattern = new MsMdPattern()
{
item = new MsItemPattern()
{
key = modelKey,
problem = new MsProblemPattern()
{
metamodel = new MsMetaModelPattern()
{
calcChainPattern = new MsCalculationChainPattern()
{
},
visualControllerPattern = new MsMetaModelVisualControllerPattern()
{
variableRubricatorKey = true,
chainWorkbookKey = true,
freeVariables = true
}
}
}
}
},
execParams = new MsMdExecParams()
{
name = varSlice.n + " (переименованная)";,
slice = varSlice,
execRenameVariable = true
}
}; // Создаем прокси-объект для выполнения операции
var somClient = new SomPortTypeClient();
// Задаем параметры выполнения операции
var result = somClient.GetMs(getMsOp);
return result.meta.item;
}
См. также: