Foros públicos Abanq / Desarrollo de Abanq / IMPRIMIR PARAMETROS
Autor Mensaje
Anónimo
# Publicado: 18 Ene 2010 13:05


Hola a todos.

Quería saber si es posible imprimir en el informe .kut los parámetros de la consulta .qry
Me refiero, a si puedo imprimir los parámetros introducidos mediante un cuadro de diálogo, y que no se guardan en ninguna tabla.

Como puedo hacerlo??
Podéis ayudarme???


Muchas gracias.
Felicitaciones por este foro que ayuda mucho.

yopli2k
Miembro
# Publicado: 18 Ene 2010 15:07


Hola, los parámetros introducidos en el dialogo se graban siempre en una tabla. Esta puede variar según el informe pero desde el script del informe tienes acceso a los valores del registro. Te pongo un ejemplo que espero te aclare como hacerlo.

Un saludo.

var cursor:FLSqlCursor = this.cursor();
var campo1:String = cursor.valueBuffer("nombredelcampo1"); // String si el campo es string


Según esto, si a tu informe le añades (por ejemplo en la cabecera de página) un campo calculado que llame a una funcion incluida en el script puedes recoger el valor y devolverlo para que lo imprima.

codigo para el archivo qs
// declaracion funcion en la classe mio
function valoresInforme(nodo:FLDomNode, campo:String):String { return this.ctx.mio_valoresInforme(nodo, campo); }

// codigo de la funcion
function mio_valoresInforme(nodo:FLDomNode, campo:String):String {
var cursor:FLSqlCursor = this.cursor();

switch (campo) {
case "campo1": return cursor.valueBuffer("nombredelcampo1");
case "campo2": return cursor.valueBuffer("nombredelcampo2");
default: return "";
}
}

codigo para el archivo kut
<CalculatedField X="0" Y="0" Width="0" Height="0" FunctionName="form<nombreaction>.valoresInforme" Field="campo1" CalculationType="6" DataType="0" DateFormat="11" Precision="2" Text="" WordWrap="0" HAlignment="1" VAlignment="1" Currency="32" CommaSeparator="44" BorderWidth="1" BorderStyle="0" NegValueColor="0,0,0" BorderColor="0,0,0" BackgroundColor="255,255,255" FontSize="8" FontWeight="65" FontItalic="0" ForegroundColor="0,0,0" FontFamily="Arial" />

nota:
para cada campo cambiar el Field por el nombre del campo a devolver.
<nombreaction> debe ser cambiado por el nombre de la acción que lanza el listado.

pumpkin
# Publicado: 19 Ene 2010 09:00


Gracias, pero creo que no me he explicado bien. Me refiero a como imprimir los parámetros:

<param>
<name>fecha</name>
<alias>QT_TRANSLATE_NOOP("Queries","Introduce la fecha:")</alias>
<type>date</type>
</param>

que se encuentran en el .qry y que no tienen asociado ningún campo de ninguna tabla, ni del formulario y que tampoco se introducen con setValueParam, sino que se introducen justo antes de que se imprima el informe, por medio de un cuadro de diálogo...
No se si es field, calculated, y no se que propiedades ponerle en el .kut para imprimirlo.


Muchas gracias otra vez.

yopli2k
Miembro
# Publicado: 19 Ene 2010 14:47


En el código fuente, unit FLSqlQuery.h, esta declarado setValueParam y valueParam para la clase FLSqlQuery. Se me ocurre que desde un campo calculado, tal vez el Nodo.valueParam te devuelva lo que buscas.


<copiado del fuente del AbanQ>
/**
Establece el valor de un parámetro.

@param name Nombre del parámetro
@param v Valor para el parámetros
*/
void setValueParam( const QString &name, const QVariant &v );

/**
Obtiene el valor de un parámetro.

@param name Nombre del parámetro.
*/
QVariant valueParam( const QString &name ) const;

Su respuesta

          Sin código BB *¿Ayuda?

 » Usuario  » Contraseña 
 
Para poder publicar su mensaje debe introducir el siguiente código de validación:



  
 
 


miniBB forum software © 2001-2010