{ ------------------------------------------------------------------------------- PROGRAMA : VEPRRP012 OBJETIVO : Transporte de Mercaderia ( Mercancias ) PROGRAMADOR : Lic. Abner Montalvo Zapata FECHA REALIZACION : Enero 18, 1993 ------------------------------------------------------------------------------- } GLOBALS "veprgb000.4gl" DEFINE trx RECORD LIKE iptb00006.* DEFINE nombre_p CHAR(30) DEFINE p_tarifa DECIMAL(8,2) DEFINE factor INTEGER DEFINE codigo_p CHAR(3) DEFINE seleccion CHAR(200) FUNCTION veprrp012() DEFINE codigo_t CHAR(6) DEFINE docu INTEGER OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM vefmrp012 FROM "vefmrp012" DISPLAY FORM vefmrp012 CALL pantalla() DISPLAY "veprrp012" AT 4,3 DISPLAY "Transporde de Mercaderia" AT 6,28 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME rango.* AFTER FIELD fech_in IF rango.fech_in is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fech_in END IF BEFORE FIELD fech_fi LET rango.fech_fi = TODAY DISPLAY BY NAME rango.fech_fi AFTER FIELD fech_fi IF rango.fech_fi is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fech_fi END IF AFTER INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF EXIT INPUT END INPUT CONSTRUCT BY NAME criterio ON cod_transp,sec_transp LET seleccion = "SELECT * FROM iptb00006 ", "WHERE fecha between ? and ? and cod_transp is not null and ", " status_t is null and ",criterio clipped," ORDER BY fecha " DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) PREPARE comando FROM seleccion DECLARE busca CURSOR FOR comando OPEN busca USING rango.fech_in,rango.fech_fi START REPORT mercaderia TO "C:\\archivo" DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) FOREACH busca INTO trx.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF # Busca datos de la facturacion SELECT @zona INTO codigo_p FROM vetb00002 WHERE @factura = trx.num_doc # Busca la tarifa del transporte SELECT tarifa_pago INTO p_tarifa FROM vetb00023 WHERE cod_tarifa = trx.cod_tarifa # Busca conversion a cajas SELECT cantidad INTO factor FROM vetb00014 WHERE cod_n = trx.cod_n and cod_grupo = trx.cod_grupo and cod_tipo = trx.cod_tipo and cod_sec = trx.cod_sec # Provincias SELECT nombre_provincia INTO nombre_p FROM vetb00020 WHERE cod_provincia = codigo_p LET codigo_t = trx.cod_transp using "##",trx.sec_transp using "####" LET docu = trx.num_doc LET trx.cantidad_2 = trx.cantidad_2 / factor OUTPUT TO REPORT mercaderia(codigo_t,docu,trx.fecha,trx.cantidad_2, p_tarifa,nombre_p) END FOREACH FINISH REPORT mercaderia CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT mercaderia(codigo_x,documento,fecha_x,cantidad_x,tarifa,nombre_x) DEFINE codigo_x CHAR(6), cantidad_x,documento INTEGER, tarifa,valor_pagar,total_transp DECIMAL(12,2), fecha_x DATE DEFINE nombre_x,nombre_transportista CHAR(30) DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE normal CHAR(2) DEFINE hora CHAR(5) DEFINE nombre_transp CHAR(30) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 ORDER BY codigo_x,documento FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 LET hora = time LET lj = (139 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, comp_on, negrillas_on PRINT COLUMN 1, "veprrp12", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 132, "Pag. ", pageno using "###" PRINT COLUMN 68, "Sistema de Ventas ", COLUMN 130, today using "dd/mm/yyyy" PRINT COLUMN 65, "Transporte de Mercaderia", COLUMN 135, hora, negrillas_off SKIP 1 LINES PRINT COLUMN 1, "Desde ",rango.fech_in using "dd/mm/yyyy", " Hasta ",rango.fech_fi using "dd/mm/yyyy" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "----------------------------------------" PRINT COLUMN 80, "Fecha", COLUMN 108, "Cajas" , COLUMN 115, " Tarifa" PRINT COLUMN 2, "T R A N S P O R T I S T A", COLUMN 40, "L O C A L I D A D", COLUMN 80, "Documento", COLUMN 91, "Documento", COLUMN 107, "Documento", COLUMN 115, " X Cajas", COLUMN 126, "Monto a Pagar" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" , "----------------------------------------" BEFORE GROUP OF codigo_x LET total_transp = 0 LET valor_pagar = 0 LET nombre_transp = "NO EXISTE" SELECT a.nombre INTO nombre_transp from vetb00015 a WHERE a.cod_transp = trx.cod_transp AND a.sec_transp = trx.sec_transp PRINT COLUMN 1, negrillas_on,codigo_x," ",nombre_transp, negrillas_off AFTER GROUP OF documento LET valor_pagar = GROUP SUM(cantidad_x) * tarifa LET total_transp = total_transp + valor_pagar PRINT COLUMN 40, nombre_x, COLUMN 80, fecha_x using "dd/mm/yy", COLUMN 92, documento using "&&&&&&", COLUMN 107, GROUP SUM(cantidad_x) using "###,###", COLUMN 116, tarifa using "###.##", COLUMN 126, valor_pagar using "###,###,###.&&" AFTER GROUP OF codigo_x SKIP 1 LINE PRINT COLUMN 100, "Total Transportista --> ", COLUMN 126, total_transp using "###,###,###.&&" SKIP TO TOP OF PAGE ON LAST ROW PRINT COLUMN 1, comp_off END REPORT