Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Oracle > IMPRIMIR DESDE FORM
-Foros de debate

Oracle
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

IMPRIMIR DESDE FORM
Enviado por jvolarte el día 31 de mayo de 2006

Se Puede imprimir algún reporte desde form sin tener que levantarel developer report, es decir se me ocurre con un botón o un procedimiento invocar la impresión de dicho reporte.

 
Re: IMPRIMIR DESDE FORM
Enviado por Rodolfo Reyes el día 31 de mayo de 2006

Lo que se puede es ejecutar un reporte desde form, y por medio de parametros le indicas que no quieres previsualizarlo en la pantalla si no que se imprima. Esto causa el efecto de que al oprimir un boton se imprime el reporte.

Para esto utilizas el parametro DESTYPE y le pones como valor PRINTER.

 

Re: IMPRIMIR DESDE FORM
Enviado por aisainz el día 21 de junio de 2006

yo para imprimir directamente desde form lo que hago es lo siguiente:
un program unit ,
PROCEDURE IMPRIMIR (Informe in varchar2, PARAMETROS IN VARCHAR2) IS
report_id REPORT_OBJECT;
report_job_id VARCHAR2(100);
rep_status VARCHAR2(20);
JOB_NUMBER number;
BOTON NUMBER;
BEGIN
report_id := FIND_REPORT_OBJECT ('INFORME');
SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_DESTYPE, PRINTER);
SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_FILENAME, Informe||'.rdf');
--SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_DESFORMAT, 'HTML');
SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_DESNAME, :GLOBAL.PRINTER);
SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_EXECUTION_MODE, RUNTIME);
SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY (report_id, REPORT_SERVER, :global.rep_server);
--
if parametros is not null then
set_report_object_property(report_id, REPORT_OTHER,PARAMETROS);
end if;
--
report_job_id := RUN_REPORT_OBJECT (report_id);
rep_status := REPORT_OBJECT_STATUS (report_job_id);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
rep_status := report_object_status (report_job_id);
END LOOP;
IF rep_status != 'FINISHED' THEN
MESSAGE('Se ha producido un error');pause;
raise form_trigger_failure;
END IF;
END;

y luego lo llamo asi:
IMPRIMIR (:global.proceso);

espero que te sirva.

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network