jueves, 28 de julio de 2011

Cuidado con las Listas de marketing dinámicas

Una de las nuevas funcionalidades de CRM 2011 es la posibilidad (por fin!) de poder crear Listas de marketing dinámicas.
De esta forma, las Cuentas pueden ir añadiéndose o quitándose de las listas de marketing, de forma automática, simplemente definiendo una serie de filtros en la misma.
Lo primero que se me ocurrió hacer con esto es hacer lo que hasta ahora CRM no nos permitía hacer: una consulta masiva de Cuentas "que no" cumplan alguna condición compleja por ejemplo Cuentas que tengan Oportunidades en un estado determinado, que no tengan alguna en los últimos 3 meses.
La forma que habia antes en CRM 4.0 para hacer esto es:
  1. Crear una Lista de marketing con todas las Cuentas con Oportunidades en un estado X
  2. Quitar de la misma, las que tengan una Oportunidad en los ultimos 3 meses.
Con lo de las Listas de marketing dinámicas, se me ocurrió dar solución a esto haciendo:
  1. Crear una Lista de marketing dinámica (Lista1) con las Cuentas con Oportunidades en los últimos 3 meses
  2. Crear otra Lista de marketing dinámica (Lista2) con las Cuentas con Oportunidades en estado X que no existan en la Lista1
Pues bien, esto que podría dar solución a algo que le falta al CRM, no funciona como sería ideal y tiene una explicación.
Cuando se crea una Lista de marketing dinámica, no se puede consultar por las Listas de marketing a la que pertenece una Cuenta. es mas, si consulta las listas de marketing de una Cuenta incluida en una Lista de marketing dinámica veo que no hay nada:


Así, que deberemos seguir haciendo lo mismo que en la versión 4.0. Yo por lo pronto creo que dejaré una recomendación para futuras versiones, para que esto cambie ;)

un saludo

lunes, 11 de julio de 2011

Plugin en la creación de citas no se dispara

A veces (muchas veces) nos vemos en la necesidad de crear nuestros propios "plugins" para extender la funcionalidad estándar de CRM, ante nuevos requerimientos de los usuarios.
Para esto, desarrollamos nuestras DLLs, compilamos y las subimos al CRM. No se si les ha tocado, pero en caso de crear un Plugin en el evento "Create" de la entidad "appointment" (Citas), no se dispara, es más, lo loco es que no hace nada, como si no exisitiese.

Despues de buscar un poco, resulta que justamente para este caso, para que se dispare el "Create" y ejecute nuestro plugin, debemos registrarlo como "Child pipeline" como se muestra en la siguiente imagen:


Registrando un plugin en el "Create" de Citas

Esto va relacionado porque al crear una Cita se llama al evento "Book", así que el funcionamiento en este caso es diferente.

Según la SDK, el orden de ejecución de los "Parent" y "Child" pipelines es el siguiente:
  • Pipeline A : all pre-events are processed.
  • Pipeline A : core platform operation, child pipeline B executed.
    • Pipeline B : all pre-events are processed.
    • Pipeline B : core platform operation.
    • Pipeline B : all post-events are processed.
  • Pipeline A : all post-events are processed.  

Para mas información acerca de "Child" y "Parent" Pipelines, ir a la SDK a este artículo:
http://msdn.microsoft.com/en-us/library/cc151083.aspx