Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
DEFINE arr_bultos DYNAMIC ARRAY OF RECORD
|
||||
id,num_oc,num_oc_externa INT,
|
||||
titulo_bulto STRING,
|
||||
fecha VARCHAR(10),
|
||||
seleccionar VARCHAR(1)
|
||||
|
||||
END RECORD,
|
||||
gpnum_oc,gpnum_externa,pbulto_id INT,
|
||||
pcliente,pdireccion STRING
|
||||
|
||||
FUNCTION empacar(arr_empaque,encabezadoe,pnum_oc,pnum_externa,cliente,direccion)
|
||||
|
||||
DEFINE arr_empaque DYNAMIC ARRAY OF RECORD
|
||||
producto, unidad STRING,
|
||||
cantidad,cantidad_orden FLOAT,
|
||||
pcodn,pcodgrupo,pcodtipo,pcodsec INT
|
||||
END RECORD,
|
||||
encabezadoe,titulo_empaque,cliente,direccion STRING,
|
||||
idx,pcodid,pnum_oc,pnum_externa INT
|
||||
|
||||
CALL revisa_bultos()
|
||||
|
||||
OPEN WINDOW w3 WITH FORM "prfmmt021b"
|
||||
|
||||
DIALOG ATTRIBUTE(UNBUFFERED)
|
||||
|
||||
INPUT BY NAME titulo_empaque
|
||||
BEFORE INPUT
|
||||
LET gpnum_oc = pnum_oc
|
||||
LET gpnum_externa = pnum_externa
|
||||
|
||||
SELECT a.titulo_bulto INTO titulo_empaque
|
||||
from iptb00054 a WHERE a.bulto_id = pbulto_id
|
||||
IF titulo_empaque IS NULL THEN
|
||||
LET titulo_empaque = "BULTO ORD.",pnum_externa USING "&&&&&&&&"
|
||||
END IF
|
||||
LET pcliente = cliente
|
||||
LET pdireccion = direccion
|
||||
DISPLAY BY NAME encabezadoe,titulo_empaque
|
||||
|
||||
AFTER INPUT
|
||||
IF titulo_empaque IS NULL THEN
|
||||
NEXT FIELD titulo_empaque
|
||||
END IF
|
||||
END INPUT
|
||||
INPUT ARRAY arr_empaque FROM sempaque.*
|
||||
ON ACTION salvar ATTRIBUTE(TEXT="Guardar",IMAGE="save")
|
||||
SELECT a.bulto_id INTO pbulto_id FROM iptb00055 a
|
||||
IF pbulto_id IS NULL THEN
|
||||
LET pbulto_id = 0
|
||||
INSERT INTO iptb00055 (pbulto_id,us_crea,fech_crea) VALUES (0,SUSER_SNAME(),GETDADTE())
|
||||
END IF
|
||||
LET pbulto_id = pbulto_id + 1
|
||||
BEGIN WORK
|
||||
UPDATE iptb00054 SET bulto_id = pbulto_id,us_crea = SUSER_SNAME(),fech_crea = GETDATE()
|
||||
#INFORMACION BULTO GENERAL
|
||||
INSERT INTO iptb00054 (bulto_id,num_oc,num_oc_externa,cliente,direccion,estado,us_crea,fech_crea,fecha,
|
||||
titulo_bulto)
|
||||
VALUES (pbulto_id,gpnum_oc,gpnum_externa,pcliente,pdireccion,'EN PROCESO',SUSER_SNAME(),GETDATE(),GETDATE(),
|
||||
titulo_empaque)
|
||||
|
||||
FOR idx = 1 TO arr_empaque.getLength()
|
||||
IF arr_empaque[idx].cantidad IS NOT NULL THEN
|
||||
|
||||
SELECT a.codid INTO pcodid FROM iptb00002 a WHERE a.cod_n = arr_empaque[idx].pcodn AND
|
||||
a.cod_grupo = arr_empaque[idx].pcodgrupo AND
|
||||
a.cod_tipo = arr_empaque[idx].pcodtipo AND
|
||||
a.cod_sec = arr_empaque[idx].pcodsec
|
||||
|
||||
|
||||
INSERT INTO iptb00053 (codid,cod_n,cod_grupo,cod_tipo,cod_sec,descripcion,cantidad,
|
||||
cantidad_orden,us_crea,fech_crea,num_oc,num_oc_externa,bulto_id)
|
||||
VALUES (pcodid,arr_empaque[idx].pcodn,arr_empaque[idx].pcodgrupo,arr_empaque[idx].pcodtipo,
|
||||
arr_empaque[idx].pcodsec,arr_empaque[idx].producto,arr_empaque[idx].cantidad,
|
||||
arr_empaque[idx].cantidad_orden,SUSER_SNAME(),GETDATE(),
|
||||
gpnum_oc,gpnum_externa,pbulto_id)
|
||||
|
||||
END IF
|
||||
END FOR
|
||||
COMMIT WORK
|
||||
CALL msg(1)
|
||||
EXIT DIALOG
|
||||
END INPUT
|
||||
ON ACTION CANCEL
|
||||
EXIT DIALOG
|
||||
END DIALOG
|
||||
CLOSE WINDOW w3
|
||||
END FUNCTION
|
||||
FUNCTION revisa_bultos()
|
||||
DEFINE i,cuenta INT,
|
||||
opcion STRING
|
||||
SELECT COUNT(*) INTO cuenta FROM iptb00054 WHERE num_oc = gpnum_oc
|
||||
|
||||
IF cuenta > 0 THEN
|
||||
DECLARE busca_bultos CURSOR FOR
|
||||
SELECT a.bulto_id,a.num_oc,a.num_oc_externa,a.titulo_bulto,a.fecha,'N'
|
||||
FROM iptb00054 a
|
||||
WHERE a.num_oc = gpnum_oc
|
||||
|
||||
LET i = i + 1
|
||||
FOREACH busca_bultos INTO arr_bultos[i].*
|
||||
LET i = i+1
|
||||
END FOREACH
|
||||
OPEN WINDOW w5 WITH FORM "prfmmt021c"
|
||||
INPUT ARRAY arr_bultos FROM sbultos.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
ON ACTION DELETE
|
||||
LET opcion = fgl_winquestion("INFO","DESEA ELIMINAR ESTE BULTO? ","NO","YES|NO","QUESTION",0)
|
||||
IF opcion = "YES" THEN
|
||||
|
||||
DELETE FROM iptb00054 WHERE bulto_id = arr_bultos[arr_curr()].id
|
||||
DELETE FROM iptb00053 WHERE bulto_id = arr_bultos[arr_curr()].id
|
||||
CALL arr_bultos.deleteElement(arr_curr())
|
||||
END IF
|
||||
AFTER INPUT
|
||||
LET pbulto_id = arr_bultos[arr_curr()].id
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
CLOSE WINDOW w5
|
||||
END IF
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user