{ ------------------------------------------------------------------------------- PROGRAMA : CCPRRP005 OBJETIVO : Liquidacion Comision Por Cobros Plan Ranchero PROGRAMADOR : Juan Fco. Soto FECHA REALIZACION : Abril 06, 1995 ------------------------------------------------------------------------------- } GLOBALS "teprgb000.4gl" DEFINE fact_ant INTEGER DEFINE cod_cia SMALLINT DEFINE p_datos RECORD fecha_in DATE, fecha_fin DATE END RECORD DEFINE porc_rep,porciento,p_itbi DECIMAL(8,2) DEFINE p_neto,valor_desc DECIMAL(12,2) FUNCTION teprrp005() #DEFINE imprime CHAR(1) DEFINE vendedor RECORD cod_vend SMALLINT, sec_vend SMALLINT, fecha_factura DATE, factura INTEGER, cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, cantidad INTEGER , precio DECIMAL(10,2), recibo INTEGER, fecha DATE, valor_c DECIMAL(12,2), porc_venta DECIMAL(10,4), descrip_esp CHAR(30), nombre_vend CHAR(30), apellido_vend CHAR(30) , vende CHAR(6), codigo CHAR(7) END RECORD #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM tefmrp005 FROM "tefmrp005" DISPLAY FORM tefmrp005 #CALL pantalla() DISPLAY "teprrp005" AT 4,3 ATTRIBUTE(RED) DISPLAY "Liquidacion Comision Por Cobro Plan Ranchero" AT 6,17 ATTRIBUTE(BLACK) LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime,letras.*,archivo INPUT BY NAME cod_cia,p_datos.* ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime,letras.*,archivo AFTER INPUT EXIT INPUT END INPUT LET parametro = "D" CALL elijeimpresion(parametro) RETURNING orden,destino,letras.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF START REPORT reporte_5 TO archivo DISPLAY " " AT 19,14 DISPLAY "<< Buscando Las Informaciones... Espere Por Favor >>" AT 19,14 DECLARE c_vende CURSOR FOR SELECT UNIQUE d.cod_emp,d.cod_emp_sec,a.fecha_factura,a.factura, b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.cantidad, b.cantidad * b.precio ,d.num_doc,d.fecha_orig,d.valor, a.porc_desc,' ',' ',' ',' ',' ', a.porc_desc,a.porc_itbi,a.neto FROM vetb00002 a,vetb00003 b ,cctb00005 c,cctb00001 d WHERE d.fecha_orig between p_datos.fecha_in and p_datos.fecha_fin and (a.fecha_factura > "01011994") and (a.factura = b.factura) and (a.cod_cia = cod_cia) and a.status_t is null and (b.cod_n = c.cod_n and b.cod_grupo = c.cod_grupo and b.cod_tipo = c.cod_tipo and b.cod_sec = c.cod_sec) and d.cod_emp_sec in (367,338) and d.tipo_doc = "PG" and d.aplica_a = a.factura and d.status_t is null DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14 FOREACH c_vende INTO vendedor.*,porciento,p_itbi,p_neto SELECT descrip_esp INTO vendedor.descrip_esp FROM intb00001 WHERE cod_n = vendedor.cod_n and cod_grupo = vendedor.cod_grupo and cod_tipo = vendedor.cod_tipo and cod_sec = vendedor.cod_sec SELECT nom1_emp,apell1_emp INTO vendedor.nombre_vend,vendedor.apellido_vend FROM adtb00003 WHERE num_emp = vendedor.sec_vend LET vendedor.vende = vendedor.sec_vend using "&&&&" LET vendedor.codigo = vendedor.cod_n using "&", vendedor.cod_grupo using "&", vendedor.cod_tipo using "&&", vendedor.cod_sec using "&&&" LET valor_desc = vendedor.precio * (porciento/100) LET vendedor.precio = vendedor.precio - valor_desc LET vendedor.precio = vendedor.precio + vendedor.precio * (p_itbi / 100) LET porc_rep = (vendedor.precio / p_neto) * 100 OUTPUT TO REPORT reporte_5 (vendedor.*,porc_rep,p_neto) END FOREACH FINISH REPORT reporte_5 #RUN imprime CALL fdestino(destino,archivo,imprime) CLEAR SCREEN END FUNCTION REPORT reporte_5(x,porc,p_neto1) DEFINE x RECORD cod_vend SMALLINT, sec_vend SMALLINT, fecha_factura DATE, factura INTEGER, cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, cantidad INTEGER , precio DECIMAL(10,2), recibo INTEGER, fecha DATE, valor_c DECIMAL(12,2), porc_venta DECIMAL(10,4), descrip_esp CHAR(30), nombre_vend CHAR(30), apellido_vend CHAR(30) , vendedor CHAR(6) , codigo CHAR(7) END RECORD DEFINE nombre_mes CHAR(10) DEFINE ii,total_clientes INTEGER DEFINE doce CHAR(6) DEFINE hora CHAR(5) DEFINE i SMALLINT DEFINE porc DECIMAL(10,4) DEFINE t_valor1,p_neto1,t_valor,valor DECIMAL(12,2) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 4 ORDER BY x.vendedor,x.factura,x.codigo,x.recibo FORMAT PAGE HEADER LET hora = time PRINT COLUMN 1, letras.doce, letras.negrillas_on PRINT COLUMN 1, "teprrp005", COLUMN 55, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 148, "Pag. ",pageno using "###" PRINT COLUMN 55, " Sistema de Tesoreria", COLUMN 148, today using "dd/mm/yyyy" PRINT COLUMN 55, " Liquidacion Comision Por Cobro Plan Ranchero", COLUMN 151, hora PRINT COLUMN 1, letras.negrillas_off IF cod_cia = 1 THEN PRINT COLUMN 1, "Rayovac Dominicana" ELSE PRINT COLUMN 1, "Distribuidora Dominicana de Pilas" END IF PRINT COLUMN 1, "Del ",p_datos.fecha_in using "dd/mm/yyyy"," Al ", p_datos.fecha_fin using "dd/mm/yyyy" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" , "------------------------------------------------------" PRINT COLUMN 20, "VALOR", COLUMN 80, "PORC.", COLUMN 92, "VALOR", COLUMN 101, "NUMERO", COLUMN 126, "VALOR", COLUMN 135, " VALOR" PRINT COLUMN 1, "FECHA", COLUMN 10, "FACTURA", COLUMN 20, "FACTURA", COLUMN 38, "PRODUCTO", COLUMN 80, "REPRES", COLUMN 92, "REPRES", COLUMN 101, "RECIBO", COLUMN 110, "FECHA", COLUMN 126, "COBRADO" , COLUMN 135, "REPRESENTA", COLUMN 148, "COMISION" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" , "------------------------------------------------------" SKIP 1 LINE BEFORE GROUP OF x.vendedor LET t_valor = 0 LET t_valor1 = 0 PRINT COLUMN 1,letras.doble_on,"VENDEDOR : ", x.nombre_vend clipped," ", x.apellido_vend clipped, letras.doble_off SKIP 1 LINE BEFORE GROUP OF x.factura PRINT COLUMN 1, x.fecha_factura using "dd/mm/yyyy", COLUMN 12, x.factura using "&&&&&&", COLUMN 20, p_neto1 using "###,###.##"; ON EVERY ROW PRINT COLUMN 38, x.cod_n using "&","-",x.cod_grupo using "&","-", x.cod_tipo using "&&","-",x.cod_sec using "&&&", " ", x.descrip_esp CLIPPED, COLUMN 80, porc USING "###.##", COLUMN 91, x.precio USING "###,###.##"; IF x.recibo is not null THEN IF x.valor_c < 0 THEN LET x.valor_c = x.valor_c * -1 END IF IF x.precio < x.valor_c THEN LET valor = x.valor_c * (porc / 100) ELSE LET valor = x.valor_c END IF PRINT COLUMN 102, x.recibo using "&&&&&&", COLUMN 110, x.fecha using "dd/mm/yyyy", COLUMN 120, x.valor_c using "##,###,###.##", COLUMN 134, valor USING "##,###.##", COLUMN 146, valor * .01275 USING "##,###.##" LET t_valor = (valor * .01275) + t_valor LET t_valor1 = valor + t_valor1 ELSE PRINT " " END IF AFTER GROUP OF x.vendedor SKIP 1 LINE PRINT COLUMN 1,letras.negrillas_on PRINT COLUMN 10, "TOTAL VENDEDOR --> ", COLUMN 87, GROUP SUM(x.precio) USING "###,###,###.##", COLUMN 130, t_valor1 USING "##,###,###.##", COLUMN 146, t_valor USING "##,###,###.##" PRINT COLUMN 1,letras.negrillas_off END REPORT