{ ------------------------------------------------------------------------------- PROGRAMA : VEPRRP010 OBJETIVO : Relacion de ventas diarias y acumuladas PROGRAMADOR : Ing. Juan Soto (Johnny) FECHA REALIZACION : Enero 08, 1993 MODIFICADO POR : Ing. Juan Soto (Johnny) FECHA MODIFICACION : Julio 25, 1995 DESCRIPCION : En los QUERYS se le agrego un JOIN para que buscara los registros que su fecha de creacion sea mayor a 1994-01-01 08:00 ------------------------------------------------------------------------------- } GLOBALS "veprgb000.4gl" DEFINE peri2,periodo,act,ant,hoy CHAR(4) FUNCTION veprrp010() DEFINE opcion CHAR(1) DEFINE mes_ini CHAR(6) DEFINE mes_fin CHAR(2) DEFINE select_dia,select_zona,select_cliente,select_pilas CHAR(1000) DEFINE p_mes,idx_d,registros,cuenta,peri,idx_t,idx_o,idx_e,idx_p,idx_m SMALLINT DEFINE n_encontre,p_ventas,esta,encontre,salir2,salir1,salir CHAR(1) DEFINE ventas_dia RECORD ventas CHAR(1), cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, cantidad_vend INTEGER, precio DECIMAL(12,2), prima LIKE vetb00002.prima_us END RECORD DEFINE vtas_acum RECORD ventas CHAR(1), cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, cantidad_vend INTEGER, precio DECIMAL(12,2), prima LIKE vetb00002.prima_us END RECORD DEFINE ano_ant RECORD ventas CHAR(1), cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, cantidad_pres INTEGER, precio DECIMAL(12,2), prima DECIMAL(8,2) END RECORD DEFINE ventas RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(4) , sub_control SMALLINT, ventas CHAR(1), cantidad_vend INTEGER, valor DECIMAL(12,2), cantidad_Pres INTEGER, valor_pres DECIMAL(12,2), unidad_acum DECIMAL(12,2), valor_acum DECIMAL(12,2), unidad_ant DECIMAL(12,2), valor_ant DECIMAL(12,2), codigo CHAR(7), grupo_venta CHAR(1) END RECORD OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM vefmrp010 FROM "vefmrp010" DISPLAY FORM vefmrp010 CALL pantalla() DISPLAY "veprrp010" AT 4,3 DISPLAY "Ventas Diarias y Acumuladas" AT 6,26 LET tipo_papel = 2 CALL msgrp000(tipo_papel) LET rango.fech_in = today INPUT BY NAME rango.fech_in,p_mes WITHOUT DEFAULTS AFTER FIELD p_mes IF p_mes is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD p_mes END IF IF p_mes > 12 THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD p_mes END IF 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 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 # Busca Los Movimientos de las Facturas LET hoy = MONTH(rango.fech_in) LET mes_ini = rango.fech_in LET ant = year(rango.fech_in) - 1 LET act = YEAR(rango.fech_in) LET periodo = act[3,4],p_mes using "&&" LET peri2 = ant[3,4],p_mes using "&&" LET peri = periodo # Buscando Pilas vendias del ano actual LET select_pilas = "SELECT b.ventas,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ", " sum(a.cantidad),sum(a.cantidad * a.precio*b.prima_us) ", "FROM vetb00003 a,vetb00002 b ,prdtable c ", "WHERE (b.fecha_factura between c.fecha_inicio and ?) and c.mes = ? and ", " c.ano = ? and (a.factura = b.factura) and (b.sec_vend != 8888) and ", " b.status_t is null and a.fech_crea > datetime (1994-01-01 08:00) ", " year to minute GROUP BY 1,2,3,4,5 ORDER BY 1,2,3,4 " DISPLAY "<< Estoy Buscando Ventas Del Ano Actual... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (BOLD,REVERSE) PREPARE busca_act FROM select_pilas DECLARE act SCROLL CURSOR FOR busca_act OPEN act USING rango.fech_in,p_mes,act # Buscando Pilas vendias del ano anterior LET select_zona = "SELECT b.ventas,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ", "sum(a.cantidad),sum(a.cantidad * a.precio*b.prima_us) ", "FROM vetb00003 a,vetb00002 b ,prdtable c ", "WHERE b.fecha_factura between c.fecha_inicio and c.fecha_corte and ", " c.mes = ? and ", " c.ano = ? and ", " a.factura = b.factura and ", " b.status_t is null and ", " a.fech_crea > datetime (1994-01-01 08:00) year to minute ", "GROUP BY 1,2,3,4,5 ", "ORDER BY 1,2,3,4 " DISPLAY "<< Estoy Buscando Ventas Ano Anterior ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (BOLD,REVERSE) PREPARE busca_ant FROM select_zona DECLARE ant SCROLL CURSOR FOR busca_ant OPEN ant USING p_mes,ant DISPLAY "<< Estoy Buscando Ventas Del Dia... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (BOLD,REVERSE) LET select_dia = "SELECT a.ventas,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec, ", " sum(b.cantidad),sum(b.cantidad * b.precio*a.prima_us) ", "FROM vetb00002 a,vetb00003 b ", " WHERE (a.factura = b.factura) and ", "(a.fecha_factura = ?) and ", "(a.sec_vend != 8888) and ", "a.status_t is null and ", " b.fech_crea > datetime (1994-01-01 08:00) year to minute ", " GROUP BY 1,2,3,4,5 ", " ORDER BY 1,2,3,4,5 " PREPARE busca_dia FROM select_dia DECLARE movi_dia SCROLL CURSOR FOR busca_dia OPEN movi_dia USING rango.fech_in # Busqueda de los codigos LET select_cliente = "SELECT unique d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,", "d.descrip_esp,d.unidad_med,' ' ", " FROM iptb00002 d ", " WHERE d.cod_n = a.cod_n and ", " d.cod_grupo = a.cod_grupo and ", " d.cod_tipo = a.cod_tipo and ", " d.cod_sec = a.cod_sec ", " and d.status_t is null ", " ORDER BY 2,3,4,5" PREPARE busca_movi FROM select_cliente DECLARE movi_curs SCROLL CURSOR FOR busca_movi OPEN movi_curs START REPORT acumuladas TO "jh" DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) SELECT count(*) INTO registros FROM iptb00002 WHERE (cod_n = 3 or cod_n = 6 or cod_n = 9) LET n_encontre = null LET cuenta = 0 LET identifica = null LET verdad = null LET idx = 1 LET idx_o = 1 LET idx_d = 1 LET salir1 = "N" LET idx_t = 1 WHILE salir1 != "S" FETCH ABSOLUTE idx_t movi_curs INTO ventas.* IF STATUS = NOTFOUND THEN LET idx_t = 1 LET idx = 1 LET idx_o = 1 LET idx_p = 1 LET ventas.ventas = "2" IF identifica = "S" THEN LET salir1 = "S" EXIT WHILE ELSE LET identifica = "S" # LET idx_t = idx_t + 1 CONTINUE WHILE END IF END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF IF ventas.ventas is null THEN LET ventas.ventas = "1" END IF IF identifica = "S" THEN LET ventas.ventas = "2" END IF LET idx_t = idx_t + 1 LET cuenta = cuenta + 1 LET salir = "N" WHILE salir != "S" FETCH ABSOLUTE idx_d movi_dia INTO ventas_dia.* IF status = notfound THEN LET idx_d = 1 EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF LET idx_d = idx_d + 1 IF ventas_dia.cod_n = ventas.cod_n and ventas_dia.cod_grupo = ventas.cod_grupo and ventas_dia.cod_tipo = ventas.cod_tipo and ventas_dia.cod_sec = ventas.cod_sec and ventas_dia.ventas = ventas.ventas THEN display ventas.cod_n, ventas.cod_grupo at 18,1 LET ventas.cantidad_vend = ventas_dia.cantidad_vend LET ventas.valor = ventas_dia.precio LET idx_d = 1 EXIT WHILE ELSE LET ventas.cantidad_vend = 0 LET ventas.valor = 0 END IF END WHILE LET salir = "N" WHILE salir != "S" FETCH ABSOLUTE idx act INTO vtas_acum.* IF status = notfound THEN LET idx = 1 EXIT WHILE END IF LET idx = idx + 1 IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF IF vtas_acum.cod_n = ventas.cod_n and vtas_acum.cod_grupo = ventas.cod_grupo and vtas_acum.cod_tipo = ventas.cod_tipo and vtas_acum.cod_sec = ventas.cod_sec and vtas_acum.ventas = ventas.ventas THEN LET ventas.unidad_acum = vtas_acum.cantidad_vend LET ventas.valor_acum = vtas_acum.precio END IF END WHILE LET salir = "N" WHILE salir != "S" FETCH ABSOLUTE idx_o ant INTO ano_ant.* IF status = notfound THEN LET idx_o = 1 EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF LET idx_o = idx_o + 1 LET ventas.unidad_ant = 0 LET ventas.valor_ant = 0 IF ano_ant.cod_n = ventas.cod_n and ano_ant.cod_grupo = ventas.cod_grupo and ano_ant.cod_tipo = ventas.cod_tipo and ano_ant.cod_sec = ventas.cod_sec and ano_ant.ventas = ventas.ventas THEN LET idx_o = 1 LET ventas.unidad_ant = ano_ant.cantidad_pres LET ventas.valor_ant = ano_ant.precio EXIT WHILE ELSE LET ventas.unidad_ant = 0 LET ventas.valor_ant = 0 END IF END WHILE LET ventas.codigo = ventas.cod_n using "&", ventas.cod_grupo using "&", ventas.cod_tipo using "&&", ventas.cod_sec using "&&&" LET ventas.grupo_venta = ventas.codigo[5] IF ventas.unidad_acum is null THEN LET ventas.unidad_acum = 0 END IF IF ventas.valor_acum is null THEN LET ventas.valor_acum = 0 END IF IF ventas.valor is null THEN LET ventas.valor = 0 END IF IF ventas.unidad_ant is null THEN LET ventas.unidad_ant = 0 END IF IF ventas.valor_ant is null THEN LET ventas.valor_ant = 0 END IF IF ventas.cantidad_vend is null THEN LET ventas.cantidad_vend = 0 END IF OUTPUT TO REPORT acumuladas(ventas.*,p_mes,p_mes) IF cuenta >= registros THEN LET ventas.ventas = "2" END IF LET ventas.cantidad_vend = 0 LET ventas.valor = 0 LET ventas.cantidad_pres = 0 LET ventas.valor_pres = 0 LET ventas.unidad_acum = 0 LET ventas.valor_acum = 0 LET ventas.unidad_ant = 0 LET ventas.valor_ant = 0 END WHILE FINISH REPORT acumuladas CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT acumuladas(x,peri1,p_mes1) DEFINE x RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(4) , sub_control SMALLINT, ventas CHAR(1), cantidad_vend INTEGER, valor DECIMAL(12,2), cantidad_Pres INTEGER, valor_pres DECIMAL(12,2), unidad_acum DECIMAL(12,2), valor_acum DECIMAL(12,2), unidad_ant DECIMAL(12,2), valor_ant DECIMAL(12,2), codigo CHAR(7), grupo_venta CHAR(1) END RECORD, p_mes1 SMALLINT DEFINE vendedor,imp,imp1 CHAR (1) DEFINE nombre,tipo1 CHAR(21) DEFINE nombre_mes1,nombre_dia,nombre_mes CHAR(11) DEFINE descrip_zone CHAR(30) DEFINE doble_on CHAR(3) DEFINE doble_off CHAR(3) DEFINE negrillas_on CHAR(6) DEFINE negrillas_off CHAR(6) DEFINE comp_on CHAR(3) DEFINE comp_off CHAR(3) DEFINE doce CHAR(3) DEFINE normal CHAR(6) DEFINE hora CHAR(5) DEFINE t_cantidad_pres,t_valor_pres,t_t_cantidad_pres,t_t_valor_pres, t_t_t_cantidad_pres, t_t_t_valor_pres,g_cantidad_vend,g_valor_vend, g_unidad_acum,g_valor_acum,g_g_cantidad_vend,g_g_valor_vend, g_g_unidad_acum,g_g_valor_acum,g_g_g_cantidad_vend,g_g_g_valor_vend, g_g_g_unidad_acum,g_g_g_valor_acum,g_unidad_ant,g_valor_ant, g_g_unidad_ant,g_g_valor_ant,g_g_g_unidad_ant,g_g_g_valor_ant, t1_cantidad_pres,t1_valor_pres,g1_cantidad_vend,g1_valor_vend, g1_unidad_acum,g1_valor_acum,g1_unidad_ant,g1_valor_ant DECIMAL(12,2) DEFINE peri1,d,m,i SMALLINT OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 4 ORDER BY x.ventas,x.grupo_venta,x.sub_control,x.codigo FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 71 LET negrillas_off = ASCII 27, ASCII 72 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 = (162 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, comp_on,negrillas_on PRINT COLUMN 1, "veprrp010", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 155, "Pag. ",pageno using "###" PRINT COLUMN 74, "Sistema de Ventas ", COLUMN 153, today using "dd/mm/yyyy" PRINT COLUMN 67, "Ventas Diarias y Acumuladas ", COLUMN 158, hora SKIP 1 LINES LET d = WEEKDAY(rango.fech_in) LET m = MONTH(rango.fech_in) LET d = d + 1 CALL meses() LET nombre_mes = mes1[m] LET nombre_mes1 = mes1[p_mes1] CALL f_dias() LET nombre_dia = dias[d] PRINT COLUMN 1, "Dia: ",nombre_dia clipped," ", DAY(rango.fech_in) using "<<<"," ", "de ",nombre_mes clipped," de ",YEAR(rango.fech_in) PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" , "--------------------------------------------------" , "-------------" PRINT COLUMN 58, "D i a r i a", COLUMN 80, "Acumulada de ",nombre_mes1 clipped, COLUMN 114, "Presupuesto Mes", COLUMN 140, "Ano Anterior de ",nombre_mes1 clipped PRINT COLUMN 2, "P r o d u c t o", COLUMN 50, "Unidades", COLUMN 69, "Valor", COLUMN 80, "Unidades", COLUMN 98, "Valor", COLUMN 111, "Unidades", COLUMN 126, "Valor", COLUMN 139, "Unidades", COLUMN 159, "Valor" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" , "--------------------------------------------------" , "-------------", negrillas_off IF t_cantidad_pres is null THEN LET t_cantidad_pres = 0 LET t1_cantidad_pres = 0 END IF IF t_valor_pres is null THEN LET t_valor_pres = 0 LET t1_valor_pres = 0 END IF IF t_t_cantidad_pres is null THEN LET t_t_cantidad_pres = 0 END IF IF t_t_valor_pres is null THEN LET t_t_valor_pres = 0 END IF IF t_t_t_cantidad_pres is null THEN LET t_t_t_cantidad_pres = 0 END IF IF t_t_t_valor_pres is null THEN LET t_t_t_valor_pres = 0 END IF BEFORE GROUP OF x.ventas SKIP 1 LINE IF x.ventas = "1" THEN LET nombre = "L O C A L" ELSE LET nombre = "E X P O R T A C I O N" END IF PRINT COLUMN 7,negrillas_on, nombre,negrillas_off SKIP 1 LINE AFTER GROUP OF x.codigo SELECT sum(cantidad),sum(valor) INTO x.cantidad_pres,x.valor_pres FROM vetb00017 WHERE mes=peri1 and ventas=x.ventas and cod_n=x.cod_n and cod_grupo=x.cod_grupo and cod_tipo = x.cod_tipo and cod_sec = x.cod_sec AND ano = act IF x.cantidad_pres is null THEN LET x.cantidad_pres = 0 END IF IF x.valor_pres is null THEN LET x.valor_pres = 0 END IF PRINT COLUMN 1, x.cod_n using "&","-", COLUMN 3, x.cod_grupo using "&","-", COLUMN 5, x.cod_tipo using "&&","-", COLUMN 8, x.cod_sec using "&&&", COLUMN 13, x.descrip_esp," ",x.unidad_med clipped, COLUMN 46, x.cantidad_vend using "#,###,###.##", COLUMN 60, x.valor using "###,###,###.##", COLUMN 74, x.unidad_acum using "###,###,###.##", COLUMN 90, x.valor_acum using "###,###,###.##", COLUMN 105, x.cantidad_pres using "###,###,###.##", COLUMN 120, x.valor_pres using "###,###,###.##", COLUMN 135, x.unidad_ant using "###,###,###.##", COLUMN 150, x.valor_ant using "###,###,###.##" LET t1_cantidad_pres = t1_cantidad_pres + x.cantidad_pres LET t1_valor_pres = t1_valor_pres + x.valor_pres IF g1_valor_vend is null THEN LET g1_cantidad_vend = 0 LET g1_valor_vend = 0 LET g1_unidad_acum = 0 LET g1_valor_acum = 0 LET g1_unidad_ant = 0 LET g1_valor_ant = 0 END IF LET g1_cantidad_vend = g1_cantidad_vend + x.cantidad_vend LET g1_valor_vend = g1_valor_vend + x.valor LET g1_unidad_acum = g1_unidad_acum + x.unidad_acum LET g1_valor_acum = g1_valor_acum + x.valor_acum LET g1_unidad_ant = g1_unidad_ant + x.unidad_ant LET g1_valor_ant = g1_valor_ant + x.valor_ant AFTER GROUP OF x.sub_control SKIP 1 LINE PRINT COLUMN 6, "SUB-TOTAL ",x.sub_control clipped, COLUMN 45, g1_cantidad_vend using "#,###,###.##", COLUMN 59, g1_valor_vend using "###,###,###.##", COLUMN 73, g1_unidad_acum using "###,###,###.##", COLUMN 89, g1_valor_acum using "###,###,###.##", COLUMN 104, t1_cantidad_pres using "###,###,###.##", COLUMN 119, t1_valor_pres using "###,###,###.##", COLUMN 134, g1_unidad_ant using "###,###,###.##", COLUMN 149, g1_valor_ant using "###,###,###.##" LET t_cantidad_pres = t_cantidad_pres + t1_cantidad_pres LET t_valor_pres = t_valor_pres + t1_valor_pres LET t1_valor_pres = 0 LET t1_cantidad_pres = 0 IF g_valor_vend is null THEN LET g_cantidad_vend = 0 LET g_valor_vend = 0 LET g_unidad_acum = 0 LET g_valor_acum = 0 LET g_unidad_ant = 0 LET g_valor_ant = 0 END IF LET g_cantidad_vend = g1_cantidad_vend + g_cantidad_vend LET g_valor_vend = g1_valor_vend + g_valor_vend LET g_unidad_acum = g1_unidad_acum + g_unidad_acum LET g_valor_acum = g1_valor_acum + g_valor_acum LET g_unidad_ant = g1_unidad_ant + g_unidad_ant LET g_valor_ant = g1_valor_ant + g_valor_ant LET g1_cantidad_vend = 0 LET g1_valor_vend = 0 LET g1_unidad_acum = 0 LET g1_valor_acum = 0 LET g1_unidad_ant = 0 LET g1_valor_ant = 0 SKIP 1 LINE AFTER GROUP OF x.grupo_venta IF x.grupo_venta = "1" THEN LET tipo1 = "SUPERCELL" END IF IF x.grupo_venta = "2" THEN LET tipo1 = "H. DUTY" END IF IF x.grupo_venta = "3" THEN LET tipo1 = "ALKALINAS" END IF IF x.grupo_venta = "4" THEN LET tipo1 = "LAMPARAS" END IF IF x.grupo_venta = "5" THEN LET tipo1 = "FOCOS" END IF IF x.grupo_venta = "6" THEN LET tipo1 = "BOMBILLOS" END IF IF x.grupo_venta = "7" THEN LET tipo1 = "EXIBIDORES" END IF PRINT COLUMN 1, negrillas_on, COLUMN 9, "TOTAL ",tipo1 clipped, COLUMN 48, g_cantidad_vend using "#,###,###.##", COLUMN 62, g_valor_vend using "###,###,###.##", COLUMN 76, g_unidad_acum using "###,###,###.##", COLUMN 92, g_valor_acum using "###,###,###.##", COLUMN 107, t_cantidad_pres using "###,###,###.##", COLUMN 122, t_valor_pres using "###,###,###.##", COLUMN 137, g_unidad_ant using "###,###,###.##", COLUMN 152, g_valor_ant using "###,###,###.##", negrillas_off LET t_t_cantidad_pres = t_t_cantidad_pres + t_cantidad_pres LET t_t_valor_pres = t_t_valor_pres + t_valor_pres LET t_cantidad_pres = 0 LET t_valor_pres = 0 IF g_g_valor_vend is null THEN LET g_g_cantidad_vend = 0 LET g_g_valor_vend = 0 LET g_g_unidad_acum = 0 LET g_g_valor_acum = 0 LET g_g_unidad_ant = 0 LET g_g_valor_ant = 0 END IF LET g_g_cantidad_vend = g_g_cantidad_vend + g_cantidad_vend LET g_g_valor_vend = g_g_valor_vend + g_valor_vend LET g_g_unidad_acum = g_g_unidad_acum + g_unidad_acum LET g_g_valor_acum = g_g_valor_acum + g_valor_acum LET g_g_unidad_ant = g_g_unidad_ant + g_unidad_ant LET g_g_valor_ant = g_g_valor_ant + g_valor_ant LET g_cantidad_vend = 0 LET g_valor_vend = 0 LET g_unidad_acum = 0 LET g_valor_acum = 0 LET g_unidad_ant = 0 LET g_valor_ant = 0 SKIP 1 LINE AFTER GROUP OF x.ventas IF x.ventas = "1" THEN LET nombre = "L O C A L" ELSE LET nombre = "E X P O R T A C I O N" END IF SKIP 1 LINE PRINT COLUMN 7, negrillas_on,"TOTAL ",nombre clipped, COLUMN 48, g_g_cantidad_vend using "#,###,###.##", COLUMN 62, g_g_valor_vend using "###,###,###.##", COLUMN 76, g_g_unidad_acum using "###,###,###.##", COLUMN 92, g_g_valor_acum using "###,###,###.##", COLUMN 107, t_t_cantidad_pres using "###,###,###.##", COLUMN 122, t_t_valor_pres using "###,###,###.##", COLUMN 137, g_g_unidad_ant using "###,###,###.##", COLUMN 152, g_g_valor_ant using "###,###,###.##", negrillas_off LET t_t_t_cantidad_pres = t_t_t_cantidad_pres + t_t_cantidad_pres LET t_t_t_valor_pres = t_t_t_valor_pres + t_t_valor_pres LET t_t_cantidad_pres = 0 LET t_t_valor_pres = 0 IF g_g_g_valor_vend is null THEN LET g_g_g_cantidad_vend = 0 LET g_g_g_valor_vend = 0 LET g_g_g_unidad_acum = 0 LET g_g_g_valor_acum = 0 LET g_g_g_unidad_ant = 0 LET g_g_g_valor_ant = 0 END IF LET g_g_g_cantidad_vend = g_g_g_cantidad_vend + g_g_cantidad_vend LET g_g_g_valor_vend = g_g_g_valor_vend + g_g_valor_vend LET g_g_g_unidad_acum = g_g_g_unidad_acum + g_g_unidad_acum LET g_g_g_valor_acum = g_g_g_valor_acum + g_g_valor_acum LET g_g_g_unidad_ant = g_g_g_unidad_ant + g_g_unidad_ant LET g_g_g_valor_ant = g_g_g_valor_ant + g_g_valor_ant LET g_g_cantidad_vend = 0 LET g_g_valor_vend = 0 LET g_g_unidad_acum = 0 LET g_g_valor_acum = 0 LET g_g_unidad_ant = 0 LET g_g_valor_ant = 0 IF x.ventas = "1" THEN SKIP TO TOP OF PAGE END IF ON LAST ROW SKIP 1 LINE PRINT COLUMN 7, negrillas_on,"TOTAL GENERAL ", COLUMN 47, g_g_g_cantidad_vend using "##,###,###.##", COLUMN 62, g_g_g_valor_vend using "###,###,###.##", COLUMN 76, g_g_g_unidad_acum using "###,###,###.##", COLUMN 92, g_g_g_valor_acum using "###,###,###.##", COLUMN 107, t_t_t_cantidad_pres using "###,###,###.##", COLUMN 122, t_t_t_valor_pres using "###,###,###.##", COLUMN 137, g_g_g_unidad_ant using "###,###,###.##", COLUMN 152, g_g_g_valor_ant using "###,###,###.##", negrillas_off LET t_t_t_cantidad_pres = 0 LET t_t_t_valor_pres = 0 LET g_g_g_cantidad_vend = 0 LET g_g_g_valor_vend = 0 LET g_g_g_unidad_acum = 0 LET g_g_g_valor_acum = 0 LET g_g_g_unidad_ant = 0 LET g_g_g_valor_ant = 0 PRINT comp_off END REPORT FUNCTION f_dias() LET dias[1] = "Domingo" LET dias[2] = "Lunes" LET dias[3] = "Martes" LET dias[4] = "Miercoles" LET dias[5] = "Jueves" LET dias[6] = "Viernes" LET dias[7] = "Sabado" RUN "type C:\\archivo > %USPRINT%" END FUNCTION