Un foro de discusión para nuestra comunidad de hispano hablante
#798858
Buen dia a todos,

Soy un novato en el uso de la herramienta y quisiera su ayuda con el proceso que estoy diseñando.

la idea es llenar algunos campos en un Dynaform y luego enviar por correo un link a un empleado para que complete dicho Dynaform, el que posteriormente sera aprobado o rechazado por el usuario remitente del Dynaform.

Estoy utilizando el siguiente Trigger para la segunda tarea del proceso, que es la del envio del Dynaform.
Code: Select all
if (isset(@@destinatario) and !empty(@@destinatario)) {
 $aUserTo = correo(@@correo);
 $aUserFrom = userInfo(@@USER_LOGGED);
 PMFSendMessage(@@APPLICATION, $aUserFrom['alertasadmin@seatlan.com'], $aUserTo[@@correo], '', '', 'actionsByEmailEJEMPLO', 'actionsByEmailEJEMPLO.html');
}
en el Dynaform Inicial la variable @@correo proviene de una consulta SQL a una tabla de PM,
adjunto el proceso y agradezco sus observaciones.
Attachments
(114.25 KiB) Downloaded 309 times
FIG1.PNG
FIG1.PNG (16.9 KiB) Viewed 8911 times
Last edited by Ironbot on Tue Jan 30, 2018 1:44 pm, edited 1 time in total.
User avatar
By amosbatto
#812366
¿correo() es una función en: ?
$aUserTo = correo(@@correo);
Si no es un función, vas a tener un error allí.

Este línea va a causar problemas con la mayoria de los servidores de email:
$aUserFrom = userInfo(@@USER_LOGGED);
Tienes que usar la dirección de email como en la configuración de Admin > Email Settings para evitar problemas con la mayoria de servidores de email.

Tu código debe ser algo como:
Code: Select all
//si @@destinario es la ID de un usuario:
if (isset(@@destinatario) and !empty(@@destinatario)) {
   $aUserTo = userInfo(@@destinatario);
   
   //debe ser el email configurado en Admin > Email Settings
   $userFrom = 'myadmin@example.com';
      
   PMFSendMessage(@@APPLICATION, $userFrom, $aUserTo['mail'], '', '',   
       'mi asunto', 'actionsByEmailEJEMPLO.html');
}
Debes tener una un Template con el nombre de "actionsByEmailEJEMPLO.html" en tu proceso.
Ver: http://wiki.processmaker.com/3.1/Proces ... sage.28.29
User avatar
By amosbatto
#812374
Acabo de descargar tu proceso y examinar. En tu plantilla tienes la variable de @#__ABE__, que una variable de Action by Email, pero no has configurado las propiedades de una tarea para usar Action by Email. Solo puedes usar Action by Email si tienes el Enterprise Edition.

Si tienes el Community Edition, tienes que programarlo con REST or web services. Aca es un ejemplo:
viewtopic.php?f=41&t=710494&p=790917&hi ... il#p791514
User avatar
By amosbatto
#812379
Si estas usando el Enterprise Edition, debes usar las propriedades de la tarea para mandar el email. Con un trigger no va a funcionar correctamente porque no define la variable @#__ABE__ en la plantilla. Ver el ejemplo en la documentación de Action By Email.
User avatar
By Ironbot
#812924
amosbatto wrote:Si estas usando el Enterprise Edition, debes usar las propriedades de la tarea para mandar el email. Con un trigger no va a funcionar correctamente porque no define la variable @#__ABE__ en la plantilla. Ver el ejemplo en la documentación de Action By Email.
Buen dia Amos, he probado nuevamente utilizando Actions By email en lugar del trigger, y he logrado realizar la tarea, sin embargo el objetivo de mi proceso es poder enviar el formulario a un usuario externo a processmaker, y lo que obtengo es que el formulario se envia a mi correo que es el usuario siguiente en la task2,segun entiendo en actions by email si la variable correo se deja vacia lo envia al correo del siguiente usuario y por eso me lo envia a mi correo.


podrias ayudarme con un codigo para obtener el correo de los usuarios de una tabla PM y posteriormente utilizarlo en actions by email en la variable @@correo? en mi proceso tengo una tabla PM con dos columnas: EMPLEADO y CORREO

este es el trigger que estoy usando en el task1, que es el que esta anterior al task2 donde se configuro el actions by email.
Code: Select all
$dest = @@destinatario;
$sql = "SELECT * FROM PMT_CORREOSPRUEBA WHERE EMPLEADO ='$dest' ";
$result = executeQuery($sql);
$to = $result[1]['CORREO'];

PMFSendMessage(@@APPLICATION, "alertasadmin@empresa.com", "$to", '', '', "@@nombreobservacion", "enviopac.html");
Agradezco mucho tus aportes
Want to create your own meme coin?

In the world of cryptocurrencies, a unique and exc[…]

The market for cryptocurrencies is demonstrating a[…]

What's SAP FICO?

Embarking on a dissertation can be one of the most[…]

Hello. For rental housing, there are software solu[…]