Un foro de discusión para nuestra comunidad de hispano hablante

Moderator: amosbatto

#783643
Estimados,

Estamos teniendo un requerimiento bastante particular, y no logro resolverlo:
Todas nuestras tareas tienen regla de designanción en AUTO SERVICIO, así los usuarios pueden agarrar las tareas que ellos quieras.
El problema es que a veces, agarran una tarea y se dan cuenta que no es para ellos, por lo cual tenemos que volver a dejarla en AUTO SERVICIO. Para ello, creamos un botón en los dynaforms que setea una variable @@REPEAT.

La solución fácil sería agregar un condicional en cada tarea, para verificar la variable @@REPEAT y de ser necesario, ejecutar nuevamente la misma tarea. El problema viene en que queremos realizar este procedimiento vía TRIGGER, así no modificamos el Mapa del Proceso.

EN CONCRETO: Trigger que desarrollamos, pero que no vuelve a la misma tarea sino que avanza a la siguiente:
Code: Select all
if (@@REPEAT == 'Si') {
    $caseId = @@APPLICATION;
   $userLogged = @@USER_LOGGED;
   $index = @%INDEX;
   $query = "SELECT AD.DEL_INDEX, AD.DEL_PREVIOUS, U.USR_USERNAME FROM APP_DELEGATION AD, USERS U ".
   "WHERE AD.APP_UID = '{$caseId}' AND AD.DEL_THREAD_STATUS='OPEN' AND " .
   "AD.USR_UID = U.USR_UID AND AD.DEL_INDEX = {$index}";
   $threads = executeQuery($query);
   
   if (is_array($threads) and count($threads) > 0) {  
      foreach ($threads as $thread) {
         $sql = "SELECT USR_PASSWORD FROM USERS WHERE USR_USERNAME = '{$thread['USR_USERNAME']}'";   
         $task_user = executeQuery($sql,'rbac');                   
         if (is_array($task_user) and count($task_user) > 0) {
             $pass = 'md5:' . $task_user[1]['USR_PASSWORD'];           
             
             PMFDerivateCase($caseId, $thread['DEL_INDEX']);
            die();
         }
      }   
   }
}
Hay alguna forma de utilizar la función PMFDerivateCase para que vuelva a la misma tarea que se está ejecutando, y no a la siguiente? Probé utilizar DEL_PREVIOUS en vez de DEL_INDEX, pero directamente no hace nada.

También probé con los servicios SOAP, pero al hacer un new SoapClient, el trigger deja de ejecutarse.


Gracias

Thanks!

Hi, This user API https://wiki.processmaker.com/[…]

display pdf in panel control

Is there any solution?