Ниже приведен пример использования операции ForeExec для выполнения метода, реализованного в Fore модуле/сборке. В запросе передается наименование выполняемого метода и моникёр объекта среды разработки, содержащего его реализацию. В ответе приходит результат выполнения метода.
{
"ForeExec" :
{
"tFore" :
{
"id" : "OFOMADGBDDDFGOAEMBGBIAEKAJPBNMNEJKDFELDOIMPMLNDA!M!7360"
},
"tArg" :
{
"methodName" : "Sum",
"args" :
{
"it" :
[
{
"k" : "1",
"value" : "100"
},
{
"k" : "2",
"value" : "200"
}
]
}
}
}
}
{
"ForeExecResult" :
{
"result" : "300"
}
}
public static ForeExecResult ExecMethod(MbId mb, string assmId, string methodName, OdArg[] methodArgs)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tExec = new ForeExec()
{
tArg = new ForeExecArg()
{
methodName = methodName,
args = methodArgs
},
//Моникёр объекта среды разработки с реализацией метода
tFore = new ForeId()
{
id = mb.id + "!" + FindObjectById(mb, assmId).k
}
};
//Выполнение метода
var result = somClient.ForeExec(tExec);
return result;
}
См. также: