Depurando JavaScript

Como bien sabéis en Microsoft CRM tenemos la capacidad de incluir código JScript en los  formularios para que se ejecute en función de varios eventos del propio formulario (OnLoad y OnSave) y de los campos del formulario (OnChange). En este y otros blogs sobre Microsoft CRM 3.0 podéis encontrar multitud de ejemplos.


Pero claro, como siempre que escribimos código, tarde o temprano vamos a necesitar depurarlo para encontrar esos malditos bichos que andan por ahí perdidos. Muchas veces con utilizar el depurador clásico nos vale ¿Sabéis a cual me refiero no? Sí, el alert(‘Llegué’), writeln(“Pasé por aquí”), println(“hola”)… o cualquiera de sus formas en los distintos lenguajes. Pero en otras ocasiones necesitamos más, un depurado más potente o, por lo menos, más cómodo. Personalmente, creo que con IDEs como Visual Studio o similares el depurador clásico pasa (o debería pasar) al baúl de los recuerdos.


Vale, y… ¿Cómo podemos utilizar el depurador de VisualStudio para depurar el código JavaScript del CRM? Pues la respuesta es bastante sencilla, incluyendo la sentencia debugger; al principio del código que queramos depurar, como en la página html de ejemplo:


<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>Prueba</title>
</head>
<body onload=”onLoad();”>
<script type=”text/javascript”>
function onLoad()
{
debugger;
var i = 20;
document.title = “Probado”
}

</script>
</body>
</html>

Ahora debemos tener en cuenta una cosa. Por defecto en Internet Explorer 6 y 7, la opción de depurar código de script está deshabilitada. Para habilitarla vamos al menú opciones de internet, pestaña opciones avanzadas y en la sección exploración desmarcamos los 2 checkbox  desabilitar depuración de secuencias de comandos.

Con esto, si abrimos la página (o un formulario del CRM) que contenga código JavaScript que ejecute la sentencia debugger, se nos mostrará un diálogo ofreciéndonos inicar la depuración. Si tenemos instalado Visual Studio nos dará la opción de utilizarlo como depurador para esa web, obteniendo toda la potencia del depurador de este IDE.


Bueno, espero que esto os resulte útil.

Un saludo

5 comentarios en “Depurando JavaScript”

  1. Hola Marco,disculpa que se un poco inoportuno. Quisiera que me des algun consejo. Ahorita toy utilizando el CRM 1.2, he hecho un codigo javascript en la cual se lo he puesto a un campo picklist (se llama tipo de relacion) lo que queiro que haga es que obtenga el indice del item seleccionado y dependiendo del indice quiero cambiar la obligatoriedad de otro campo (e-mail) no me esta funcionado pero cuando lo pruebo en el CRM 3.0 si funciona.No tendras alguna solucion para este problema

    Gracias

    Saludos

  2. Hola Marco,disculpa que se un poco inoportuno. Quisiera que me des algun consejo. Ahorita toy utilizando el CRM 1.2, he hecho un codigo javascript en la cual se lo he puesto a un campo picklist (se llama tipo de relacion) lo que queiro que haga es que obtenga el indice del item seleccionado y dependiendo del indice quiero cambiar la obligatoriedad de otro campo (e-mail) no me esta funcionado pero cuando lo pruebo en el CRM 3.0 si funciona.No tendras alguna solucion para este problema
    mail : jorgen_bontemps@hotmail.com
    Gracias

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *