Error en Business Process Designer

Antecedentes

Recientemente me tocó trabajar con un compañero en una implementación de CRM Dynamics que fue migrada de 2016 a 365, en esa implementación se tenían varios BPFs, la migración fue exitosa en todos los ambientes (Productivo, Sandbox o No Productiva), los BPFs se ejecutaban sin problema.

Un buen día llega un requerimiento para hacer algunas adecuaciones a un Business Process existente y que fue migrado de la versión clásica a la del BPF Designer, el requerimiento necesitaba ser editado en una condición que hacia uso de un campo picklist con opciones tanto en la entidad Prospecto como otro campo de tipo opicklist también y otra condición en la entidad Oportunidad.

 

BPFOld

Al abrir el BPF migrado e intentar editarlo la validación del proceso era exitosa y sin problemas.

Error

ErrorBPF

El error se presenta cuando se pasa de una entidad a otra en un BPF, en nuestro escenario las entidades que estaban en juego eran: Prospecto y Oportunidad y el error se presentaba en la acción “Calificar”.

Importante: No quiero que nos centremos en la acción de “Calificar” ya que ese no es el motivo del error.

Detalle del error

ErrorBPF2

Troubleshooting

Después de varios intentos y de analizar cada parte del Proceso de Negocio se llego a las siguientes dos conclusiones:

  1. Nos dimos cuenta que en la entidad Prospecto y Oportunidad existía un campo en ambas entidades con el mismo nombre  new_processlist de tipo picklist
  2. Nos dimos cuenta que el diseñador del Proceso de Negocio (BPF) mal interpretaba y confundía las opciones de los dos picklists y cuando se seleccionaba un picklist por primera vez dentro del diseñador, el resto de picklists tomaba/mostraba las mismas opciones que el primero sin importar que eran diferentes campos, por lo tanto al guardar el BPF se almacenaba el XAML con valores equivocados, la validación no encontraba error alguno por lo que nunca obtuvimos un mensaje de error

Lo que sucedía en este caso es que por alguna razón al llamarse igual  dos campos en diferentes entidades el diseñador confundía las opciones y las copiaba al otro picklist que se llamaba igual en la entidad de Oportunidad, al momento de que el Proceso de Negocio se encontraba en ejecución y pasaba a la siguiente entidad y quería realizar la evaluación el picklist en la entidad Oportunidad tenía 5 opciones diferentes a las que el Proceso había reconocido en modo diseño y es cuando el error sucedía.

Solución

Se creo un campo nuevo que se llamara de forma diferente y se hizo una actualización a todos los registros historicos con el valor del campo anterior al nuevo.

 

Es un error muy especial, si crees que te esta pasando pero aún y con este articulo no te ha quedado claro, te invito a que me contactes por correo y te puedo apoyar a revisar el error.

Saludos CRMLovers!!!