Files
MBS/PROYECTO/cgdir/edprrp050.4gl
T

951 lines
32 KiB
Plaintext

{
-------------------------------------------------------------------------------
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