miércoles, 1 de junio de 2011

¿Cómo convertir un campo de texto a hipervínculo?

Hace unos días me hicieron la siguiente consulta ¿Es posible poder formatear como hipervínculo un campo y que este llame a una ruta compartida dentro de la LAN del cliente?

Pues anticipadamente iba a dar como respuesta si claro, pero decidí hacer unas pruebas antes de respaldar lo que ya había dado a entender en lenguaje corporal como un sí.

Microsoft Dynamics CRM permite aplicar el formato “Dirección URL” al tipo de dato “nvarchar”.

image

El aplicar este formato habilita poder guardar cualquier URL que contenga cualquiera de estos 4 protocolos (HTTP, HTTPS, FTP, FTPS). Ojo solo estos 4 protocolos son permitidos.

image

La pregunta del millón es la siguiente: ¿Que sucede si se planea agregar una ruta compartida con el siguiente formato “ \\crmdemo\data ”?

Después de ingresar el texto Microsoft Dynamics CRM automáticamente agregará el protocolo http si es que no encuentra alguno de los 4 protocolos descritos anteriormente (http, https, ftp, ftps), tal como se muestra en el siguiente gráfico.

image

Esto me daba a entender de que la solución que pensábamos funcionaría en realidad para este escenario no aplica, por lo que tenía que encontrar otra alternativa de solución.

¿Por qué no utilizar JavaScript? (se me vino a la mente), investigando un poco pude encontrar este post que ayudo mucho con la solución final que se dio para cumplir con este requerimiento.

En resumen, se creó un campo del tipo de dato “nvarchar” con el formato por defecto “Texto”, y agregue el siguiente código javascript en el evento OnChange del campo y Onload de la entidad:

if (crmForm.all.new_demo.DataValue != null) {

var campo= document.getElementById("new_demo");

campo.style.textDecoration = "underline";

campo.style.color = "blue";

campo.ondblclick = function() { window.open(crmForm.all.new_demo.DataValue); };

}

Publicamos la entidad, creamos un registro y probamos y funciona adecuadamente.

Espero este ejercicio les sirva de mucho.

Saludos,

Jimmy Larrauri

No hay comentarios:

Publicar un comentario