{ ------------------------------------------------------------------------------- PROGRAMA : IPPRRP018 OBJETIVO : Reporte Conduces Firmados PROGRAMADOR : Ing. Luis Soto FECHA REALIZACION : Marzo 2025 DESCRIPCION : Busqueda de Conduces Firmados MODIFICADO POR : Luis Soto ------------------------------------------------------------------------------- } GLOBALS "ipprgb000.4gl" DEFINE fecha2 DATE DEFINE co RECORD num_doc,cod_sp,cod_sp_sec,cod_mov INT, nombre,v_estado CHAR(80),fecha DATETIME YEAR TO SECOND END record MAIN DEFER INTERRUPT CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CALL ARG_VAL(3) RETURNING impresor CONNECT TO "smarmotech" USER usuarios USING clave SELECT * INTO p_companias.* FROM companias CALL ipprrp054() END MAIN FUNCTION ipprrp054() OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM ipfmrp054 FROM "ipfmrp054" DISPLAY FORM ipfmrp054 CALL ui.Window.getCurrent().setText("Conduces con y sin Archivo") INPUT BY NAME fecha1,fecha2 BEFORE INPUT AFTER INPUT LET selec=" select unique a.num_doc,a.cod_sp,a.cod_sp_sec,a.cod_mov,b.nombre,", " CASE ", " WHEN c.num_doc IS NULL THEN 'NO TIENE ARCHIVO' ", " ELSE 'TIENE ARCHIVO' ", " END,c.fech_crea ", " from iptb00006 a JOIN vetb00004 b ON a.cod_sp = b.tipo_cliente AND a.cod_sp_sec = b.sec_cliente ", " JOIN iptb00005 d ON a.cod_mov = d.cod_mov LEFT JOIN prtb00029 c ON a.num_doc = c.num_doc and a.bodega=c.bodega AND c.tipo_file = 'CO'", " where a.fecha between ? and ? and a.cod_mov in (30,31,38,55,56) ", " group by a.cod_mov,a.num_doc,a.cod_sp,a.cod_sp_sec,b.nombre,c.num_doc,c.fech_crea", " order by a.cod_mov" LET r_filename = "ipprrp054.4rp" PREPARE comando FROM selec DECLARE busca CURSOR FOR comando OPEN busca USING fecha1,fecha2 LET idx = 0 FOREACH busca INTO co.* IF idx = 0 THEN CALL selectOutputSimple() RETURNING r_output IF fgl_report_loadCurrentSettings(r_filename) THEN LET preview = 1 CALL fgl_report_selectDevice(r_output) CALL fgl_report_selectPreview(preview) LET handler = fgl_report_commitCurrentSettings() ELSE EXIT PROGRAM END IF START REPORT prt_co TO XML HANDLER HANDLER LET idx = 1 END IF OUTPUT TO REPORT prt_co(co.*) END FOREACH IF idx = 1 THEN FINISH REPORT prt_co ELSE CALL fgl_winmessage("INFO", "NO EXISTEN REGISTROS", "INFO") END IF END INPUT END FUNCTION REPORT prt_co(x) DEFINE x RECORD num_doc,cod_sp,cod_sp_sec,cod_mov INT, nombre,v_estado CHAR(80),fecha DATETIME YEAR TO second END RECORD,fecht DATE,descrip_mov,titulo_mov CHAR(80) FORMAT FIRST PAGE HEADER LET fecht =today BEFORE GROUP OF x.cod_mov SELECT a.descrip_mov INTO descrip_mov FROM iptb00005 a WHERE a.cod_mov = x.cod_mov LET titulo_mov = "Movimiento: ", x.cod_mov, " ", descrip_mov CLIPPED PRINTX titulo_mov ON EVERY ROW PRINTX x.cod_sp,x.cod_sp_sec,x.nombre,x.num_doc,p_companias.nombre,fecht,x.v_estado,fecha1,fecha2,x.fecha END REPORT