951 lines
32 KiB
Plaintext
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
|