{ ------------------------------------------------------------------------------- PROGRAMA : CCPRRP032 OBJETIVO : Diferencia entre Valor Grabado y Calculado PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Agosto 3, 1994 ------------------------------------------------------------------------------- } GLOBALS "ccprgb000.4gl" DEFINE idx_1, idx_2, idx_3 SMALLINT DEFINE fecha_inicial, fecha_final DATE DEFINE salir, salir2, salir3, tipo_venta CHAR(1) DEFINE selec5, selec6 CHAR(1500) DEFINE datos_32 RECORD factura INTEGER, fecha_factura DATE, monto_bruto DECIMAL(10,2), monto_cal DECIMAL(10,2) END RECORD DEFINE datos_ft RECORD factura SMALLINT, valor_ft DECIMAL(12,2), valor_cal DECIMAL(12,2) END RECORD FUNCTION ccprrp032() # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM ccfmrp032 FROM "ccfmrp028" DISPLAY FORM ccfmrp032 CALL pantalla() DISPLAY "ccprrp032" AT 4,3 DISPLAY "Diferencia Entre Valor Gravado y Calculado" AT 6,18 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME fecha_inicial,fecha_final AFTER FIELD fecha_inicial IF fecha_inicial is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_inicial END IF BEFORE FIELD fecha_final LET fecha_final = today AFTER FIELD fecha_final IF fecha_final is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_final END IF IF fecha_final < fecha_inicial THEN LET numero_msg = 86 CALL msg(numero_msg) NEXT FIELD fecha_final END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF # Busca las datos_32 locales para el rango de fechas especificado DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) #LET selec4 = DECLARE busca CURSOR FOR SELECT a.factura,a.fecha_factura,a.sub_total,SUM(b.cantidad * b.precio) FROM vetb00002 a, vetb00003 b WHERE a.factura = b.factura AND a.status_t IS NULL AND b.status_t IS NULL AND a.fecha_factura BETWEEN fecha_inicial and fecha_final GROUP BY 1,2,3 HAVING SUM(b.cantidad*b.precio) <> a.sub_total DISPLAY " " AT 20,14 START REPORT reporte_32 TO "C:\\archivo" DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) FOREACH busca INTO datos_32.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF IF datos_32.monto_bruto IS NULL THEN LET datos_32.monto_bruto = 0 END IF IF datos_32.monto_cal IS NULL THEN LET datos_32.monto_cal = 0 END IF IF (datos_32.monto_bruto <> datos_32.monto_cal) THEN OUTPUT TO REPORT reporte_32(datos_32.*) END IF END FOREACH FINISH REPORT reporte_32 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_32(x) DEFINE x RECORD factura INTEGER, fecha_factura DATE, monto_bruto DECIMAL(10,2), monto_cal DECIMAL(10,2) END RECORD DEFINE nombre,apellido CHAR(30) DEFINE nombre_cia CHAR(20) DEFINE descuento DECIMAL(10,2) DEFINE total1,total2,valor_factura DECIMAL(10,2) 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(3) DEFINE normall CHAR(3) DEFINE comprimido CHAR(3) DEFINE hora CHAR(5) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 ORDER BY x.factura 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_off = ASCII 18 LET comp_on = ASCII 031 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 029 LET normal = ASCII 27, ASCII 80 LET hora = time LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "ccprrp032", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 73, "Pag. ",pageno USING "###" PRINT COLUMN 17, " Sistema de Cuenta Por Cobrar ", COLUMN 73, today USING "dd/mm/yyyy" PRINT COLUMN 17, " Diferencia Entre Valor Gravado y Calculado", COLUMN 76, hora SKIP 1 LINES PRINT COLUMN 1, "Fecha: Del ", fecha_inicial USING "dd/mm/yyyy", " Al ", fecha_final USING "dd/mm/yyyy" PRINT COLUMN 1, "--------------------------------------------", "------------------------------------" PRINT COLUMN 1, "Factura", COLUMN 11, "Fecha", COLUMN 23, "Valor Venta", COLUMN 44, "valor Calculado", COLUMN 71, "Diferencia" PRINT COLUMN 1, "--------------------------------------------", "------------------------------------" PRINT COLUMN 1, negrillas_off ON EVERY ROW PRINT COLUMN 1, x.factura USING "######", COLUMN 11, x.fecha_factura USING "dd/mm/yyyy", COLUMN 22, x.monto_bruto USING "###,###,###.##", COLUMN 44, x.monto_cal USING "###,###,###.##", COLUMN 67, x.monto_bruto - x.monto_cal USING "###,###,###.##" ON LAST ROW PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "Total General ---> ", COLUMN 22, SUM(x.monto_bruto) USING "###,###,###.##", COLUMN 44, SUM(x.monto_cal) USING "###,###,###.##", COLUMN 67, SUM(x.monto_bruto-x.monto_cal) USING "###,###,###.##" PRINT negrillas_off END REPORT