7/4/09

Formularios de actividades direccionables

Una de las funcionalidades más útiles de CRM para los desarrolladores es la posibilidad de lanzar formularios y vistas desde aplicaciones externas. Lo que en la SDK se describe como URL-Addressable Forms and Views (que por cierto, no sé muy bien como traducir, porque Formularios y vistas direccionables por URL suena raro) es lo que nos permite lanzar un Internet Explorer con la dirección:


http://crm:5555/Org/CS/cases/edit.aspx?id={guid}

Por ejemplo, para editar un caso para el que conocemos su id. Si lo que queremos es crear un nuevo caso, simplemente no ponemos el parámetro id y ya está:


http://crm:5555/Org/CS/cases/edit.aspx

Aún mejor, si queremos rellenar para el usuario algún campo en el formulario, la URL lo admite con la forma habitual campo=valor así que podemos escribir, por ejemplo:


http://crm:5555/Org/sfa/accts/edit.aspx?name=Spenta&telephone1=1234556

Para rellenar el nombre y el teléfono de una nueva cuenta. Hasta aquí todo perfecto.Bueno, pues en la SDK está documentado una serie de entidades (cuenta, contacto, caso etc.) pero no dice nada acerca de las actividades. En un proyecto en el que estoy trabajando que incluye integración con Silverlight, necesitaba lanzar una ventana para crear actividades y me di cuenta de su formato de URL no estaba en la lista. No hace falta ser un hacker para darse cuenta de que cuando lanzas una ventana de actividad, la URL tiene una forma ligeramente distinta. Además, para rellenar los campos de tipo partylist hay que hacer un pequeño truco adicional.


http://crm:5555/Org/activities/phone/edit.aspx
?pId={guid}&pType=2&pName=Nombre&partyid={guid}&partytype=2&partyname=Nombre


No es para tanto, es sólo que el parámetro pId para el destinatario no está documentado. Y que con los campos partyid y partyname se añaden destinatarios a los campos de tipo partylist.

1 comentario:

Javier dijo...

Tengo una pequeña duda sobre este tema.... Se coger los parametros de la url mendiante un informe, pero si creo una pagina aspx y la llamo desde el crm desde un caso por ejemplo no se como hacer para que me de el GUID del caso en cuestion. He visto algo por ahi de querystring pero no se uy bien como va.. Tienes algun ejemplo o me puedes dar alguna pista mas.

Muchas gracias y enhorabuena por tu blog.

Un saludo