Web Resources dinámicos: Pasar y recibir parámetros

Los Web Resources son elementos que se sitúan en los formularios y que dan libertad al desarrollador de introducir páginas webs externas dentro del contexto de un formulario de CRM. Son muy útiles puesto que a menudo el alcance de un formulario de CRM se queda corto para implementar soluciones específicas que cumplan los requerimientos del cliente.

Con el Web Resource podemos introducir lógica propia a un formulario, interactuar con el formulario o con el resto del CRM mediante código Javascript. Una de las cosas buenas que tiene CRM es que podemos crear un HTML flexible, subirlo como un Web Resource y utilizarlo en distintos formularios de entidades. Además como veremos a continuación podemos incluir parámetros de entrada en cada uno de los Web Resources que insertemos para personalizar el contenido.

Lo primero que tenemos que hacer es preparar el HTML que formará el Web Resource. Recordad que a CRM se pueden subir Web Resources con los siguientes formatos:

Tipos de Web Resources permitidos CRM

Para el ejemplo crearemos una web en HTML con algunas funciones Javascript. En particular la idea para empezar es crear una web que en función del parámetro que se le pase cambie el color del fondo del HTML.

En el ejemplo tenemos dos funciones: la primera cambiarColorFondo(color) establece el color de fondo de la página que se le pase por parámetro (con formato #AABBCC).

La segunda, parametrosGet() obtendrá la lista de parámetros que se pasen al Web Resource y los recorrerá uno a uno comprobando el nombre y el valor. Cuando el nombre sea igual a color se ejecutará el cambio de color de fondo con el valor pasado por parámetro.

Al final del código Javascript ejecutamos la función parametrosGet() para comenzar el proceso en el OnLoad de la página.

Una vez escrito el código lo subimos a la solución como Web Resource de tipo Webpage (HTML) y publicamos.

Una vez hecho esto ya podemos insertar nuestra web dinámica en cualquier formulario de CRM. Para ello editamos el formulario de cualquier entidad y accedemos a Insertar -> Web resource. La configuración de nuestro Web Resource deberá parecerse a la de la imagen:

Propiedades Web Resource

En la casilla Web Resource debemos seleccionar nuestro HTML que deberemos haber subido previamente. Es importante seleccionar el Check “Pass record object-type code and unique identifier as parameters”. Con esto nos garantizamos que el parámetro se transfiere a nuestra web para poder capturarlo con la función parametrosGet().

Finalmente personalizamos los “Custom Parameters(data)” con el color que deseemos. Si se deseasen incluir más parámetros la estructura que debería seguir esta cadena sería param1=valor1&param2=valor2&param3=valor3

Si insertamos varios Web Resources en nuestro formulario personalizando cada uno con un color distinto obtendríamos lo siguiente:

Web Resources dinámicos en un mismo formulario

Aunque el cliente nunca nos pedirá una web con distintos colores de fondo, este ejemplo nos muestra cómo reutilizar un mismo Web Resource para distintos entornos o formularios. Las posibilidades son infinitas y aún se multiplican más cuando el parámetro que se envía es el ID del registro de CRM. Este ejemplo lo explicaremos en otra entrada del blog.