Luego de haber configurado correctamente nuestra instancia de Oracle APEX con APEX Office Print, continuamos con la explicación sobre cómo desarrollar un reporte y cómo descargarlo.
Si te perdiste la configuración de APEX Office Print en una instancia de Oracle APEX, haz clic aquí
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?
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
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!
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
Muchas gracias haré la prueba espero me funcione te agradezco 🙂
Hola buenas tardes hermano, una duda se pueden generar reportes de una collection en oracle apex?