No puedo ver tu imagen, pero creo que entiendo lo que quieres hacer.
El primer usuario debe ser asignado normalmente al caso y el segundo usuario debe ser asignado ad hoc al caso. Este segundo usuario debe tener Process Permissions para ver los formularios y documentos en la tarea y debe tener un rol que incluye PM_REASSIGNCASE para asignar a sí mismo al caso. También puede tener PM_ALLCASES y/o PM_PROCESSMANAGER en su rol para encontrar los casos más facilmente. Si es un Process Manager asignado al proceso, puede encontrar los casos en HOME > Reassign.
Si necesitas mandar un email cuando sobrepasa el Due Date de la tarea, puedes crear un bucle en paralelo que ejecuta un Script Task periodicamente como este proceso:
AfterDueDate_ProcessMap.png (23.31 KiB) Viewed 7895 times
El exclusive gateway del bucle tiene un estas condiciones:
AfterDueDateRoutingRules.png (24.07 KiB) Viewed 7895 times
El script task tiene este trigger:
Code: Select all//set to the unique ID of the "task to complete in a fixed time"
$taskId = '389925159599650c4cbf311009267781';
//set to the same email as found in Admin > Email Settings
$emailFrom = 'amosbatto@gmail.com';
if (!isset(@@completed) or @@completed != 'yes') {
$caseId = @@APPLICATION;
$sql = "SELECT * FROM APP_DELEGATION WHERE APP_UID='$caseId' AND TAS_UID='$taskId' ORDER BY DEL_DELEGATE_DATE";
$result = executeQuery($sql);
if (!is_array($result) or count($result) == 0) {
throw new Exception("Unable to find task with query: $sql");
}
$dueDate = $result[1]['DEL_TASK_DUE_DATE'];
$now = date('Y-m-d H:i:s');
$emailTo = 'somebody@gmail.com';
if ($now >= $dueDate) {
PMFSendMessage(@@APPLICATION, $emailFrom, $emailTo, '', '', 'Task overdue', 'overdueTask.html', array());
}
}
La tarea para ejecutar en un tiempo fijo tiene otro trigger que es ejecutado antes de la asignación (before assignment):
También hay que setear el Intermediate Timer Event para ejecutar cada hora.
No he probado este proceso pero lo adjunto para que puedes depurarlo.
(72.4 KiB) Downloaded 355 times