77 lines
2.6 KiB
Plaintext
77 lines
2.6 KiB
Plaintext
|
|
DEFINE arr_transacc DYNAMIC ARRAY OF RECORD
|
|
fecha DATE,
|
|
num_doc INT,
|
|
almacen STRING,
|
|
movimiento STRING,
|
|
entrada,salida,balance,cantidad DEC(12,5)
|
|
END RECORD,
|
|
idx int
|
|
|
|
FUNCTION transacciones(xorden,xcodn,xcodgrupo,xcodtipo,xcodsec,articulo)
|
|
DEFINE xorden,xcodn,xcodgrupo,xcodtipo,xcodsec INT,
|
|
articulo STRING
|
|
|
|
CALL arr_transacc.clear()
|
|
CALL busca_informacion(xorden,xcodn,xcodgrupo,xcodtipo,xcodsec)
|
|
IF idx = 1 THEN
|
|
CALL msg(3)
|
|
RETURN
|
|
END IF
|
|
call ui.Interface.loadStyles("formularios")
|
|
|
|
OPEN WINDOW w1 WITH FORM "prfmcs002"
|
|
|
|
DISPLAY ARRAY arr_transacc TO stransacc.*
|
|
BEFORE DISPLAY
|
|
DISPLAY "TRANSACCIONES INVENTARIOS" TO titulo
|
|
DISPLAY BY NAME articulo,xorden
|
|
AFTER DISPLAY
|
|
EXIT DISPLAY
|
|
END DISPLAY
|
|
CLOSE WINDOW w1
|
|
END FUNCTION
|
|
FUNCTION busca_informacion(xorden,xcodn,xcodgrupo,xcodtipo,xcodsec)
|
|
DEFINE xorden,xcodn,xcodgrupo,xcodtipo,xcodsec INT
|
|
DECLARE buscar CURSOR FOR
|
|
SELECT a.fecha,a.num_Doc,"("+CAST(a.bodega AS VARCHAR)+")"+b.descripcion,"("+CAST(a.cod_mov AS VARCHAR)+")"+c.descrip_mov
|
|
,'0','0','0',a.cantidad_2
|
|
FROM iptb00006 a
|
|
INNER JOIN intb00009 b ON a.bodega = b.cod_bodega
|
|
INNER JOIN iptb00005 c ON c.cod_mov = a.cod_mov
|
|
WHERE a.num_oc = xorden AND
|
|
a.cod_n = xcodn AND
|
|
a.cod_grupo = xcodgrupo AND
|
|
a.cod_tipo = xcodtipo AND
|
|
a.cod_sec = xcodsec AND
|
|
a.status_t IS NULL
|
|
ORDER BY a.fecha
|
|
LET idx = 1
|
|
|
|
FOREACH buscar INTO arr_transacc[idx].*
|
|
IF arr_transacc[idx].cantidad < 0 THEN
|
|
|
|
LET arr_transacc[idx].salida =arr_transacc[idx].cantidad
|
|
LET arr_transacc[idx].entrada =0
|
|
|
|
ELSE
|
|
|
|
LET arr_transacc[idx].entrada =arr_transacc[idx].cantidad
|
|
LET arr_transacc[idx].salida =0
|
|
|
|
END IF
|
|
IF idx = 1 THEN
|
|
LET arr_transacc[idx].balance=0
|
|
LET arr_transacc[idx].balance = arr_transacc[idx].cantidad + arr_transacc[idx].balance
|
|
END IF
|
|
|
|
DISPLAY "BALANCE ",arr_transacc[idx].balance
|
|
IF idx > 1 THEN
|
|
LET arr_transacc[idx].balance = arr_transacc[idx].cantidad + arr_transacc[idx-1].balance
|
|
END IF
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
|
|
|
|
END FUNCTION
|