Workflow for Dummies Wizard

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en WorkFlow

No hace mucho he descubierto una genial herramienta que nos simplifica la generación de nuevas plantillas para flujos de trabajo, Workflow for Dummies

Si habéis creado alguna vez, un nuevo Workflow dentro de Dynamics Ax, sabreis que tiene un gran trabajo debido a la gran cantidad de objetos AOT que uno tiene que crear y vincular, pero gracias a Amer, podemos simplificar todo esto en 3 simples pasos.

Podéis encontrar más información en el link del autor http://blog.amer-ax.com/?p=475

Fuente: Ammer Blog

WorkFlow error: No se encuentra el grupo de usuarios

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en WorkFlow

En instalaciones con idioma Español, cuando configuramos los Workflows como “Asignar a:” basado en Roles y escogemos Originador del flujo de trabajo.

Nos encontramos que este nunca es asignado a ningún usuario y en tiempo de ejecución nos encontramos con el siguiente error:

No se encuentra el grupo de usuarios

Esto es debido a un error en la clase SysWorkflowProviderService método resolveParticipant.

El problema lo encontramos en la línea del IF

if (strcmp(enum2str(WorkflowActorType::Originator), _participant) == 0)

Esto es debido a que el parámetro _participant tiene una longitud de 20 caracteres y el texto que pasamos es mayor a 20, produciendo que siempre se devuelva FALSE en la función

_participant = Originador del flujo de trabajo

La manera de resolver el siguiente error es cambiando el tamaño del Extended WorkFlowParticipantToken a 40 caracteres.

HTTP status 405 Validar Workflow

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en WorkFlow

En ciertas instalaciones, cuando intentamos validar la URL de Workflows, se nos produce el siguiente error:

"The request failed with HTTP status 405: Method Not Allowed"

Exactamente este error se nos produce  cuando tenemos la siguiente configuración en nuestro servidor:

– Windows 2008 R2 64 bits

– SQL Server 2008

– IIS 7

Para resolver este error, simplemente le indicaremos a nuestro application Pool que admita 32 bits, para ello tendremos que hacer los siguientes pasos:

- IIS -> Application Pool de WorkFlows -> botón derecho en propiedades avanzadas -> Cambiar 32 bits a Verdadero (TRUE)

Una vez realizado estos cambios, reiniciamos IIS para ello utilizaremos la setencia (iisreset) y ya podremos validar correctamente la URL desde Dynamics Ax (Axapta)

Depurar WorkFlow

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en WorkFlow

Para depurar código X++ en los WorkFlow de Dynamics Ax 2009, primero de todo debemos habilitarlo para el entorno de desarrollo. Ya que la ejecución de código X++ en los WorkFlows se realiza usando la clase RunAsPermission y la depuración de código no está permitida en la sessión de usuario RunAsPermission, por este motivo debemos desactivar esta carácteristica para poder depurarlos.

Pasos para configurar la depuración de WorkFlows

1. Abrimos el AOT de la aplicación, expandimos el nodo Macros, buscamos la macro WorkFlow, y la editamos.

2. El el editor de código, bajamos hasta la parte final de todo, y buscamos la siguiente línea #define.WorkflowRunAsDebug(false) y la modificamos por la siguiente #define.WorkflowRunAsDebug(true). Esto desabilita  las opciones de la clase RunAsPermission y la ejecución del código X++ de los Workflows, se ejecutará en la sesión de usuario. Debemos modificar la cuenta de ejecución de WorkFlows, por la de un usuario que tenga permisos de administrador.

3. Guardamos los cambios, y cerramos el editor de código.

4. En el AOT, expandimos el nodo de Classes, y seleccionamos la clase SysWorkFlowHelper y la editamos.

5. Compilamos la clase, y ya tenemos activada la depuración de workFlows

 

NoteNota

Después de depurar los WorkFlows, recuerde en volver a desactivar el modo de depuración, y volver a compilar la clase SysWorkflowHelper