Hace unos días me llegó un requerimiento por parte de un cliente. Necesitan validar los datos de un formulario en Dynamics 365CE (CRM) y prevenir que se guarde, en caso de que no pase la validación.
En la entidad de Oportunidad, el usuario llena el campo Fecha estimada de cierre, sin embargo, se requiere que esta no sea mayor a 30 días.
Seguramente hay varias formas de hacerlo, pero yo me apoye de un flujo de trabajo, y lo configure como flujo en tiempo real. Aquí los pasos que seguí:
- Crear un flujo de trabajo.
- El primer paso es crear un flujo de trabajo, asegurándonos de configurarlo como flujo en tiempo real. Para esto, basta con desmarcar la opción de «Ejecutar este flujo de trabajo en segundo plano (recomendado)»

2. Una vez en la pantalla del flujo de trabajo, marcamos la opción de ejecutar cuando se guarde el registro

3. A continuación vamos a crear la regla o condición a evaluar. Lo haremos seleccionando la opción de Condicion de comprobación en el menú de Agregar paso.

La condición a evaluar es que la Fecha estimada de cierre, sea menor a 30 días a partir de la fecha de creación, si es mayor, es decir, no se cumple, se debe evitar que se guarde el registro.
En este paso, comparamos el campo deseado, con la fecha de creación mas 30 días

4. Una vez creada la condición, cuando se cumpla, debemos detener el flujo y establecerlo en estatus cancelado. Esto hace que Dynamics asuma que falló algo, y evita que el registro se guarde. Para lograrlo, seleccionamos la fila debajo de la condición que acabamos de crear, y en el menú de Agregar paso, seleccionamos la opción de Detener Flujo de trabajo, y cambiamos la opción de «Detener flujo de trabajo con estado» a «Cancelado»

5. Este paso es opcional, sin embargo, me parece buena practica realizarlo, pues nos da la oportunidad de informar al usuario el error en la validación de los datos. Dando clic en el botón de «Establecer propiedades» podremos definir el mensaje para el usuario. Es importante mencionar, que podemos usar valores de la entidad, para mostrar un mensaje mas exacto al usuario

Una vez hecho los pasos anteriores, vamos a activar el flujo, y probar capturando una Oportunidad. Observen que la fecha de mi equipo es 17 de Mayo y la de cierre estimado 30 de Agosto

Una vez que se intenta guardar, al no pasar la validación, arroja el siguiente mensaje:

De esta forma, podemos usar flujos de trabajo en tiempo real, para hacer validación de datos e incluso prevenir que se guarden registros que no cumplan con las reglas de negocio.
Nos leemos en el siguiente artículo!!!




Replica a 10 consejos para mejorar el performance de tus desarrollos en Dynamics CE – Sergio Macías | Business Solution MVP Cancelar la respuesta