6 respuestas a «Cómo crear un reporte utilizando APEX Office Print en Oracle APEX»

  1. Una duda como puedo meter al template items que tengo en mi vista de apex, ejemplo:
    :P1_fecha_inicio,
    :P1_fecha_fin,
    :P1_ruta

    select
    ‘file1’ as «filename»,
    cursor
    (select
    :PXX_ITEM as «PXX_ITEM»,
    :P1_ruta as «Ruta»
    from dual
    ) as «data»
    from dual

    En la plantilla me genera {Ruta}, pero no me genera , este item PXX_ITEM u otro hay algun error o coomo puedo mostrar items de mi vista en mi template?

    1. Esta bien como lo haces, debería funcionar igual a Ruta, sin embargo, si el PXX_ITEM no te funciona probablemente sea porque no trae data o la data que trae esta en algún formato incompatible, puedes probar haciendo otro cursor dentro del cursor principal y al mismo tiempo recuerde el filename y el data para que el query le funcione bien

      1. Hola gracias por responder Emmanuel, podrías hacer un ejemplo sencillo de lo que me comentas para que pueda hacer una prueba, al parecer no reconoce el valor del Item realmente no se si se tenga que configurar algo para que lo reconozca, lo interpreta como si estuviera vacío pero en la interfaz de apex le agrego valor. Lo que entiendo pueda estar pasando es que no setea el valor de los campos, y los necesito para hacer filtros a mi consulta. te agradecería tu respuesta.

        O tienes algun otro medio de comunicación mas directa para compartirte mas información?
        Gracias quedo al pendiente saludos!

        1. En el video en el minuto 14:44 muestro un ejemplo de como hacer un cursor dentro de otro cursor, deberías hacer la prueba primero de imprimir el valor en un alert de javascript para verificar si esque el valor está vacío, este es un pequeño ejemplo de como setearlo los valores a un campo en PL/SQL:

          Declare
          montoIVA NUMBER(10,2);
          Begin
          montoIVA := (:P13_MONTO_HONORARIO + :P13_MONTO_GASTO) * 12/100;
          :P13_MONTO_IVA := montoIVA;
          apex_util.set_session_state(‘P13_MONTO_IVA’, montoIVA);
          End;

          El apex_util.set_session_state es necesario para establecer el valor al estado del item en la sesión del usuario y el :P13_MONTO_IVA := montoIVA; lo establece al item como tal, deben ir de la mano para que tanto en el front end el usuario vea el valor como en el back end se tome, ya después de tener el valor establecido, puedes ejecutar el script para llamar el reporte, pero primero verifique que si se esté llenando y no esté nulo.

          Puedes ver más información sobre el seteo y cálculo de valores en el siguiente post:

          https://oracle-max.com/como-realizar-calculos-matematicos-en-el-frontend-de-oracle-apex-utilizando-pl-sql-en-lugar-de-javascript/

          Adicionalmente, puede escribirme a oracle.max.consultor@gmail.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *