23/6/10

Actividades repetitivas

En este mini-tutorial voy a contar una forma sencilla de cubrir un requerimiento habitual y que mucha gente se extraña de no encontrar en Dynamics CRM: las actividades repetitivas.
Es una aproximación muy básica, que no contempla ni mucho menos todas las funcionalidades que tiene, pongamos por caso, las citas recurrentes de Outlook. Vamos allá, ¿no?
1. Creamos un campo picklist con el tipo de repetición que queremos. Aquí he escogido Diaria, Semanal y Mensual.
2. Lo añadimos al formulario de la actividad que queramos hacer repetitiva. Yo he escogido Tarea:
image
3. Creamos un Workflow que se lance al cerrar la actividad y que compruebe si el estado es Completado o Cancelado.
image
4. Dentro del Workflow, creamos una nueva tarea copiando todos los campos y desplazando un día en el futuro la fecha de vencimiento:
image
¡Imperfecto, pero puede salvar la papeleta en algún caso!

18/6/10

Nuevo diseño

Que diréis, pues vaya post, ¿no? Pues es verdad, este post es sólo para dar las gracias a ese-equipo-de-profesionales-que-hace-posible-este-esporádico-blog:

  • El programa de edición de imágenes que Windows debería haber tenido siempre: Paint.NET Fantástico, me voy a hacer fan ahora mismo.
  • Autostitch para fabricar la foto panorámica. De Barcelona, desde el monte del Guinardó, por cierto. Tres fotos bastante malas hechas con mi móvil, pegadas y retocadas a lo loco (sin metodología) con Paint.NET.
  • Picasa para recortar y hacer algún que otro cambio
  • Blogger con el nuevo diseñador de plantillas, bastante chulo.

7/6/10

Cómo crear un campo incremental con Workflow

Se trata de lo siguiente: crear un campo en una entidad (Cuenta) que lleve un contador de subcuentas que dependen de ella. O sea, un contador que lleve la cuenta de subcuentas de cuentas (!). En realidad, otra excusa para mostrar el poder de los a menudo poco considerados Workflows de Microsoft Dynamics CRM. Por cierto: gracias a Albertinson por hacer esta pregunta en el foro que ha sido mi inspiración.


Y aquí va la receta de la abuela:


Uno: crear un campo numérico xyz_numerosubcuentas para contener el valor. Se puede poner "read-only" si queréis




Dos: crear un workflow que se dispare "al crear" una nueva cuenta.


Tres: dentro del workflow, comprobar si el campo parentaccountid o sea Cuenta primaria tiene algún valor



Cuatro: aumentar el valor en uno. Sí, se puede hacer, aunque reconozco que lo he usado pocas veces.



Y es que a pesar de ser desarrollador (developer, developer, developer) intento evitar tener que escribir código siempre que puedo. Este mismo problema se puede resolver de otras maneras que sí implican código y que son más completas.


Al final, el workflow queda así:



Y ahora, los inevitables disclaimers


- Esta solución sólo funciona con las nuevas cuentas, no con las creadas previamente
- Como cualquier wf, es asíncrona, así que no esperéis ver el resultado inmediatamente en el formulario
- No considera las bajas, de modo que sólo puede aumentar el número de subcuentas



¡Salud!