{ ------------------------------------------------------------------------------- PROGRAMA : TEPRRP006 OBJETIVO : COMISION CKS. DEVUELTOS PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Junio 7, 1995 ------------------------------------------------------------------------------- } GLOBALS "teprgb000.4gl" DEFINE datos_k RECORD cod_cia LIKE vetb00002.cod_cia, factura LIKE vetb00002.factura, monto LIKE vetb00002.neto, numero LIKE cctb00001.num_doc, sec_vend LIKE cctb00001.cod_emp_sec, tipo_cliente LIKE cctb00001.tipo_cliente, sec_cliente LIKE cctb00001.sec_cliente, valor LIKE cctb00001.valor END RECORD FUNCTION teprrp006() DEFINE p_cia,p_vende SMALLINT OPTIONS FORM LINE 8, ERROR LINE 24 OPEN FORM tefmrp006 FROM "tefmrp006" DISPLAY FORM tefmrp006 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime,letras.*,archivo INPUT BY NAME rango.* ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime,letras.*,archivo AFTER FIELD fech_fi IF rango.fech_fi <= rango.fech_in THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fech_in 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 LET parametro = "D" CALL elijeimpresion(parametro) RETURNING orden,destino,letras.* DISPLAY "<<< Buscando Informacion... Espere Por Favor" AT 19,14 START REPORT ckdevuelve TO archivo # Busca los cheques devueltos de cuentas por cobrar DECLARE busca CURSOR FOR SELECT UNIQUE b.cod_cia,b.factura,b.neto,a.num_doc,a.cod_emp_sec, a.tipo_cliente,a.sec_cliente,a.valor FROM cctb00001 a,vetb00002 b WHERE (a.cod_emp_sec = a.cod_emp_sec and a.fecha_orig between rango.fech_in and rango.fech_fi and a.tipo_doc = "ND" and a.valor_cheque is not null) and (a.aplica_a = b.factura) and a.status_t is null ORDER BY 5,4,2 FOREACH busca INTO datos_k.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false FINISH REPORT ckdevuelve END IF LET p_cia = datos_k.cod_cia LET p_vende = datos_k.sec_vend OUTPUT TO REPORT ckdevuelve(p_cia,p_vende) END FOREACH FINISH REPORT ckdevuelve #RUN imprime CALL fdestino(destino,archivo,imprime) END FUNCTION REPORT ckdevuelve(cia,vende) DEFINE cia,vende SMALLINT, porc_dev DECIMAL(10,4), nomb1,nomb2 CHAR(20), nombre_cliente CHAR(30), t_porc DECIMAL(10,2), doce CHAR(3) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 FORMAT PAGE HEADER LET doce = ASCII 30 PRINT COLUMN 1, letras.doce PRINT COLUMN 1, "teprrp006", COLUMN 27, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 94, "Pag. ",pageno using "###" PRINT COLUMN 27, " Sistema de Tesoreria ", COLUMN 94, today using "dd/mm/yyyy" PRINT COLUMN 27, " Comision Cheques Devueltos", COLUMN 94, time SKIP 1 LINES PRINT "Rango: Del ",rango.fech_in USING "dd/mm/yyyy", " Al ",rango.fech_fi USING "dd/mm/yyyy" PRINT "--------------------------------------------------------", "---------------------------------------------" SKIP 1 LINES BEFORE GROUP OF vende SELECT nom1_emp,apell1_emp INTO nomb1,nomb2 FROM adtb00003 WHERE num_emp = vende PRINT COLUMN 1, "VENDEDOR: ",vende using "&&&"," ", nomb1 clipped," ",nomb2 SKIP 1 LINE PRINT COLUMN 80, "VALOR" PRINT COLUMN 1, "DOCUMENTO", COLUMN 15,"CLIENTE", COLUMN 54, "FACTURA", COLUMN 68, "MONTO", COLUMN 80,"S/ITBI", COLUMN 92, "%", COLUMN 94,"COMISION" SKIP 1 LINE ON EVERY ROW IF cia = 1 THEN SELECT unique a.porc_cobros INTO porc_dev FROM vetb00011 a WHERE a.sec_vend = datos_k.sec_vend and a.cod_n = 3 and a.status_t is null ELSE SELECT unique a.porc_cobros INTO porc_dev FROM vetb00011 a WHERE a.sec_vend = datos_k.sec_vend and a.cod_n in (6,9) and a.status_t is null END IF SELECT nombre INTO nombre_cliente FROM vetb00004 WHERE tipo_cliente = datos_k.tipo_cliente and sec_cliente = datos_k.sec_cliente PRINT COLUMN 1, datos_k.numero using "&&&&&&", COLUMN 15, datos_k.tipo_cliente using "&&","-", datos_k.sec_cliente using "&&&&"," ", nombre_cliente, COLUMN 54, datos_k.factura using "&&&&&&", COLUMN 63, datos_k.valor using "###,###.##", COLUMN 73, datos_k.valor/1.08 using "##,###,###.##", COLUMN 88, porc_dev using "##.####", COLUMN 96, (datos_k.valor/1.08) * porc_dev using "###.##" IF t_porc is null THEN LET t_porc = 0 END IF LET t_porc = t_porc + ((datos_k.valor/1.08) * porc_dev) AFTER GROUP OF vende PRINT COLUMN 73, "-------------", COLUMN 94, "--------" PRINT COLUMN 15, "TOTAL VENDEDOR: ", COLUMN 73, GROUP SUM(datos_k.valor/1.08) using "##,###,###.##", COLUMN 93, t_porc using "##,###.##" LET t_porc = 0 PRINT "--------------------------------------------------------", "---------------------------------------------" END REPORT