Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,504 @@
|
||||
GLOBALS "cgprgb000.4gl"
|
||||
REPORT entrada(x, usuarios)
|
||||
DEFINE x RECORD
|
||||
cod_cia LIKE iptb00002.cod_cia,
|
||||
cod_n LIKE iptb00002.cod_n,
|
||||
cod_grupo LIKE iptb00002.cod_grupo,
|
||||
cod_tipo LIKE iptb00002.cod_tipo,
|
||||
cod_sec LIKE iptb00002.cod_sec,
|
||||
descrip_esp CHAR(100),
|
||||
descrip_ing LIKE iptb00002.descrip_ing,
|
||||
unidad_med LIKE iptb00002.unidad_med,
|
||||
cod_mov LIKE iptb00006.cod_mov,
|
||||
descrip_mov LIKE iptb00005.descrip_mov,
|
||||
consumo DECIMAL(30, 5),
|
||||
material DECIMAL(30, 3),
|
||||
labor DECIMAL(30, 3),
|
||||
gastos DECIMAL(30, 3),
|
||||
descripcion_bodega VARCHAR(30),
|
||||
descripcion_origen VARCHAR(30),
|
||||
cuenta_material VARCHAR(14),
|
||||
cuenta_labor VARCHAR(14),
|
||||
cuenta_gasto VARCHAR(14),
|
||||
cuenta_imp_material VARCHAR(14),
|
||||
cuenta_origen VARCHAR(14),
|
||||
detalle VARCHAR(80),
|
||||
entrada_d VARCHAR(14),
|
||||
nombre_cia VARCHAR(100),
|
||||
departamento INT,
|
||||
descripcion_depto VARCHAR(80),
|
||||
id_orden VARCHAR(25),
|
||||
afecta VARCHAR(2),
|
||||
valor_material, valor_labor, valor_gasto DEC(30, 2),
|
||||
usuario VARCHAR(50)
|
||||
END RECORD, usuarios VARCHAR(80)
|
||||
|
||||
DEFINE hora CHAR(25)
|
||||
DEFINE
|
||||
debito_material,
|
||||
credito_material,
|
||||
debito_labor,
|
||||
debito_gasto,
|
||||
credito_labor,
|
||||
credito_gasto,
|
||||
debito1,
|
||||
credito1
|
||||
DECIMAL(30, 2),
|
||||
nombre_ctamaterial,
|
||||
nombre_ctalabor,
|
||||
nombre_ctagasto,
|
||||
nombre_cta2,
|
||||
nombre_cta3
|
||||
VARCHAR(80),
|
||||
primera, xdepto CHAR(1)
|
||||
|
||||
DEFINE t_debito, t_credito DECIMAL(30, 2)
|
||||
|
||||
ORDER BY x.cuenta_origen, x.departamento
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
IF x.afecta = 'SI' AND primera IS NULL THEN
|
||||
LET primera = 'S'
|
||||
END IF
|
||||
BEGIN WORK
|
||||
LET hora = TODAY, " ", TIME
|
||||
PRINTX fecha_final, x.entrada_d, x.detalle, x.nombre_cia, hora
|
||||
AFTER GROUP OF x.departamento
|
||||
IF x.consumo < 0 THEN
|
||||
|
||||
LET credito_material = 0
|
||||
LET credito_labor = 0
|
||||
LET credito_gasto = 0
|
||||
|
||||
# MATERIAL PARA LOS MOV DE SALIDA
|
||||
IF x.cuenta_material IS NOT NULL THEN
|
||||
LET debito_material = GROUP SUM(x.valor_material)
|
||||
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_ctamaterial, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_material
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
{ IF debito = 0 OR debito IS NULL THEN
|
||||
LET nombre_ctamaterial = " "
|
||||
END IF}
|
||||
IF debito_material < 0 THEN
|
||||
LET debito_material = debito_material * -1
|
||||
END IF
|
||||
DISPLAY " DATA 1 ",
|
||||
x.cuenta_material,
|
||||
" ",
|
||||
debito_material,
|
||||
" ",
|
||||
credito_material
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_material IS NOT NULL THEN
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
departamento,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_material,
|
||||
x.departamento,
|
||||
x.detalle,
|
||||
debito_material,
|
||||
credito_material,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
# LABOR PARA LOS MOV DE SALIDA
|
||||
DISPLAY " DATA 2 ",
|
||||
x.cuenta_labor,
|
||||
" ",
|
||||
debito_labor,
|
||||
" ",
|
||||
credito_labor
|
||||
IF x.cuenta_labor IS NOT NULL THEN
|
||||
LET debito_labor = GROUP SUM(x.valor_labor)
|
||||
IF debito_labor < 0 THEN
|
||||
LET debito_labor = debito_labor * -1
|
||||
END IF
|
||||
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_ctalabor, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_labor
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
{ IF debito = 0 OR debito IS NULL THEN
|
||||
LET nombre_ctalabor = " "
|
||||
END IF}
|
||||
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_labor IS NOT NULL THEN
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
departamento,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_labor,
|
||||
x.departamento,
|
||||
x.detalle,
|
||||
debito_labor,
|
||||
credito_labor,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
# GASTO PARA LOS MOV DE SALIDAS
|
||||
IF x.cuenta_gasto IS NOT NULL THEN
|
||||
LET debito_gasto = GROUP SUM(x.valor_gasto)
|
||||
IF debito_gasto < 0 THEN
|
||||
LET debito_gasto = debito_gasto * -1
|
||||
END IF
|
||||
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_ctagasto, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_gasto
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
{ IF debito = 0 OR debito IS NULL THEN
|
||||
LET nombre_ctagasto = " "
|
||||
END IF}
|
||||
DISPLAY " DATA 3 ",
|
||||
x.cuenta_gasto,
|
||||
" ",
|
||||
debito_gasto,
|
||||
" ",
|
||||
credito_gasto
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_gasto IS NOT NULL THEN
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
departamento,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_gasto,
|
||||
x.departamento,
|
||||
x.detalle,
|
||||
debito_gasto,
|
||||
credito_gasto,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
ELSE
|
||||
LET debito_material = 0
|
||||
LET debito_labor = 0
|
||||
LET debito_gasto = 0
|
||||
|
||||
#MATERIAL PARA LOS MOV DE ENTRADA
|
||||
IF x.cuenta_material IS NOT NULL THEN
|
||||
LET credito_material = GROUP SUM(x.valor_material)
|
||||
IF credito_material < 0 THEN
|
||||
LET credito_material = credito_material * -1
|
||||
END IF
|
||||
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_ctamaterial, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_material
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
{ IF credito = 0 OR credito IS NULL THEN
|
||||
LET nombre_ctamaterial = " "
|
||||
END IF}
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_material IS NOT NULL THEN
|
||||
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
departamento,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_material,
|
||||
x.departamento,
|
||||
x.detalle,
|
||||
debito_material,
|
||||
credito_material,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
DISPLAY " DATA 4 ",
|
||||
x.cuenta_material,
|
||||
" ",
|
||||
debito_material,
|
||||
" ",
|
||||
credito_material
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
#LABOR PARA LOS MOV DE ENTRADA
|
||||
IF x.cuenta_labor IS NOT NULL THEN
|
||||
LET credito_labor = GROUP SUM(x.valor_labor)
|
||||
IF credito_labor < 0 THEN
|
||||
LET credito_labor = credito_labor * -1
|
||||
END IF
|
||||
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_ctalabor, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_labor
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
{IF credito = 0 OR credito IS NULL THEN
|
||||
LET nombre_ctalabor = " "
|
||||
END IF}
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_labor IS NOT NULL THEN
|
||||
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
departamento,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_labor,
|
||||
x.departamento,
|
||||
x.detalle,
|
||||
debito_labor,
|
||||
credito_labor,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
DISPLAY " DATA 5 ",
|
||||
x.cuenta_labor,
|
||||
" ",
|
||||
debito_labor,
|
||||
" ",
|
||||
credito_labor
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
# GASTO PARA LOS MOV DE ENTRADAS
|
||||
IF x.cuenta_gasto IS NOT NULL THEN
|
||||
LET credito_gasto = GROUP SUM(x.valor_gasto)
|
||||
IF credito_gasto < 0 THEN
|
||||
LET credito_gasto = credito_gasto * 1
|
||||
END IF
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_ctagasto, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_gasto
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
{ IF credito = 0 OR credito IS NULL THEN
|
||||
LET nombre_ctagasto = " "
|
||||
END IF}
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_gasto IS NOT NULL THEN
|
||||
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
departamento,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_gasto,
|
||||
x.departamento,
|
||||
x.detalle,
|
||||
debito_gasto,
|
||||
credito_gasto,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
DISPLAY " DATA 6 ",
|
||||
x.cuenta_gasto,
|
||||
" ",
|
||||
debito_gasto,
|
||||
" ",
|
||||
credito_gasto
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END IF
|
||||
PRINTX x.nombre_cia,
|
||||
x.detalle,
|
||||
x.cuenta_material,
|
||||
x.cuenta_labor,
|
||||
x.cuenta_gasto,
|
||||
nombre_ctamaterial,
|
||||
nombre_ctalabor,
|
||||
nombre_ctagasto,
|
||||
hora,
|
||||
fecha_inicial,
|
||||
fecha_final,
|
||||
x.departamento,
|
||||
x.descripcion_depto,
|
||||
debito_material,
|
||||
credito_material,
|
||||
debito_labor,
|
||||
debito_gasto,
|
||||
credito_labor,
|
||||
credito_gasto
|
||||
|
||||
AFTER GROUP OF x.cuenta_origen
|
||||
|
||||
IF x.consumo < 0 THEN
|
||||
LET debito1 = 0
|
||||
LET credito1 =
|
||||
GROUP SUM(x.valor_material + x.valor_labor + x.valor_gasto)
|
||||
ELSE
|
||||
LET debito1 =
|
||||
GROUP SUM(x.valor_material + x.valor_labor + x.valor_gasto)
|
||||
LET credito1 = 0
|
||||
END IF
|
||||
SELECT a.descripcion, a.depto
|
||||
INTO nombre_cta2, xdepto
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_origen
|
||||
SELECT a.descripcion
|
||||
INTO nombre_cta3
|
||||
FROM cgtb00001 a
|
||||
WHERE a.cuenta_no = x.cuenta_imp_material
|
||||
|
||||
IF xdepto = 'N' THEN
|
||||
LET x.departamento = NULL
|
||||
END IF
|
||||
IF debito1 < 0 THEN
|
||||
LET debito1 = debito1 * -1
|
||||
END IF
|
||||
IF credito1 < 0 THEN
|
||||
LET credito1 = credito1 * -1
|
||||
END IF
|
||||
|
||||
PRINTX x.cuenta_origen,
|
||||
nombre_cta2,
|
||||
credito1,
|
||||
debito1,
|
||||
x.cuenta_material,
|
||||
x.cuenta_imp_material,
|
||||
nombre_cta3,
|
||||
x.entrada_d,
|
||||
fecha_inicial,
|
||||
x.departamento,
|
||||
x.descripcion_depto
|
||||
|
||||
IF x.afecta = "SI" THEN
|
||||
IF x.cuenta_origen IS NOT NULL THEN
|
||||
INSERT INTO cgtb00004(
|
||||
fecha,
|
||||
tipo,
|
||||
ref,
|
||||
cuenta_no,
|
||||
detalle_1,
|
||||
debito,
|
||||
credito,
|
||||
us_crea,
|
||||
fech_crea)
|
||||
VALUES(fecha_final,
|
||||
1,
|
||||
x.entrada_d,
|
||||
x.cuenta_origen,
|
||||
x.detalle,
|
||||
debito1,
|
||||
credito1,
|
||||
x.usuario,
|
||||
GETDATE())
|
||||
END IF
|
||||
{ IF x.cuenta_imp_material IS NOT NULL THEN
|
||||
INSERT INTO cgtb00004 (fecha,tipo,ref,cuenta_no,detalle_1,debito,credito,us_crea,fech_crea)
|
||||
VALUES(fecha_final,1,x.entrada_d,x.cuenta_imp_material,
|
||||
x.detalle,debito1,credito1,x.usuario,GETDATE())
|
||||
DISPLAY " DATA 7 ",x.cuenta_imp_material," ",debito1," ",credito1
|
||||
|
||||
END IF}
|
||||
END IF
|
||||
|
||||
ON LAST ROW
|
||||
# IF x.afecta = 'SI' THEN
|
||||
# COMMIT WORK
|
||||
# END IF
|
||||
{ IF x.afecta = "SI" THEN
|
||||
UPDATE cgtb00011
|
||||
SET referencia = referencia + 1,
|
||||
us_mod = usuarios,
|
||||
fech_mod = getdate()
|
||||
WHERE entrada_no = 5
|
||||
END IF}
|
||||
|
||||
LET t_credito =
|
||||
SUM(x.valor_material + x.valor_labor + x.valor_gasto)
|
||||
LET t_debito = SUM(x.valor_material + x.valor_labor + x.valor_gasto)
|
||||
PRINTX t_debito, t_credito
|
||||
|
||||
COMMIT WORK
|
||||
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user