Referenciar campos y variables en HTML


([N1] Cuco) #1

No he podido encontrar la manera de referenciar campos y variables en HTML, como hacíamos en la 6x, p.e.:
//
<AVPR>
<TR>
<TD align=left height=5>
<A href=“NOTI-WEB-FECHA-WEB.bus#AVP%ID-CODIGO-W%” target=“basefrm” class=notic
title="#AVP%SUBTITULO%"> - #AVP%NOMBRE%
</TD>
</TR>

&lt;/AVPR&gt;

//

¿Ya no se puede hacer o yo soy tan inútil buscando en el foro como en el frigorífico?


([N2] gegeo) #2

No se si lo que incluyes es codigo del resultado o codigo de la formula dato de la instruccion del proceso.
En cualquier caso, en la instruccion de proceso, deberias tener algo similar a esto:

RETORNO +
“<tr>
<td>”+ #ID +"</td>
<td>"+ #NAME +"</td>
<td>"+ #FECHA +"</td>
<td>a href=\cURL\c title=\c"+ #CAMPO+"\c Texto del link /a</td>
"

NOTA: para que en el codigo de la web generado aparezcan las dobles comillas ("), en Velneo las debes escribir asi (\c)
A la instruccion del link a href, le falta la apertura y cierre para que lo veas bien aqui en el foro.

No tengo claro si esto es lo que preguntas, pues no hice nunca nada web en 6x


([N1] mariobarreiro) #3

Muy buenas!

Ya no existen los componentes html. Ahora tienes dos opciones:

a) Alimentar una variable local en el proceso con el contenido de html (incluyendo la parte dinámica)
b) Aprender un poco de php e integrarlo con vModApache. Se montaría la web en php y Velneo generaría solo el contenido dinámico (por ejemplo en formato JSON). Con file_get_contents recuperarías los datos dinámicos y con el parser de JSON los irías colocando en la web.

Un saludo,
Mario Barreiro


([N1] Cuco) #4

Gracias, Gegeo, lo que tu me indicas es lo que estoy haciendo, es del lado del contenido de la fórmula.
No es para servir Web, es para ejecutar dinámicamente y ver en el visor HTML de la siete e imprimir desde ahí, una manera de construir un informe complejo, con varios plurales, porque con el editor de informes nativo no se puede, e incrustarlo en un formulario como evento.
Sé que existe el vReport y otras maravillosas astucias como propone Ramiro en Programarte.com. Pero yo quería hacerlo así, como hacía con la 6.x, que era más directo , incluso añadiendo partes como tú propones que es como lo estoy haciendo.
Eran como nos recuerda Mario Barreiro (Muchas gracias, Mario), páginas completas y Componentes web, que eran como funciones a las que pasabas parámetros y además sustituían campos y variables globales mediante notaciones como las que puse de ejemplo (#AVP%NOMBRE%).
Ahora, por lo visto, no hay nada de esto y hay que aprender dos cosas más PHP y JSON,
si quieres servir páginas dinámicas. Para mentes limitadas y jubiladas como la mía, es algo duro. Yo hacía maravillas sólo con HTML y CSS.
Sólo se me ocurre un adjetivo, parafraseando a mi querido Forges;

Majestuoso

Gracias, por vuestras rápidas y autorizadas respuestas.


([N3] pacosatu) #5

Hola.

He añadido una Idea en soporte para facilitar el manejo de Textos HTML, XML, JSON en el editor de fórmulas y no tener que lidiar con las comillas y otros códigos de escape.

Espero que sirva.

Saludos
Paco Satué


([N1] Cuco) #6

Gracias, Paco, pero no incluyes el enlace
Yo he creado una tabla con código, con un campo objeto texto para meter el código.
La voy enlazar con la tabla del informe y así no tengo que escribir texto html en el asistente de fórmulas. A ver si funciona, yo también os explicaré mi solución. Aunque me temo que no inventaré nada


([N3] pacosatu) #7

Hola Cuco.

Está en las Ideas recientes:
http://velneo.zendesk.com/forums/21037756-Ideas#recent

Esta nueva instrucción de comando evaluaría el contenido de los marcadores en tiempo de ejecución. El texto HTML se podría introducir en el editor de fórmulas o desde un campo Texto, como en tu caso.
Yo creo que este comando facilitaría mucho el manejo de textos con marcado.

Saludos
Paco Satué


([N1] mariobarreiro) #8

Hola Juan:

Efectivamente esa solución es la que serviría para emular el funcionamiento de los componentes html y es más que viable (yo la probé y funciona perfectamente), aunque te vas a hinchar a usar el replaceString() :wink:

Un saludo


([N1] Cuco) #9

Buena idea, Paco, ahora hace falta que la desarrollen. Si lo llegan a hacer, como siempre con su conocimiento y voluntad, mejorarán, si es ya posible, tu propuesta.
Entre tanto yo voy a seguir con mi idea porque me parece muy apropiada porque al estar en una tabla independiente, puedes editar (copiar y pegar de un editor de html incluso de páginas y componente antiguos de V6) la página directamente en el control caja de texto, sin necesidad de sustituir " ni nada. Enlazo esta tabla como maestra de la del informe y tengo disponible el campo con el código html. Luego, en un evento de un subformulario de la tabla proceso y muestro “on Show” el resultado de la ejecución del evento o a través de este de un proceso externo. El proceso se encargará de las repeticiones de las líneas de los históricos y de las sustituciones correspondientes de campos y variables locales. Estoy en esto último, Mario, he afilado las herramientas y tengo un buen aprovisionamiento de replaceString()s y de insertString()s. >:-)
Gracias a todos: cuanda lo haya acabado os lo contaré detalladamente.


([N1] Cuco) #10

Me permito añadir a mi larga perorata que con respecto a las etiquetas a mí en un pricipio me pareció mejor usar unas sencillas, sería dos “pipelines” |texto|, pero ahora que lo estoy pensando mejor, usaré las etiquetas de la V6 por compatibilidad con código previo y no interferencia probada con otras etiquetas de WWW. Creo que si Velneo se decide a implementar tu solución así lo haga también.