GetBpmUserTasksResult GetBpmUserTasks(BpmProcessId tBpmProcess, GetBpmUserTasksArg arg)
tBpmProcess. Моникёр открытого процесса.
arg. Параметры выполнения операции.
Операция GetBpmUserTasks получения списка шагов, доступных пользователю.
Актуально при работе под пользователем, не являющимся администратором или ответственным за процесс. Операция позволяет получить шаги, к которым у пользователя имеется доступ. Шаги могут быть получены как в рамках всех запущенных экземпляров процесса, так и в рамках только отдельных экземпляров, запущенных с определёнными значениями параметров.
Для выполнения операции укажите в поле tBpmProcess моникёр открытого процесса. Моникёр может быть получен при выполнении операции OpenBpmProcess. В поле arg.mode определите режим отбора шагов. По умолчанию отбираются шаги, ожидающие выполнения пользователем. Для фильтрации экземпляров процесса определите в поле arg.filters значения параметров, с которыми был запущен процесс.
Результатом выполнения операции будет полученный список шагов, доступных пользователю.
Предполагается, что подключение к репозиторию осуществлено под пользователем, который не является администратором или куратором процесса.
Ниже приведён пример получения списка шагов, доступных пользователю в рамках экземпляра процесса, запущенного с определённым значением параметра. В запросе передаётся моникёр открытого процесса и моникёр отметки параметра, по которой будут фильтроваться экземпляры процесса. В ответе возвращается полученный список шагов.
{
"GetBpmUserTasks" :
{
"tBpmProcess" :
{
"id" : "EJPAONFCDNGFGOAEDHEINLNGGNKIPDEEIJIBGLHHBJLIOLEH!M!S!BPJCJGLOFCDNGFGOAEJHPPCPHOBNLEHIOELLOEGJHOBENCCKGL"
},
"arg" :
{
"mode" : "1",
"filters" :
{
"params" :
{
"it" :
{
"mnk" : "EJPAONFCDNGFGOAEDHEINLNGGNKIPDEEIJIBGLHHBJLIOLEH!M!S!SNPLAAPFCDNGFGOAEOOLPOKJJEAJBNDMEGKCGKOGPHCBGOGPD"
}
}
}
}
}
}
{
"GetBpmUserTasksResult" :
{
"list" :
{
"it" :
{
"inst" :
{
"key" : "1166",
"startDate" : "2025-04-03T03:03:43.000Z",
"comment" : "",
"prms" : "Отрасли производства = 'Электроэнергетика'",
"crtr" :
{
"sid" : "PS-1-1",
"name" : "ADMIN"
}
},
"usrTsks" :
{
"it" :
{
"name" : "Ручное действие",
"type" : "ManualTask",
"guid" : "{02EFEFEE-E18C-409C-AE74-81CA3B4839F4}",
"descr" : "",
"deadline" : "2025-04-04T08:03:44.000Z",
"autoExec" : "0",
"states" :
{
"it" : "2"
},
"usr" :
{
"sid" : "PS-1-60936",
"name" : "IVANOV"
}
}
}
}
}
}
}
public static GetBpmUserTasksResult GetBpmUserTasks(string moniker, string filterParamSelection)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new GetBpmUserTasks()
{
arg = new GetBpmUserTasksArg()
{
filters = new BpmUserTasksFilters()
{
@params = new BpmDimSelection[]
{
new BpmDimSelection()
{
mnk = filterParamSelection
}
}
},
mode = 1 // Все задачи, доступные пользователю
},
tBpmProcess = new BpmProcessId() { id = moniker }
};
// Получение экземпляров процесса, отфильтрованных по значению параметра, указанному при запуске
var result = somClient.GetBpmUserTasks(tGet);
return result;
}
См. также: