Crear un campo en un informe complejo

Inicio Foros Foro principal Ayuda Crear un campo en un informe complejo

  • Este debate está vacío.
Viendo 11 entradas - de la 1 a la 11 (de un total de 11)
  • Autor
    Entradas
  • #32228
    AMEBIS
    Participante

    Hola, estoy tratando de crear un campo que me muestre el resultado entre una multiplicacion de dos campos.

    Por ejemplo

    Cantidad Precio Parcial
    2 5 = (Cantidad * Precio)

    No tengo problemas para mostrar el campo cantidad y el campo precio, pero me gustaria saber si existe alguna manera de poner una logica en un campo aparte y que muestre un campo entre dos o mas campos ya existentes.

    Saludos

    #37041
    Carranza Carlos
    Participante

    Esto es un cálculo dentro de iReport, a partir de parámetros y valores fijos :
    Total = se pasa como parámetro en launchxxxxxxxxx (cabecera) y DTO_CDO es una constante creada en el reporte (fijate la pantalla)
    [attachment=358]campovariable.png[/attachment]

    Fomula utilizada :
    new java.math.BigDecimal( $P{TOTAL}.doubleValue() – (($P{TOTAL}.doubleValue() * $V{DTO_CDO}.doubleValue()) / 100))

    #37043
    AMEBIS
    Participante

    Gracias por la respuesta, pero la idea es crear la formula en algun reporte standard de libertya y no de Jasper, igualmente tu respuesta me sirvio para futuros casos.

    Te adjunto una imagen para que veas cual es la ventana donde me gustaria poder realizar una operacion.

    Seria mas que nada para ir creando un sencillo modulo de producción, muy artesanal.

    System – Formato de impresion – Elemento de Formato
    Saludos

    #37042
    Carranza Carlos
    Participante

    Estás en el horno.
    Deberías modificar el código del reporteador del entorno.
    Ya traté hace unos meses, no de algo tan complejo como una fórmula, sino de agregar algún campo al pie de página y me fue imposible.
    Entiendo que en algún momento lo único que había era el reporteador (si buscás podrás encontrar las facturas hechas con él) pero resultó tan complejo que por eso se volcó hacia iReport.
    En la versión 11.10, por lo que leí ya se pueden usar reportes dinámicos, es decir sin tener que generar launchxxxxxx y dataxxxxxx.
    De todas formas, buscá la factura hecha con el reporteador, dale un par de vuelta y por ahí sacás alguna idea para hacer cálculos (de hecho en la misma, si mal no recuerdo había alguno).
    Suerte.

    #37047

    Efectivamente como indica Carlos, el nuevo feature que permite utilizar Jasper sin launcher lo hemos probado y esta operativo en Ly1110, (aunque sospechamos que todavía no lo usa nadie!)

    Creo que sería por mucho mas productivo iniciar ese recorrido que pelear con el reporteador interno. Simplemente das de alta el Informe y se agregan los parámetros desde el diccionario. Hasta puede subirse el jasper compilado con un Atachment, con lo que en los backups quedan contenidos.

    Saludos

    #37049
    AMEBIS
    Participante

    LA verdad que nunca vi este tema en Libertya, pero parece bastante interesante. ME pasarías algún link donde pueda obtener mas información al respecto.

    Para hacer esto tengo que modificar el codigo de Libertya? o simplemente con la versión standard se puede hacer estos reportes?

    Muchas gracias por tu tiempo.

    #37050
    AMEBIS
    Participante

    LA verdad que nunca vi este tema en Libertya, pero parece bastante interesante. ME pasarías algún link donde pueda obtener mas información al respecto.

    Muchas gracias por tu tiempo.

    #37051

    Esa feature esta disponible en la versión estandar, no es necesario programar nada mas. Tenes que crear un Informe (Perfil System, Informe y Proceso). Un detalle, no intentes asociar estos reportes a un botón de impresión de una pantalla porque hay problemas con eso. Lo mejor es crearle un ítem en el menú para el reporte.

    Copio texto de otro hilo (autoría de Federico Cristina) para mas claridad:

    En Informe y Proceso hay un nuevo check: Reporte Dinámico. Ésto deshabilita la opción tradicional Es informe jasper, y habilita un campo adicional donde debe indicarse una URL a un archivo .jrxml (no el precompilado sino directamente el fuente ya que LY se encarga de esta operación en tiempo de ejecución).

    En cuanto a qué indicar en el campo Jasper (jrxml), las opciones pueden ser file:/// (desde el file system), http:// (desde un servidor web), o bien con prefijo attachment. Esta última alternativa toma el reporte desde el adjunto en el Informe y Proceso que estamos definiendo (por ejemplo: attachment:reporte.jrxml), teniendo de esta manera una alternativa para almacenar los informes en la base de datos.

    #37044
    Mayta.
    Participante

    Hola,

    Por favor me podría ayudar, necesito multiplicar el campo weight de m_product * QTY de C_invoice como podría hacer ?? de ante mano gracias.

    #37074
    Matías Nerón Cap
    Superadministrador

    Estimada,

    Primero deberías verificar que la columna weight se encuentra en el datasource (lo cual dudo) y luego realizar la multiplicación en una variable del iReport. En caso que no se encuentre, deberías modificar el código que llena el reporte, compilar la clase y generar los nuevos binarios.
    En todo caso podés utilizar la funcionalidad de reportes dinámicos como se plantea en este post.

    Saludos
    Matías Cap

    #37103
    AMEBIS
    Participante

    Hola,

    Agradezco tu respuesta. Voy a meterme mas en este tema de los reportes dinámicos con jasper.

    Un saludo

Viendo 11 entradas - de la 1 a la 11 (de un total de 11)
  • Debes estar registrado para responder a este debate.