javascript en editor de fórmulas


([N1] noe.gonzalez) #1

En el editor de fórmulas de un contenido de un control de formulario, he metido a pelo el script que incluyen en el manual online de V7, como ejemplo de la clase vSysInfo

http://velneo.es/info_v7_715_es/velneo_vdevelop_v7/scripts/clases/vsysinfo/

y el detector de errores me informa:

Error en script: SyntaxError: Parse error
<anonymus>()@var si = theApp.sysInfo() …

  • el resto del script.

Si bien tenía experiencia con Javascript en web, aquí me pierdo bastante.
¿Podría alguien decirme que es lo que hago mal?
Gracias


([N3] pacosatu) #2

Hola noe.gonzalez.

Nunca copies código directamente de la página web de Velneo. Está lleno de errores debido a fallos en la codificación de caracteres.

El editor de fórmulas JavaScript está limitado a devolver un valor. Solo tienes disponibles las clases vRegister y VApp del API. No tienes interface en el contexto del editor de fórmulas, por lo tanto no funciona alert().

En este caso tienes que usar un proceso JavaScript que editarás con el editor de JavaScript. Si pegas el código de ejemplo tendrás que colocar correctamente todas las comillas, comas, etc… del código.

Saludos
Paco Satué


([N1] noe.gonzalez) #3

Gracias, Paco.
Haré lo que me aconsejas
Aún tengo que estudiar mucho Javascript


([N1] aztecmexico) #4

Es cierto, no copiar código de la página, ni de los manuales oficiales de los CSS utilizados en vBase, etc, etc, etc.

Aunque en principio se ve que se copiaron bien, sin nada raro, nunca funcionan, te puedes volver loco buscando la causa y es lo que te indica Paco, lo mejor, reescribelo tal cual está en los manuales y ahí si que te funcionará.

Saludos.


([N1] noe.gonzalez) #5

Pude comprobar que lo que no soporta el intérprete de js de velneo son los caracteres expresados como entidades HTML p.e. <

Qué hice: Copié el código de la página de Velneo y lo pegué en un editor de código que soporta js. y me lo díó como correcto. De aquí lo copié a un script de Veleno y me lo rechazó. Luego en el editor externo le sustituí las entidades html por su correspondencia, decir en ese caso, " y <. Lo volví a pegar el texto en el script y ahora si me lo dió por bueno. No funcionó porque como me advirtió Paco Satué, no devolvía lo adecuado.
Le cambié todas las alert() por por tags de elementos de listas no ordenadas li y sumé todo lo que iba a ser texto; lo declaré todo como function() que devolvía una cadena con el texto html. Y ahora sí funcionó.
Adjunto el código por si alguien quiere aprovecharlo.
Gracias a todos


([N1] noe.gonzalez) #6

Soy incapaz de subir el fichero de texto plano. Lo siento.
al que lo desee se lo mando por correo-e