Vreport pasar parametros al informe

Buenas tardes:
Quería pasar parametros a un informe para poder ocultar una imagen en la cabecera.
Alguien me podria enseñar un ejemplo o explicar

  1. En la línea PARAMETROS EN FORMATO como los escribo??
  2. En la condición para imprimir como llamo al parametro??

Muchas gracias.

Un ejemplo grafico me vendria cojonudo :stuck_out_tongue:

En vDevelop:
En la salida por ejemplo (PROCESO_PRT):
If (SALIDA)=“1”)
Informe Externo: Previsualizar informe…

Te permite la asignación de parámetros. Debes indicarle el parámetro/s que serán fruto de una función o variable.

En vReport:
Haces referencia en el Script: $P{Parámetro}

Si no te arreglas en el Tutor de Velneo vReport encontrarás un informe “FACTURAS_CLIENTE_PAR (Informe de facturas agrupadas por cliente con % sobre el total de facturas)” que seguramente resolverá tu duda.

Un saludo,

1 me gusta

Me respondo:
Imaginando que el parametros que quiero pasar es “PDF” (para imprimir logos en este caso)

Primero en Informe Externo: Imprimir Informe para declarar los parametros se escribiria “PDF:1”

y ahora en el vreport en el informe, para poner la condición directamente $P{PDF}, sin entrar en el editor de formulas, si entras al aceptar la condición no funcionara ya que te dara error.

Un saludo.

Buenos días

Ando peleándome con los parámetros en vReport y tampoco consigo que me funcione. Quiero pasar una cadena de texto al informe. En el campo de los parámetros pongo: “BANCO:”+DATOS_BANCO, donde DATOS_BANCO es la cadena que quiero mostrar.

En el informe pongo $P{BANCO} y me muestra SyntaxError: Parse error

Si al pasar el parámetro pongo “BANCO:prueba” me dice que no encuentra la variable prueba.

En cambio, si paso el parámetro “BANCO:9”, si que me escribe el 9 en el informe.

He intentado buscar el tutor de vReport pero no lo encuentro.

La verdad es que ando bastante perdido

Un saludo

Gonzalo Torre

@gongorre

Open Apps vReport

Ejemplo informe con parámetros a partir del minuto 40 más o menos

Buenas tardes

He mirado el video y estoy pasando el parámetro de la misma forma. La única diferencia es que en el ejemplo pasan como parámetro un número y yo estoy pasando una cadena de texto. He preobado a pasarla con comillas y no hay forma.

Si el parámetro que paso es un número, funciona, si es una cadena de texto, no.

Hola gontorre.
Sólo se me ocurre, según lo que cuentas que el problema esté en la sintaxis de vReport.
Si se trata de una cadena estás poniendo “$P{PARAMETRO}” en el script de vReport?. Las comillas también forman parte de la sintaxis.
A ver si es eso.
Saludos,

Pues eso exactamente me han contestado en soporte. Aparte de eso la cadena que pasaba como parámetro incluía \n y eso parece que no se lo traga el vReport.

Gracias

Hola Gonzalo:

Como dice PedroN es cuestión de poner las comillas cuando corresponda en los Scripts de VReport.

Por ejemplo:
En el siguiente comando de Velneo tenemos un parámetro de tipo String CTIPO_REGISTRO y el resto de tipo Booleano.

Informe externo: Previsualizar informe(Fichero,CPATH_INFORME,“TIPO_REGISTRO:” + CTIPO_REGISTRO + “|” + “LIMP_ARCHIVO:” + LIMP_ARCHIVO + “|” +“LIMP_ASIGNADO:” + LIMP_ASIGNADO + “|” + “LIMP_ASUNTO:” + LIMP_ASUNTO + “|” + “LIMP_ENTIDAD:” + LIMP_ENTIDAD + “|” + “LIMP_FCOMISION:” + LIMP_FCOMISION + “|” + “LIMP_FECHA:” + LIMP_FECHA + “|” + “LIMP_NOTAS:” + LIMP_NOTAS + “|” + “LIMP_REFERENCIA:” + LIMP_REFERENCIA + “|” + “LIMP_REGISTRO:” + LIMP_REGISTRO + “|” + “LIMP_TIPODOC:” + LIMP_TIPODOC)

En VReport queremos poner el siguiente Título para el Informe:
***** Lista de Registros de <<aquí va el parámetro CTIPO_REGISTRO>> *****
El parámetro CTIPO_REGISTRO puede valer “E” o “S”.

Insertamos un campo de tipo Script con la expresión JavaScript siguiente (ver imagen adjunta):


if ("$P{TIPO_REGISTRO}" == "E") {"Entrada"}
   else {"Salida"}

El lío es entender cómo VReport interpreta esta expresión (como siempre explicado pésimamente en el micro-manual).

  • La expresión debe ser compatible con JavaScript
  • El motor de VReport sustituye $P{TIPO_REGISTRO} por su valor (por ejemplo E) quedando “E” == “E”.
    Por esta razón debes añadir las comillas, para que la comparación sea entre Strings
  • Cuando el parámetro sea Numérico no es necesario poner comillas, por ejem: $P{TIPO_REGISTRO} == 1 quedando 1 == 1

Cuando usamos el parámetro para condiciones de impresión, ponemos simplemente $P{LIMP_REGISTRO} (ver imagen adjunta).

Saludos
Paco Satué

Perfectamente explicado Paco, como siempre.

Ya lo tengo funcionando. Creo que había puesto comillas en todos sitios menos donde tenía que ponerlas.

Un saludo y gracias a todos