Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
DEFINE curr,i INT,
|
||||
|
||||
kdatos DYNAMIC ARRAY OF RECORD
|
||||
bookmash VARCHAR(50),
|
||||
tipos VARCHAR(50),
|
||||
lado_1 DEC(8,2),
|
||||
lado_2 DEC(8,2),
|
||||
lado_3 DEC(8,2),
|
||||
cantidad SMALLINT,
|
||||
cantidad2 FLOAT,
|
||||
tono,calidad VARCHAR(100),
|
||||
xobservacion VARCHAR(200),
|
||||
id_producto CHAR(25),
|
||||
bodega INT,
|
||||
seccion INT,
|
||||
tramo INT,
|
||||
codid,idrow,idtrx INT
|
||||
|
||||
END RECORD,
|
||||
xcodid,xbodega,xseccion,xtramo,xcodn,xcodgrupo,xcodtipo,xcodsec,kidtrx INT,
|
||||
xfecha DATE,
|
||||
totalmedida DEC(12,5)
|
||||
FUNCTION desglose_conteo(pcodid,pfecha,pbodega,pseccion,ptramo,pcodn,pcodgrupo,pcodtipo,pcodsec,descripcion,idtrx)
|
||||
DEFINE pcodid,pbodega,pseccion,ptramo,pcodn,pcodgrupo,pcodtipo,pcodsec,idtrx INT,pfecha DATE,
|
||||
descripcion VARCHAR(100)
|
||||
|
||||
LET xcodid = pcodid
|
||||
LET xbodega = pbodega
|
||||
LET xseccion = pseccion
|
||||
LET xtramo = ptramo
|
||||
LET xfecha = pfecha
|
||||
|
||||
LET xcodn = pcodn
|
||||
LET xcodgrupo = pcodgrupo
|
||||
LET xcodtipo = pcodtipo
|
||||
LET xcodsec = pcodsec
|
||||
LET kidtrx = idtrx
|
||||
|
||||
CALL kdatos.clear()
|
||||
|
||||
CALL busca_detalle()
|
||||
OPEN WINDOW w1 WITH FORM "irfmwd015"
|
||||
DISPLAY BY NAME pcodn,pcodgrupo,pcodtipo,pcodsec,descripcion
|
||||
INPUT ARRAY kdatos FROM sdatos.* ATTRIBUTES(WITHOUT DEFAULTS)
|
||||
BEFORE INPUT
|
||||
LET curr = arr_curr()
|
||||
LET totalmedida =0
|
||||
LET kdatos[curr].cantidad2 =0
|
||||
CALL bodegas('1')
|
||||
CALL cseccion(kdatos[curr].bodega)
|
||||
CALL ctramo(kdatos[curr].bodega,kdatos[curr].seccion)
|
||||
AFTER FIELD cantidad
|
||||
IF kdatos[arr_curr()].cantidad IS NOT NULL THEN
|
||||
IF kdatos[arr_curr()].lado_1 IS NOT NULL THEN
|
||||
LET kdatos[arr_curr()].cantidad2 =kdatos[arr_curr()].lado_1 *kdatos[arr_curr()].cantidad
|
||||
END IF
|
||||
IF kdatos[arr_curr()].lado_2 IS NOT NULL THEN
|
||||
LET kdatos[arr_curr()].cantidad2 =kdatos[arr_curr()].lado_1 * kdatos[arr_curr()].lado_2* kdatos[arr_curr()].cantidad
|
||||
END IF
|
||||
IF kdatos[arr_curr()].lado_3 IS NOT NULL THEN
|
||||
LET kdatos[arr_curr()].cantidad2 =kdatos[arr_curr()].cantidad2* kdatos[arr_curr()].lado_3* kdatos[arr_curr()].cantidad
|
||||
END IF
|
||||
DISPLAY kdatos[arr_curr()].cantidad2 TO sdatos[scr_line()].cantidad2
|
||||
LET totalmedida = totalmedida + kdatos[arr_curr()].cantidad2
|
||||
DISPLAY BY NAME totalmedida
|
||||
END IF
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
CALL msg(2)
|
||||
END IF
|
||||
LET totalmedida =0
|
||||
FOR i =1 to kdatos.getLength()
|
||||
IF kdatos[i].cantidad IS NOT NULL THEN
|
||||
IF kdatos[i].lado_1 IS NOT NULL THEN
|
||||
LET kdatos[i].cantidad2 =kdatos[i].lado_1 *kdatos[i].cantidad
|
||||
END IF
|
||||
IF kdatos[i].lado_2 IS NOT NULL THEN
|
||||
LET kdatos[i].cantidad2 =kdatos[i].lado_1 * kdatos[i].lado_2* kdatos[i].cantidad
|
||||
END IF
|
||||
IF kdatos[i].lado_3 IS NOT NULL THEN
|
||||
LET kdatos[i].cantidad2 =kdatos[i].cantidad2* kdatos[i].lado_3
|
||||
END IF
|
||||
LET totalmedida = totalmedida + kdatos[i].cantidad2
|
||||
END IF
|
||||
|
||||
END FOR
|
||||
EXIT INPUT
|
||||
ON ACTION salvar ATTRIBUTE(TEXT="Guardar",IMAGE="fa-save")
|
||||
CALL guarda_info()
|
||||
END INPUT
|
||||
CLOSE WINDOW w1
|
||||
RETURN totalmedida
|
||||
END FUNCTION
|
||||
FUNCTION busca_detalle()
|
||||
DECLARE busca_desglose CURSOR FOR
|
||||
SELECT a.book,a.tipos,a.lado_1,a.lado_2,a.lado_3,a.cantidad,a.cantidad2,a.tono,a.calidad,
|
||||
a.observacion,
|
||||
a.idproducto,a.bodega,a.cod_seccion,a.cod_tramo,a.codid, a.idrow,a.idtrx
|
||||
FROM iptb00062 a WHERE a.codid = xcodid AND a.fecha = xfecha
|
||||
ORDER BY a.lado_1
|
||||
|
||||
LET i = 1
|
||||
FOREACH busca_desglose INTO kdatos[i].*
|
||||
|
||||
LET i = i + 1
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
FUNCTION guarda_info()
|
||||
BEGIN WORK
|
||||
|
||||
DELETE FROM iptb00062 WHERE fecha = xfecha AND bodega = xbodega AND codid = xcodid
|
||||
|
||||
FOR i = 1 TO kdatos.getLength()
|
||||
IF kdatos[i].cantidad2 IS NOT NULL THEN
|
||||
INSERT INTO iptb00062 (codid,cod_n,cod_grupo,cod_tipo,cod_Sec,cantidad,cantidad2,lado_1,lado_2,lado_3,
|
||||
book,tipos,cod_seccion,cod_tramo,bodega,us_crea,fech_crea,idproducto,idtrx,tono,calidad,fecha,
|
||||
observacion)
|
||||
VALUES (kdatos[i].codid,xcodn,xcodgrupo,xcodtipo,xcodsec,kdatos[i].cantidad,kdatos[i].cantidad2,
|
||||
kdatos[i].lado_1,kdatos[i].lado_2,kdatos[i].lado_3,kdatos[i].bookmash,kdatos[i].tipos,
|
||||
kdatos[i].seccion,kdatos[i].tramo,kdatos[i].bodega,suser_sname(),getdate(),
|
||||
kdatos[i].id_producto,kidtrx,kdatos[i].tono,kdatos[i].calidad,xfecha,
|
||||
kdatos[i].xobservacion)
|
||||
END IF
|
||||
END FOR
|
||||
COMMIT WORK
|
||||
CALL msg(1)
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user