{ ------------------------------------------------------------------------------- PROGRAMA : EDPRRP050 OBJETIVO : Listar las Entrada de Diario Devolusiones PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Julio 28, 1993 ------------------------------------------------------------------------------- } SCHEMA smarmotech GLOBALS DEFINE criterio char(1000) DEFINE cod_mov,cod_bodega char(2) DEFINE fecha_lq LIKE cttb00013.fecha_lq DEFINE p_companias RECORD LIKE companias.* DEFINE primera,salir,tipo_costo CHAR(1) DEFINE select_ac,select_ant,select_p CHAR(1000) DEFINE idx_ac,ano,idx_a,idx_c,longitud,numero_msg,i SMALLINT DEFINE ano_act,c_ano CHAR(4) DEFINE fecha_2 CHAR(8) DEFINE fecha_ini_per CHAR(8), cgtb60 RECORD LIKE cgtb00060.*, meses RECORD LIKE mestable.* DEFINE acumulado_a RECORD cod_mov LIKE intb00005.cod_mov, cod_n SMALLINT, cod_grupo SMALLINT, cod_Tipo SMALLINT, cod_Sec SMALLINT, consumo LIKE iptb00006.cantidad_2, material LIKE cttb00013.costo_lq, labor LIKE iptb00004.labor, gasto_ind LIKE iptb00004.gastos END RECORD DEFINE arr_entrada ARRAY[40] OF RECORD cuenta_no LIKE cgtb00001.cuenta_no, depto LIKE cgtb00004.departamento, debito LIKE cgtb00004.debito, credito LIKE cgtb00004.credito END RECORD DEFINE acumulado_ac RECORD cod_mov LIKE intb00005.cod_mov, cod_n SMALLINT, cod_grupo SMALLINT, cod_Tipo SMALLINT, cod_Sec SMALLINT, consumo INTEGER, cantidad LIKE vetb00014.cantidad END RECORD DEFINE costos RECORD ventas CHAR(1), cod_n SMALLINT, cod_grupo SMALLINT, cod_Tipo SMALLINT, cod_Sec SMALLINT, mes CHAR(2) END RECORD ###### Variables para busqueda de rango de fecha DEFINE detalle4,detalle CHAR(30), parametro CHAR(2), orden CHAR(1), destino CHAR(1) DEFINE mes SMALLINT DEFINE tasa DECIMAL(5,2) DEFINE p_fecha,fecha1, fecha2 DATE DEFINE nominas CHAR(1) DEFINE entra CHAR(14) DEFINE entra1 CHAR(5) DEFINE tipo_papel,p_ano SMALLINT DEFINE afecta CHAR(1) DEFINE mano_ob,material,material6,gasto_ind DECIMAL(12,2) ###### Variables para almacenar los datos selecionados DEFINE selec5, selec6 CHAR(1500) ###### Variables que la almacenan la informacion enviada al reporte DEFINE diario1 RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, consumo LIKE iptb00006.cantidad_2, material DECIMAL(12,2), mano_ob DECIMAL(12,2), gasto_ind DECIMAL(12,2) END RECORD, m_codigo LIKE iptb00002.codigo DEFINE acumulado RECORD cod_mov LIKE iptb00006.cod_mov, cod_cia LIKE iptb00006.cod_cia, cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp CHAR(35), unidad_med LIKE intb00001.unidad_med, descrip_ing LIKE intb00001.descrip_ing, descrip_mov LIKE intb00005.descrip_mov, consumo INTEGER, codigo LIKE iptb00002.codigo, cuenta_m LIKE iptb00005.cuenta_1, cuenta_l LIKE iptb00005.cuenta_2, cuenta_g LIKE iptb00005.cuenta_3, cuenta_cia LIKE compania.cuenta_no, departamento LIKE adtb00001.departamento, material LIKE cttb00013.costo_lq, cod_bodega LIKE intb00009.cod_bodega, bodega LIKE intb00009.descripcion, labor LIKE iptb00004.labor, gasto_ind LIKE iptb00004.gasto_ind, clave CHAR(5), cuenta_inv1 LIKE companias.cuenta_no_inv1 END RECORD DEFINE diario2 RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, costo DECIMAL(12,2) END RECORD DEFINE salir1 CHAR(1) DEFINE idx INTEGER DEFINE letras RECORD negrillas_on CHAR(6), negrillas_off CHAR(6), doble_on CHAR(6), doble_off CHAR(6), comp_on CHAR(6), comp_off CHAR(6), doce CHAR(6), normal CHAR(6) END RECORD DEFINE impresor,printer SMALLINT, archivo,archivo1 CHAR(80),imprime,imprime1 CHAR(80) END GLOBALS MAIN DEFER INTERRUPT CALL edprrp050() END MAIN FUNCTION edprrp050() DEFINE entrada_d CHAR(1), ch_ano CHAR(4) OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 ##### Abriendo y desplegando el formulario de captura de datos ##### Abriendo y desplegando el formulario de captura de datos # Busca parametros LET cgtb60.entrada_datos = NULL SELECT a.* INTO cgtb60.* FROM cgtb00060 a WHERE a.codigo_lote = "IP" LET afecta = cgtb60.afecta SELECT a.* INTO meses.* FROM mestable a WHERE a.mes = cgtb60.mes SELECT MAX(a.detalle) INTO detalle FROM cgtb00059 a WHERE a.codigo_lote = "IP" AND a.entrada_no = 50 LET ch_ano = cgtb60.ano USING "<<<<" LET detalle = detalle CLIPPED," MES DE ",meses.descrip CLIPPED,"/",ch_ano[3,4] LET fecha1 = cgtb60.fecha_ini LET fecha2 = cgtb60.fecha_fin LET entra = "ED.96-001/",cgtb60.mes USING "<<",ch_ano[3,4] LET impresor = FGL_GETENV("IMP") CALL defecto(impresor) RETURNING imprime, letras.*,archivo LET destino = "I" IF cgtb60.entrada_datos IS NULL THEN OPEN FORM edfmrp050 FROM "edfmrp050" DISPLAY FORM edfmrp050 CALL pantalla() DISPLAY "edprrp050" AT 4,3 ATTRIBUTE(RED) DISPLAY "Entrada de Diario de Devoluciones " AT 6,22 ATTRIBUTE(BLACK) #LET impresor = FGL_GETENV("IMP") LET tipo_papel = 1 CALL msgrp000(tipo_papel) #CALL defecto(impresor) RETURNING imprime, letras.*,archivo LET entrada_d = "S" ###### Aceptando los valores para el rango de fecha INPUT BY NAME entra,fecha1,fecha2,afecta,detalle,tipo_costo ON KEY (CONTROL-P) CALL busca_printer() RETURNING imprime, letras.*,archivo AFTER FIELD entra LET entra = entra clipped LET longitud = LENGTH(entra) IF longitud != 14 THEN LET numero_msg = 77 CALL msg(numero_msg) NEXT FIELD entra END IF SELECT unique a.ref FROM cgtb00004 a WHERE a.ref = entra IF STATUS != NOTFOUND THEN ERROR "(12) REGISTRO EXISTE" # NEXT FIELD entra END IF LET entra1 = entra BEFORE FIELD fecha1 SELECT MAX(a.fecha) INTO p_fecha FROM cgtb00004 a WHERE a.ref[1,5] = entra1 LET fecha1 = p_fecha + 1 DISPLAY BY NAME fecha1 AFTER FIELD fecha1 IF fecha1 IS NULL THEN ERROR "(16) CAMPO EN BLANCO" NEXT FIELD fecha1 END IF IF fecha1 <= p_fecha THEN ERROR "(179) EXISTE ENTRADA DE DIARIO CON ESA FECHA" # NEXT FIELD fecha1 END IF AFTER FIELD fecha2 IF fecha2 is null THEN ERROR "(16) CAMPO EN BLANCO" NEXT FIELD fecha2 END IF IF fecha1 > fecha2 THEN ERROR "(149) FECHA NO PUEDE SER MAYOR QUE LA ANTERIOR" # NEXT FIELD fecha1 END IF SELECT MAX(a.ano) INTO p_ano FROM prdtable a WHERE a.fecha_inicio <= fecha2 ###### Selecionando en rango de fecha de la tabla de periodo para el fecha2 SELECT UNIQUE a.ref FROM cgtb00004 a where a.ref = entra IF STATUS != NOTFOUND THEN ERROR "(12) REGISTRO EXISTE" # NEXT FIELD fecha2 END IF AFTER INPUT IF INT_FLAG THEN ERROR "(2) OPERACION CANCELADA" LET INT_FLAG = false RETURN END IF END INPUT CONSTRUCT BY NAME criterio ON c.cod_mov,c.cod_bodega ##### Creando la facilidad para cancelar proceso con DELETE O SUPR LET parametro = "D" CALL elijeimpresion(parametro) RETURNING orden,destino,letras.* END IF IF int_flag THEN ERROR "(2) OPERACION CANCELADA" LET int_flag = false RETURN END IF # Busca la informacion requerida DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) { LET select_ac = "SELECT c.cod_mov,c.cod_cia,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec, ", " a.descrip_Esp,a.unidad_med,d.descrip_mov,SUM(c.cantidad_2),d.cuenta_1,d.cuenta_2,d.cuenta_3, ", " f.departamento, g.material,g.labor,g.gasto_ind ", "FROM iptb00006 c,intb00001 a,iptb00005 d,intb00009 f,iptb00004 g ", "WHERE c.cod_n = a.cod_n and c.cod_grupo = a.cod_grupo and c.cod_tipo = a.cod_tipo and ", " c.cod_sec = a.cod_Sec and c.cod_mov = d.cod_mov and ", "c.fecha between ? and ? and c.bodega = f.cod_bodega and ", " c.cod_n = g.cod_n and c.cod_Grupo = g.cod_grupo and c.cod_tipo = g.cod_tipo and ", " c.cod_Sec = g.cod_Sec and g.ano = ? and g.mes_fin = '12' and ", " c.status_t is NULL AND c.cod_mov in (11,25) ", "GROUP BY c.cod_Cia,c.cod_mov,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,a.descrip_Esp,a.unidad_med,d.descrip_mov, ", " d.cuenta_1,d.cuenta_2,d.cuenta_3,f.departamento, g.material,g.labor,g.gasto_ind ", "ORDER BY c.cod_mov,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec " } LET select_ac = "SELECT distinct c.cod_mov,c.cod_cia,g.cod_n,g.cod_grupo,g.cod_tipo,g.cod_sec, ", " a.descrip_Esp,a.unidad_med,a.descrip_ing,d.descrip_mov,SUM(c.cantidad_2),", "d.cuenta_1,d.cuenta_2,d.cuenta_3, ", " f.departamento, f.cod_bodega,f.descripcion ", "FROM iptb00006 c,intb00001 a,iptb00005 d,intb00009 f ", "WHERE c.cod_n = a.cod_n and c.cod_grupo = a.cod_grupo and c.cod_tipo = a.cod_tipo and ", " c.cod_sec = a.cod_Sec and d.cod_mov = c.cod_mov and ", "g.fecha_lq between ? and ? and c.bodega = f.cod_bodega and ", " and c.status_t is NULL and ", criterio clipped, "GROUP BY c.cod_Cia,c.cod_mov,a.descrip_Esp,a.unidad_med,a.descrip_ing,d.descrip_mov, ", " d.cuenta_1,d.cuenta_2,d.cuenta_3,f.departamento, g.costo_lq,f.cod_bodega,f.descripcion ", "ORDER BY f.cod_bodega,c.cod_mov " PREPARE busca_ant FROM select_ac DECLARE actual SCROLL CURSOR FOR busca_ant OPEN actual USING fecha1,fecha2 DISPLAY " " AT 19,14 ##### Loop para enviar informacion al reporte LET primera = "S" LET impresor = FGL_GETENV("IMP") CALL defecto(impresor) RETURNING imprime, letras.*,archivo START REPORT opera TO archivo LET archivo1 = archivo LET imprime1 = imprime LET impresor = FGL_GETENV("IMP") CALL defecto(impresor) RETURNING imprime, letras.*,archivo START REPORT entrada50 TO archivo DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) WHILE status != notfound FETCH actual INTO acumulado.cod_mov,acumulado.cod_cia,acumulado.cod_n,acumulado.cod_grupo, acumulado.cod_tipo,acumulado.cod_sec,acumulado.descrip_Esp,acumulado.unidad_med, acumulado.descrip_ing, acumulado.descrip_mov, acumulado.consumo,acumulado.cuenta_m,acumulado.cuenta_l,acumulado.cuenta_g, acumulado.departamento,acumulado.cod_bodega,acumulado.bodega IF STATUS = NOTFOUND THEN EXIT WHILE END IF IF int_flag THEN LET int_flag = false RETURN END IF LET acumulado.material = 0 LET acumulado.labor = 0 LET acumulado.gasto_ind = 0 IF tipo_costo = 'S' THEN SELECT MAX(a.ano) INTO p_ano FROM prdtable a WHERE a.fecha_inicio <= fecha1 SELECT a.material,a.labor,a.gasto_ind, max(a.mes_ini),max(a.mes_fin) INTO acumulado.material,acumulado.labor,acumulado.gasto_ind FROM iptb00004 a WHERE a.cod_n = acumulado.cod_n and a.cod_tipo = acumulado.cod_tipo and a.cod_grupo = acumulado.cod_grupo and a.cod_sec = acumulado.cod_sec and a.ventas = "1" and a.ano = p_ano AND a.status_t is NULL GROUP BY a.material,a.labor,a.gasto_ind ELSE SELECT MAX(a.fecha_lq) INTO fecha_lq FROM cttb00013 a WHERE a.cod_n = acumulado.cod_n AND a.cod_grupo = acumulado.cod_grupo AND a.cod_tipo = acumulado.cod_tipo AND a.cod_sec = acumulado.cod_sec AND a.status_t is NULL SELECT AVG(a.costo_lq) INTO acumulado.material FROM cttb00013 a WHERE a.cod_n = acumulado.cod_n AND a.cod_grupo = acumulado.cod_grupo AND a.cod_tipo = acumulado.cod_tipo AND a.cod_sec = acumulado.cod_sec AND a.status_t is NULL AND a.fecha_lq = fecha_lq END IF LET acumulado.clave = acumulado.cod_n using "<", acumulado.departamento using "<<<<" OUTPUT TO REPORT opera(acumulado.*,fecha1,fecha2,entra,detalle) OUTPUT TO REPORT entrada50(acumulado.*,fecha1,fecha2,entra,detalle) END WHILE FINISH REPORT opera FINISH REPORT entrada50 CALL fdestino(destino,archivo1,imprime1) CALL fdestino(destino,archivo,imprime) END FUNCTION REPORT opera(x,fecha1,fecha2,entrada,detalle1) DEFINE x RECORD cod_mov LIKE iptb00006.cod_mov, cod_cia LIKE iptb00006.cod_cia, cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp CHAR(35), unidad_med LIKE intb00001.unidad_med, descrip_ing LIKE intb00001.descrip_ing, descrip_mov LIKE intb00005.descrip_mov, consumo INTEGER, codigo LIKE iptb00002.codigo, cuenta_m LIKE iptb00005.cuenta_1, cuenta_l LIKE iptb00005.cuenta_2, cuenta_g LIKE iptb00005.cuenta_3, cuenta_cia LIKE compania.cuenta_no, departamento LIKE adtb00001.departamento, material LIKE cttb00013.costo_lq, cod_bodega LIKE intb00009.cod_bodega, bodega LIKE intb00009.descripcion, labor LIKE iptb00004.labor, gasto_ind LIKE iptb00004.gasto_ind, clave CHAR(5), cuenta_inv1 LIKE companias.cuenta_no_inv1 END RECORD, depto LIKE adtb00001.departamento DEFINE tt INTEGER DEFINE fecha1,fecha2 DATE DEFINE l SMALLINT DEFINE c_ano1 char(4) DEFINE hora CHAR(5) DEFINE total_p,total_m DECIMAL(12,2) DEFINE total_material,total_labor,total_gasto_ind,t_t_total,t_t_t_total, t_total_material,t_total_labor,t_total_gasto_ind,t_cantidad DECIMAL (12,2) DEFINE ttotal_material,ttotal_labor,ttotal_gasto_ind,tt_t_total,tt_t_t_total, tt_total_material,tt_total_labor,tt_total_gasto_ind,tt_cantidad DECIMAL (12,2) DEFINE total1,material6,material1,mano_ob1,gasto1,debito,credito DECIMAL(12,2) DEFINE entrada CHAR(14), i SMALLINT DEFINE detalle4,detalle1 CHAR(30) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 ORDER BY x.cod_bodega,x.cod_mov,x.cod_cia,x.codigo,x.cod_grupo,x.cod_tipo,x.cod_sec FORMAT FIRST PAGE HEADER LET hora = time PRINT COLUMN 1, letras.comp_off,"edprrp050", COLUMN 23, "R O S S Y M U E B L E S", COLUMN 75, "Pag. ",pageno using "###" PRINT COLUMN 35, "Sistema de Contabilidad", COLUMN 75, today using "dd/mm/yyyy" PRINT COLUMN 29, "Entrada de Diario Costo de Ventas", COLUMN 78, hora PRINT COLUMN 34, "Del ",fecha1 USING "dd/mm/yyyy", " Al ",fecha2 USING "dd/mm/yyyy" PRINT letras.doce,letras.comp_on SKIP 1 LINES PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "----------------------------" PRINT COLUMN 139, "Gasto", COLUMN 156, "Costo" PRINT COLUMN 4, "Movimiento", COLUMN 66, "Cantidad", 3 spaces, "Material", 10 spaces, "Total" { 9 spaces, "Labor", 10 spaces, "Total", 10 spaces, "Indirecto", 10 spaces, "Total", 9 spaces, "Total" } PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "----------------------------" SKIP 1 LINE BEFORE GROUP OF x.cod_bodega PRINT COLUMN 3,x.bodega BEFORE GROUP OF x.cod_mov LET t_cantidad = 0 LET t_t_t_total = 0 LET total_material = 0 LET total_labor = 0 LET total_gasto_ind = 0 LET t_total_material = 0 LET t_total_labor = 0 LET t_total_gasto_ind = 0 LET t_t_total = 0 PRINT COLUMN 1, x.cod_mov using "&&", COLUMN 7, x.descrip_mov # SKIP 1 LINE # PRINT COLUMN 4, "Productos " # LET total_m = 0 BEFORE GROUP OF x.cod_cia IF primera = "S" THEN LET primera = "N" FOR i = 1 TO 40 LET arr_entrada[i].debito = 0 LET arr_entrada[i].credito = 0 END FOR END IF SKIP 1 LINE LET tt_cantidad = 0 LET tt_t_t_total = 0 LET ttotal_material = 0 LET ttotal_labor = 0 LET ttotal_gasto_ind = 0 LET tt_total_material = 0 LET tt_total_labor = 0 LET tt_total_gasto_ind = 0 LET tt_t_total = 0 BEFORE GROUP OF x.codigo IF idx IS NULL THEN LET idx = 1 END IF SELECT a.descripcion INTO nombre_g FROM cotb00051 a WHERE a.codigo = x.codigo PRINT letras.negrillas_on,nombre_g,letras.negrillas_off SKIP 1 LINE ON EVERY ROW IF x.consumo IS NOT NULL THEN LET t_cantidad = t_cantidad + x.consumo LET total_material = x.material * x.consumo LET total_labor = x.labor * x.consumo LET total_gasto_ind = x.gasto_ind * x.consumo LET t_t_total = total_material + total_labor + total_gasto_ind LET t_t_t_total = t_t_total + t_t_t_total LET tt_cantidad = tt_cantidad + x.consumo LET ttotal_material = x.material * x.consumo LET ttotal_labor = x.labor * x.consumo LET ttotal_gasto_ind = x.gasto_ind * x.consumo LET tt_t_total = ttotal_material + total_labor + total_gasto_ind LET tt_t_t_total = tt_t_total + tt_t_t_total LET t_total_material = t_total_material + total_material LET t_total_labor = t_total_labor + total_labor LET t_total_gasto_ind = t_total_gasto_ind + total_gasto_ind LET tt_total_material = tt_total_material + ttotal_material LET tt_total_labor = tt_total_labor + ttotal_labor LET tt_total_gasto_ind = tt_total_gasto_ind + ttotal_gasto_ind 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 clipped," ",x.descrip_ing clipped, COLUMN 65, x.consumo USING "##,###,###", 2 SPACES, x.material USING "##,###.##", 2 SPACES, total_material using "##,###,###.##" { 2 SPACES, x.labor using "##,###.##", 2 SPACES, total_labor using "#,###,###.##", 2 SPACES, x.gasto_ind using "##,###.##", 2 SPACES, total_gasto_ind using "#,###,###.##", 2 SPACES, t_t_total using "##,###,###.##" } END IF AFTER GROUP OF x.codigo PRINT letras.negrillas_on PRINT COLUMN 3, "Sub Total ----> ",depto USING "<<<<", COLUMN 61, GROUP SUM(x.consumo) using "###,###,###.##", 14 SPACES, GROUP SUM(x.material*x.consumo) USING "###,###,###.##" #13 SPACES, GROUP SUM(x.labor*x.consumo) USING "###,###.##" # 13 SPACES, GROUP SUM(x.gasto_ind*x.consumo) USING "##,###,###.##", # 2 SPACES, GROUP SUM(x.material*x.consumo) + # GROUP SUM(x.labor*x.consumo) + # GROUP SUM(x.gasto_ind*x.consumo) using "##,###,###.##" PRINT letras.negrillas_off IF material6 IS NULL THEN LET material6 = 0 END IF IF material1 IS NULL THEN LET material1 = 0 END IF IF mano_ob1 IS NULL THEN LET mano_ob1 = 0 END IF IF gasto1 IS NULL THEN LET gasto1 = 0 END IF AFTER GROUP OF x.cod_bodega PRINT COLUMN 3, "Total ", x.bodega clipped," "," ---->", COLUMN 61, GROUP SUM(x.consumo) using "###,###,###.##", 14 SPACES, GROUP SUM(x.material*x.consumo) USING "###,###,###.##" # 13 SPACES, GROUP SUM(x.labor*x.consumo) USING "###,###.##", #13 SPACES, GROUP SUM(x.gasto_ind*x.consumo) USING "##,###,###.##", #2 SPACES, GROUP SUM(x.material*x.consumo) + # GROUP SUM(x.labor*x.consumo) + # GROUP SUM(x.gasto_ind*x.consumo) using "##,###,###.##" PRINT COLUMN 60, "--------------", 14 SPACES, "--------------" #13 SPACES, "----------", #13 SPACES, "-------------", # 2 SPACES, "-------------" PRINT letras.negrillas_off skip 1 line AFTER GROUP OF x.cod_cia PRINT COLUMN 60, "--------------", 14 SPACES, "--------------" #13 SPACES, "----------", #13 SPACES, "-------------", #2 SPACES, "-------------" PRINT letras.negrillas_on PRINT COLUMN 3, "Sub Total Cia ----> ", COLUMN 61, GROUP SUM(x.consumo) using "###,###,###.##", 14 SPACES, GROUP SUM(x.material*x.consumo) USING "###,###,###.##" # 13 SPACES, GROUP SUM(x.labor*x.consumo) USING "###,###.##", # 13 SPACES, GROUP SUM(x.gasto_ind*x.consumo) USING "##,###,###.##", # 2 SPACES, GROUP SUM(x.material*x.consumo) + # GROUP SUM(x.labor*x.consumo) + # GROUP SUM(x.gasto_ind*x.consumo) using "##,###,###.##" PRINT letras.negrillas_off AFTER GROUP OF x.cod_mov PRINT COLUMN 60, "--------------", 14 SPACES, "--------------" {13 SPACES, "----------", 13 SPACES, "-------------", 2 SPACES, "-------------" } PRINT letras.negrillas_on PRINT COLUMN 3, "Total ---->", COLUMN 61, GROUP SUM(x.consumo) using "###,###,###.##", 14 SPACES, GROUP SUM(x.material*x.consumo) USING "###,###,###.##" #13 SPACES, GROUP SUM(x.labor*x.consumo) USING "###,###.##", #13 SPACES, GROUP SUM(x.gasto_ind*x.consumo) USING "##,###,###.##", # 2 SPACES, GROUP SUM(x.material*x.consumo) + # GROUP SUM(x.labor*x.consumo) + # GROUP SUM(x.gasto_ind*x.consumo) using "##,###,###.##" PRINT letras.negrillas_off PRINT COLUMN 60, "==============", 14 SPACES, "==============" # 13 SPACES, "==========", # 13 SPACES, "=============", # 2 SPACES, "=============" END REPORT FUNCTION pantalla() DEFINE fecha CHAR(10), hora char(5) LET fecha = today USING "dd/mm/yyyy" LET hora = time DISPLAY "R O S S Y M U E B L E S" AT 4,17 ATTRIBUTE (REVERSE,blue) DISPLAY fecha AT 4,68 ATTRIBUTE (blue) DISPLAY "Sistema de Contabilidad General" AT 5,24 DISPLAY hora AT 6,73 ATTRIBUTE(blue) CALL fgl_drawbox(5,79,3,1) CALL fgl_drawbox(1,79,22,1) END FUNCTION REPORT entrada50(x,fecha1,fecha2,entrada,detalle1) DEFINE x RECORD cod_mov LIKE iptb00006.cod_mov, cod_cia LIKE iptb00006.cod_cia, cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp CHAR(35), unidad_med LIKE intb00001.unidad_med, descrip_ing LIKE intb00001.descrip_ing, descrip_mov LIKE intb00005.descrip_mov, consumo INTEGER, codigo LIKE iptb00002.codigo, cuenta_m LIKE iptb00005.cuenta_1, cuenta_l LIKE iptb00005.cuenta_2, cuenta_g LIKE iptb00005.cuenta_3, cuenta_cia LIKE compania.cuenta_no, material LIKE cttb00013.costo_lq, labor LIKE iptb00004.labor, gasto_ind LIKE iptb00004.gasto_ind, departamento LIKE adtb00001.departamento, clave CHAR(5), cuenta_inv1 LIKE companias.cuenta_no_inv1, cod_bodega LIKE intb00009.cod_bodega, descripcion LIKE intb00009.descripcion END RECORD, nombre_g LIKE cotb00051.descripcion, depto LIKE adtb00001.departamento, nombre_cta LIKE cgtb00001.descripcion DEFINE fecha1,fecha2 DATE DEFINE l SMALLINT DEFINE c_ano1 char(4) DEFINE hora CHAR(5) DEFINE total_p,total_m DECIMAL(12,2) DEFINE total_material,total_labor,total_gasto_ind,t_t_total,t_t_t_total, t_total_material,t_total_labor,t_total_gasto_ind,t_cantidad DECIMAL (12,2) DEFINE ttotal_material,ttotal_labor,ttotal_gasto_ind,tt_t_total,tt_t_t_total, tt_total_material,tt_total_labor,tt_total_gasto_ind,tt_cantidad DECIMAL (12,2) DEFINE total1,material6,material1,mano_ob1,gasto1,debito,credito DECIMAL(12,2) DEFINE entrada CHAR(14), i SMALLINT DEFINE detalle4,detalle1 CHAR(30) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 ORDER BY x.cod_cia,x.cod_mov,x.cod_n,x.departamento,x.clave FORMAT PAGE HEADER LET hora = time PRINT COLUMN 1, letras.comp_off,"edprrp050", COLUMN 23, "R O S S Y M U E B L E S", COLUMN 75, "Pag. ",pageno using "###" PRINT COLUMN 35, "Sistema de Contabilidad", COLUMN 75, today using "dd/mm/yyyy" PRINT COLUMN 29, "Entrada de Diario Costo de Ventas", COLUMN 78, hora PRINT COLUMN 34, "Del ",fecha1 USING "dd/mm/yyyy", " Al ",fecha2 USING "dd/mm/yyyy" PRINT letras.comp_on SKIP 1 LINES PRINT COLUMN 01,"Entrada de Diario No.", letras.doble_on,entrada,letras.doble_off PRINT COLUMN 1,"Observaciones: _____________________________________" PRINT COLUMN 1," _____________________________________" PRINT letras.comp_on PRINT COLUMN 1, "--------------------------------------------------", "----------------------------------------", letras.negrillas_on PRINT COLUMN 2, "Cuenta ", COLUMN 11, "Dpto", COLUMN 18, "Concepto", COLUMN 60, "Debe", COLUMN 80, "Haber",letras.negrillas_off PRINT COLUMN 1, "--------------------------------------------------", "----------------------------------------" AFTER GROUP OF x.clave SELECT descripcion INTO nombre_cta FROM cgtb00001 WHERE cuenta_no = x.cuenta_m PRINT COLUMN 2, x.cuenta_m, 2 SPACES, x.departamento USING "<<<<", 2 SPACES, nombre_cta[1,34], 18 SPACES, GROUP SUM(x.material*x.consumo) USING "###,###,###.##" IF afecta = "S" THEN LET credito = GROUP SUM(x.material*x.consumo) USING "###,###,###.##" INSERT INTO cgtb00004 VALUES (fecha2,1,entrada,x.cuenta_m,x.departamento, null,null,null,null, detalle1,null,0,credito, null,user,current,null,null) END IF LET credito = GROUP SUM(x.labor*x.consumo) USING "###,###,###.##" IF credito != 0 THEN SELECT descripcion INTO nombre_cta FROM cgtb00001 WHERE cuenta_no = x.cuenta_l PRINT COLUMN 2, x.cuenta_l, 2 SPACES, x.departamento USING "<<<<", 2 SPACES, nombre_cta[1,34], 18 SPACES, GROUP SUM(x.labor*x.consumo) USING "###,###,###.##" IF afecta = "S" THEN INSERT INTO cgtb00004 VALUES (fecha2,1,entrada,x.cuenta_l,x.departamento, null,null,null,null, detalle1,null,0,credito, null,user,current,null,null) END IF END IF LET credito = GROUP SUM(x.gasto_ind*x.consumo) USING "###,###,###.##" IF credito != 0 THEN SELECT descripcion INTO nombre_cta FROM cgtb00001 WHERE cuenta_no = x.cuenta_g PRINT COLUMN 2, x.cuenta_g, 2 SPACES, x.departamento USING "<<<<", 2 SPACES, nombre_cta[1,34], 18 SPACES, GROUP SUM(x.gasto_ind*x.consumo) USING "###,###,###.##" PRINT letras.negrillas_off IF afecta = "S" THEN INSERT INTO cgtb00004 VALUES (fecha2,1,entrada,x.cuenta_g,x.departamento, null,null,null,null, detalle1,null,0,credito, null,user,current,null,null) END IF END IF AFTER GROUP OF x.cod_cia SELECT descripcion INTO nombre_cta FROM cgtb00001 WHERE cuenta_no = x.cuenta_inv1 PRINT COLUMN 2, x.cuenta_inv1, 8 SPACES, nombre_cta[1,34], 2 SPACES, GROUP SUM(x.gasto_ind*x.consumo)+ GROUP SUM(x.material*x.consumo)+ GROUP SUM(x.labor*x.consumo) USING "###,###,###.##" IF afecta = "S" THEN LET debito = GROUP SUM(x.gasto_ind*x.consumo)+ GROUP SUM(x.material*x.consumo)+ GROUP SUM(x.labor*x.consumo) INSERT INTO cgtb00004 VALUES (fecha2,1,entrada,x.cuenta_inv1,null, null,null,null,null, detalle1,null,debito,0, null,user,current,null,null) END IF SKIP 1 LINE ON LAST ROW PRINT COLUMN 53, "--------------", COLUMN 70, "--------------" PRINT COLUMN 35,"Totales-->", COLUMN 50, SUM (x.material*x.consumo)+ SUM (x.labor*x.consumo)+ SUM (x.gasto_ind*x.consumo) USING "###,###,##&.&&", COLUMN 70, SUM (x.material*x.consumo)+ SUM (x.labor*x.consumo)+ SUM (x.gasto_ind*x.consumo) USING "###,###,##&.&&" SKIP 2 LINE PRINT COLUMN 1, detalle1 PRINT COLUMN 1,letras.comp_off,letras.negrillas_off SKIP 4 LINE END REPORT