Recuerde las siguientes sugerencias al depurar cálculos y secuencias de comandos.
Datos de ejemplo
No se olvide de especificar un archivo de datos de vista previa en el cuadro de diálogo Propiedades del formulario. Al especificar un archivo de datos de vista previa, los datos no se guardan en el PDF final.
Páginas de formato
Para depurar páginas de formato, coloque un objeto diferente en cada página de formato para descubrir cuál se especifica.
La primera página de un formulario
Designer se centra en el subformulario raíz para determinar en qué página comienza el formulario. Si el subformulario raíz no determina la primera página, se usará la primera página de formato de forma predeterminada.
Depuración incremental
Al depurar un diseño de formulario, comience por quitar las partes del formulario hasta que no pueda reproducir el problema. Intente aislar el origen del problema tras haber revisado todas las propiedades del objeto y de la secuencia de comandos. Para depurar subformularios, puede especificar un borde grueso de color alrededor del subformulario o usar un relleno. Los colores o rellenos pueden ayudar a identificar los subformularios que se están usando así como su expansión. Normalmente, esta técnica es útil cuando desea establecer los límites de un objeto y puede mostrar las razones por las que se colocó en una ubicación determinada.
Vista Jerarquía
La vista Jerarquía le permite entender mejor el diseño de su formulario. El orden de los objetos enumerados en la jerarquía se corresponde con el orden que ocuparán en la página. No se puede hacer clic en algunos objetos si aparecen uno debajo de otro.
Mensajes de error de secuencia de comandos
En Designer, los mensajes de error de secuencias de comandos aparecen en la ficha Registro de la paleta Informe cuando se previsualiza el formulario. Si el diseño de formulario contiene secuencias de comandos FormCalc y se produce un error en el servidor, las advertencias aparecen en la ficha Registro. Si se produce un error de secuencias de comandos FormCalc en el cliente, el mensaje aparece en Adobe Reader o Acrobat.
Un error en la secuencia de comandos FromCalc impide que se ejecute la secuencia de comandos completa.
Un error en la secuencia de comandos JavaScript se ejecuta hasta que se detecte el error.
Errores de sintaxis en FormCalc
Los errores de sintaxis en FormCalc son a veces difíciles de resolver. Cuando aparece “Error de sintaxis cercano al token '%1' en la línea %2, columna %3”, %1 normalmente contiene el token (palabra) más cercano al error. Por lo tanto, es probable que el token sea correcto y que el error solamente esté relacionado con el error por su proximidad a él. Por ejemplo, en la siguiente secuencia de comandos se genera el error 7008: "Error de sintaxis cercano al token 'then' en la línea x, columna y".
var b = abc(1)
if (b ne 1) then
//comment
El problema es que falta un token endif en la secuencia de comandos. El último token correcto es then (los comentarios no se consideran tokens). El problema se resuelve si se añade una instrucción endif al final de la secuencia de comandos.
Funciones definidas en un objeto de secuencia de comandos
Únicamente puede llamar a una función definida en un objeto de secuencia de comandos con una secuencia de comandos JavaScript. Asegúrese de que cambia el lenguaje de secuencia de comandos a JavaScript en el Editor de secuencias de comandos. Si no lo hace, es posible que se muestre un mensaje que indique que Designer no puede resolver el objeto de secuencia de comandos. Se puede producir el mismo error si hay problemas de sintaxis en el objeto de secuencia de comandos.
Llamadas de servicio Web
Cuando cree llamadas de servicio Web, utilice el suceso postExecute para comprobar lo que se devolvió y si el servicio Web generó algún mensaje de error.
Expresiones SOM largas
Cuando escriba expresiones SOM largas y de varias capas, pulse la tecla Ctrl y haga clic en el objeto del lienzo. El comando inserta la expresión SOM del objeto en la secuencia de comandos. La expresión SOM está relacionada con el objeto que aloja la secuencia de comandos. Para insertar la SOM absoluta, pulse Ctrl+Mayús y haga clic en el objeto. Estos comandos funcionan al hacer clic en los objetos en la vista Diseño, no en la vista Jerarquía.
Probar las expresiones SOM
Si se produce un error en una expresión SOM larga, vuelva a empezar en la raíz de la expresión y pruebe cada punto con className hasta que llegue al problema. Por ejemplo, pruebe a.b.c.d empezando en la raíz:
console.println(a.className)
console.println(a.b.className)
console.println(a.b.c.className)
console.println(a.b.c.d.className)
Utilice objetos de secuencia de comandos para depurar diseños de formulario.
Utilice un objeto de secuencia de comandos, como un fragmento, para ayudarle a depurar diseños de formulario.
Extraiga una jerarquía de nodos bajo un nodo.
Incluya el valor de una propiedad o un atributo de un nodo.
Incluya si el nodo tiene una propiedad o un atributo especificado.
Incluya la expresión SOM de un nodo.
Extraiga el xml src de un nodo concreto.
A continuación se ofrece un ejemplo de un objeto de secuencia de comandos que contiene varias funciones de depuración:
<script contentType="application/x-javascript" name="XFADEBUG">
//This script object provides several tracing functions to help debug a form design
//Dump out node hierarchy to console.println()
function printNode(node) {... }
//Dump out SOM expression to console.println() function printSOM(node) {... }
//Dump out property or attribute value function printValue(node, attrOrPropertyName) {...}
function printXMLSource(node) { ....}
function printHasPropertySpecified(node, prop) {...}\\
</script>
Lo que hay que evitar cuando se crean formularios
Llamar a xfa.layout.relayout(). en el suceso docReady causa problemas porque el suceso docReady se desencadena cada vez que la presentación está lista.
La colocación de un contenedor de posición variable en un contenedor de posición fija produce errores relacionados con los saltos de página, objetos superpuestos y formularios de repetición. El subformulario raíz es un contenedor de posición variable. Utilice y coloque sus contenedores de posición variable en el subformulario raíz desajustando los subformularios de página tras haber completado su presentación. Como alternativa, defina la dirección de los subformularios de página como De posición variable.
Error de página en blanco (Acrobat 7.1 o anterior). En el momento de diseño, se mostrará una página en blanco cuando el subformulario no se ajuste dentro de los límites del área de contenido. Para solucionar este problema, puede cambiar el tamaño del subformulario o permitir que se creen saltos entre las páginas. Si el usuario está utilizando Acrobat 7.1 o anterior, el subformulario de segundo nivel aparece en una página diferente.