MoveBpmElementResult MoveBpmElement(BpmProcessId tBpmProcess, MoveBpmElementArg tArg)
tBpmProcess. Моникёр открытого процесса.
tArg. Параметры перемещения элемента в дереве процесса.
Операция MoveBpmElement перемещает элемент в структуре процесса.
Для выполнения операции укажите в поле tBpmProcess моникёр открытого процесса, в поле tArg.elGuids GUID перемещаемого элемента, а в поле tArg.dest место куда осуществляется перемещение. Моникёр может быть получен при выполнении операции OpenBpmProcess.
Результатом выполнения операции будет обновлённая структура процесса, если было определено поле tBpmProcess.needTree.
Ниже приведён пример перемещения шага в рамках этапа процесса. В запросе передаётся моникёр открытого процесса, GUID шага и индекс позиции, куда перемещается шаг. В ответе возвращается обновлённая структура процесса.
{
"MoveBpmElement" :
{
"tBpmProcess" :
{
"id" : "COAOPGKGCJKEGOAEIHPPEJNABOOGNDGENKOKNINMLFLJFBMK!M!S!BPHLNJFALGCJKEGOAEJPJLLKGPHKELIFIECLCHAGEBCDNFMELP"
},
"tArg" :
{
"elType" : "Step",
"elGuids" :
{
"it" : "{F6158579-0B43-4DEC-9C8B-7AE2E70F15AA}"
},
"needTree" : "true",
"dest" :
{
"guid" : "{433124F8-1861-4CA6-BFDE-B94C54F91652}",
"index" : "1"
}
}
}
}
{
"MoveBpmElementResult" :
{
"res" : "1",
"procTree" :
{
"name" : "Процесс",
"stages" :
{
"it" :
[
{
"stage" :
{
"name" : "Этап 1",
"index" : "0",
"guid" : "{0E3D2664-1DB4-42B9-A43F-B63CA721B186}"
},
"gtwType" : "No_gateway",
"isCondActive" : "0",
"stGroups" :
{
"it" :
{
"stGroup" :
{
"index" : "0",
"guid" : "{D5F25EB4-CD78-451E-8308-2AC031D2B2C1}"
},
"steps" : "",
"isDefaultFlow" : "0"
}
}
},
{
"stage" :
{
"name" : "Дополнительный этап",
"index" : "1",
"guid" : "{94C3E46B-1BBC-4FFF-9600-49C6B5D344D7}"
},
"gtwType" : "No_gateway",
"isCondActive" : "0",
"stGroups" :
{
"it" :
{
"stGroup" :
{
"index" : "0",
"guid" : "{433124F8-1861-4CA6-BFDE-B94C54F91652}"
},
"steps" :
{
"it" :
[
{
"isEnabled" : "1",
"isValid" : "0",
"name" : "Согласовать",
"type" : "Approval",
"index" : "0",
"guid" : "{CC5B8608-26E7-4B24-ADE9-E4ECD917AED7}",
"descr" : "",
"maxDur" :
{
"periodType" : "Day",
"amount" : "1"
},
"minDeadline" : "18:00",
"checkDeadline" : "0",
"data" :
{
"writeAccess" : "0",
"authObjKey" : "0"
}
},
{
"isEnabled" : "1",
"isValid" : "0",
"name" : "Выполнить метод",
"type" : "ForeMethod",
"index" : "1",
"guid" : "{F6158579-0B43-4DEC-9C8B-7AE2E70F15AA}",
"descr" : "",
"roleId" : "PS-1-1",
"roleName" : "ADMIN",
"maxDur" :
{
"periodType" : "Day",
"amount" : "1"
},
"minDeadline" : "18:00",
"checkDeadline" : "0",
"fore" : ""
}
]
},
"isDefaultFlow" : "0"
}
}
}
]
}
}
}
}
public static MoveBpmElementResult MoveBpmElement(string moniker, string elGUIDSource, string elGUIDDest, uint moveTo)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tMove = new MoveBpmElement()
{
// Формирование моникёра объекта
tBpmProcess = new BpmProcessId() { id = moniker },
tArg = new MoveBpmElementArg()
{
elGuids = new string[1] { elGUIDSource },
dest = new MoveBpmElementDestination() { guid = elGUIDDest, index = moveTo},
needTree = true,
elType = BpmElementType.Step
}
};
// Перемещение элемента процесса
var result = somClient.MoveBpmElement(tMove);
return result;
}
См. также: