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