{ ------------------------------------------------------------------------------- PROGRAMA : CCPRRP037 OBJETIVO : Liquidacion Comision Por Cobros Plan Ranchero PROGRAMADOR : Juan Fco. Soto FECHA REALIZACION : Abril 06, 1995 ------------------------------------------------------------------------------- } GLOBALS "ccprgb000.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 ccprrp037() DEFINE imprime CHAR(1) DEFINE vendedor RECORD 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 ccfmrp037 FROM "ccfmrp037" DISPLAY FORM ccfmrp037 CALL pantalla() DISPLAY "ccprrp037" AT 4,3 DISPLAY "Liquidacion Comision Por Cobro Plan Ranchero" AT 6,17 LET tipo_papel = 2 CALL msgrp000(tipo_papel) INPUT BY NAME cod_cia,p_datos.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF START REPORT reporte_37 TO "C:\\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_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 > "010194") 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 FOREACH c_vende INTO vendedor.*,porciento,p_itbi,p_neto DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14 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_37 (vendedor.*,porc_rep,p_neto) END FOREACH FINISH REPORT reporte_37 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_37(x,porc,p_neto1) DEFINE x RECORD 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 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 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 doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 027, ASCII 98 LET negrillas_off = ASCII 027, ASCII 99 LET comp_on = ASCII 031 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 LET hora = time LET lj = (160 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, doce, negrillas_on PRINT COLUMN 1, "ccprrp037", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 153, "Pag. ",pageno using "###" PRINT COLUMN 57, " Sistema de Cuentas Por Cobrar", COLUMN 153, today using "dd/mm/yy" PRINT COLUMN 57, " Liquidacion Comision Por Cobro Plan Ranchero", COLUMN 156, hora PRINT COLUMN 1, negrillas_off PRINT COLUMN 1, "Del ",p_datos.fecha_in using "dd/mm/yy"," Al ", p_datos.fecha_fin using "dd/mm/yy" PRINT COLUMN 1, "-----------------------------------------------------", "-----------------------------------------------------", "------------------------------------------------------" PRINT COLUMN 20, "VALOR", COLUMN 80, "PORC.", COLUMN 92, "VALOR", COLUMN 101, "NUMERO", COLUMN 126, "VALOR", COLUMN 136, " 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 136, "REPRESENTA", COLUMN 152, "COMISION" PRINT COLUMN 1, "-----------------------------------------------------", "-----------------------------------------------------", "------------------------------------------------------" SKIP 1 LINE BEFORE GROUP OF x.vendedor LET t_valor = 0 LET t_valor1 = 0 PRINT COLUMN 1,doble_on,"VENDEDOR : ", x.nombre_vend clipped," ", x.apellido_vend clipped, doble_off SKIP 1 LINE BEFORE GROUP OF x.factura PRINT COLUMN 1, x.fecha_factura using "dd/mm/yy", COLUMN 10, 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/yy", COLUMN 120, x.valor_c using "##,###,###.##", COLUMN 134, valor USING "##,###,###.##", COLUMN 148, 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,negrillas_on PRINT COLUMN 10, "TOTAL VENDEDOR --> ", COLUMN 87, GROUP SUM(x.precio) USING "###,###,###.##", COLUMN 134, t_valor1 USING "##,###,###.##", COLUMN 148, t_valor USING "##,###,###.##" PRINT COLUMN 1,negrillas_off END REPORT