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

Moderator: amosbatto

#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['[email protected]'], $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 81 times
FIG1.PNG
FIG1.PNG (16.9 KiB) Viewed 3197 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 = '[email protected]';
      
   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, "[email protected]", "$to", '', '', "@@nombreobservacion", "enviopac.html");
Agradezco mucho tus aportes
#815943
ksbarrientosn wrote:You can help me with the code you used to send emails to someone outside of PM. Please...?. Beforehand thank you very much.
If you don't want to write code, you can use an intermediate email event. If you want to use PHP code in a trigger, you can use PMFSendMessage().
See: https://wiki.processmaker.com/3.1/Notifications
Task doesnt have any users.

I have created a small process. Users are assigned[…]

NEW MOBILE APP ISSUE

Just trying to setup to use the mobile App with my[…]

It's really a great idea. I have followed the seco[…]

yes i use php thanks for the information