Mueve ipdir (Productos Terminados) de PROYECTOS a PROYECTO
Instruccion de Johnny: todos los directorios de fuentes de inventario deben migrarse de la carpeta temporal PROYECTOS a la carpeta real PROYECTO, ya que PROYECTOS sera eliminada. Se elimino tambien un archivo suelto sin relacion llamado "ipdir" que existia en PROYECTO (del commit inicial) y bloqueaba el nombre de la carpeta. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,417 @@
|
||||
SCHEMA smarmotech
|
||||
|
||||
DEFINE piking DYNAMIC ARRAY OF RECORD
|
||||
transportista STRING,
|
||||
bodega SMALLINT,
|
||||
nombre_b CHAR(25),
|
||||
bodega2 SMALLINT,
|
||||
nombre_b2 CHAR(25),
|
||||
num_doc INTEGER,
|
||||
fecha DATE,
|
||||
cod_mov SMALLINT,
|
||||
nombre VARCHAR(100),
|
||||
usuario CHAR(60),
|
||||
recibo CHAR(1),
|
||||
impresion CHAR(1),
|
||||
cod_mov_transferencia SMALLINT,
|
||||
cod_transp SMALLINT,
|
||||
sec_transp SMALLINT,
|
||||
placa VARCHAR(50),
|
||||
numero_doc INT
|
||||
END RECORD,
|
||||
ximpresion CHAR(1)
|
||||
|
||||
DEFINE movi2 DYNAMIC ARRAY OF RECORD
|
||||
area SMALLINT,
|
||||
cod_n LIKE intb00003.cod_n,
|
||||
cod_grupo LIKE intb00003.cod_grupo,
|
||||
cod_tipo LIKE intb00003.cod_tipo,
|
||||
cod_sec LIKE intb00003.cod_sec,
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad_2 DEC(12,5),
|
||||
cantidad_p DEC(12,5),
|
||||
unidad_med LIKE iptb00002.unidad_med,
|
||||
descrip_esp CHAR(80),
|
||||
existencia DEC(12,5),
|
||||
disponible DEC(12,5),
|
||||
codigo_bloque CHAR(15),
|
||||
id_kit INT
|
||||
|
||||
END RECORD,
|
||||
negrilla_on,negrillas_of,doble_on,doble_off,comp_on,comp_off,
|
||||
doce,NORMAL CHAR(3),
|
||||
imprime,gclave,gusuario,archivo, DESCRIP_TRANSP,copia CHAR(100),
|
||||
gimpresor,idx1,idx,p_act,numero_msg SMALLINT,
|
||||
tituloBodega STRING,
|
||||
|
||||
otros_mov1 RECORD
|
||||
num_doc INT,
|
||||
cod_cia SMALLINT,
|
||||
cod_mov SMALLINT,
|
||||
fact_no CHAR(25),
|
||||
cod_transp SMALLINT,
|
||||
sec_transp SMALLINT,
|
||||
cod_tarifa SMALLINT,
|
||||
placa CHAR(25),
|
||||
conduce_no CHAR(25),
|
||||
fecha DATE,
|
||||
descrip_mov CHAR(30),
|
||||
bodega SMALLINT,
|
||||
bodega2 SMALLINT,
|
||||
bodega_d CHAR(30),
|
||||
num_bultos SMALLINT,
|
||||
detalle CHAR(30),
|
||||
cod_sp SMALLINT,
|
||||
cod_sp_sec INT,
|
||||
descrip4 CHAR(30),
|
||||
cod_mov_transferencia INT
|
||||
END RECORD
|
||||
|
||||
DEFINE otros_mov RECORD
|
||||
num_doc LIKE iptb00006.num_doc,
|
||||
cod_cia LIKE iptb00006.cod_cia,
|
||||
cod_mov LIKE iptb00006.cod_mov,
|
||||
fact_no LIKE iptb00006.fact_no,
|
||||
cod_transp LIKE iptb00006.cod_transp,
|
||||
sec_transp LIKE iptb00006.sec_transp,
|
||||
cod_tarifa LIKE iptb00006.cod_tarifa,
|
||||
placa LIKE iptb00006.placa,
|
||||
fecha LIKE iptb00006.fecha,
|
||||
conduce_no LIKE iptb00006.conduce_no,
|
||||
descrip_mov CHAR(80),
|
||||
bodega LIKE iptb00006.bodega,
|
||||
bodega_destino SMALLINT,
|
||||
detalle LIKE iptb00006.detalle,
|
||||
cod_sp LIKE iptb00006.cod_sp,
|
||||
cod_sp_sec LIKE iptb00006.cod_sp_sec,
|
||||
departamento SMALLINT,
|
||||
nombre_depto CHAR(30),
|
||||
cod_mov1 SMALLINT,
|
||||
entrada INT,
|
||||
descrip_mov1 CHAR(40),
|
||||
descrip4 CHAR(30),
|
||||
factura INT
|
||||
|
||||
END RECORD
|
||||
|
||||
FUNCTION piking(usuario,clave,impresor,xbodega,sucursal)
|
||||
|
||||
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,
|
||||
usuario,clave CHAR(50),
|
||||
impresor,xbodega,sucursal SMALLINT
|
||||
|
||||
LET gusuario = usuario
|
||||
LET gclave = clave
|
||||
LET gimpresor = impresor
|
||||
DECLARE busca_piking CURSOR FOR
|
||||
SELECT DISTINCT d.nombre, a.bodega,e.descripcion,a.bodega_d,' ',a.num_doc,a.fecha,a.cod_mov,
|
||||
c.descrip_mov,a.us_crea,a.cond_recep,'N',
|
||||
c.codigo_mov_transferencia,a.cod_transp,a.sec_transp,a.placa,a.numero_doc
|
||||
FROM iptb00033 a LEFT OUTER JOIN vetb00015 d ON a.cod_transp =d.cod_transp AND
|
||||
a.sec_transp = d.sec_transp,
|
||||
iptb00005 c,intb00009 e,iptb00048 b
|
||||
WHERE a.bodega_d = b.bodega AND
|
||||
b.usuario = usuario AND
|
||||
e.cod_bodega = a.bodega_d AND
|
||||
a.cond_recep = 'N' AND
|
||||
a.cod_mov = c.cod_mov AND c.control_transferencia= "SI" AND
|
||||
a.status_t IS NULL
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_piking INTO piking[idx].*
|
||||
SELECT a.descripcion INTO piking[idx].nombre_b2
|
||||
FROM intb00009 a
|
||||
WHERE a.cod_bodega = piking[idx].bodega2
|
||||
#BRIAN LO PUSO
|
||||
SELECT a.descripcion INTO piking[idx].nombre_b
|
||||
FROM intb00009 a
|
||||
WHERE a.cod_bodega = piking[idx].bodega
|
||||
LET otros_mov1.cod_mov_transferencia = piking[idx].cod_mov_transferencia
|
||||
LET idx = idx + 1
|
||||
END FOREACH #fin foreach busca_piking
|
||||
|
||||
IF idx > 1 THEN
|
||||
# FORMULARIO RELACION DE TRANSFERENCIA POR RECIBIR
|
||||
OPEN WINDOW ipfmwd007 AT 1,1 WITH FORM "ipfmwd013"
|
||||
|
||||
LET int_flag = FALSE
|
||||
INPUT ARRAY piking WITHOUT DEFAULTS FROM spiking.*
|
||||
|
||||
ON ACTION visualiza
|
||||
LET p_Act= arr_curr()
|
||||
CALL buscadata(p_act)
|
||||
CALL itemsTransferencia()
|
||||
|
||||
AFTER INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
EXIT INPUT
|
||||
END IF
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
CLOSE WINDOW ipfmwd007
|
||||
RETURN
|
||||
END IF
|
||||
FOR idx1 = 1 TO piking.getLength()
|
||||
LET ximpresion = 'N'
|
||||
IF piking[idx1].recibo = "S" THEN
|
||||
CALL buscadata(idx1)
|
||||
IF piking[idx1].impresion = 'S' THEN
|
||||
LET ximpresion = 'S'
|
||||
END IF
|
||||
CALL adicionaTransf()
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
CLOSE WINDOW ipfmwd007
|
||||
|
||||
END IF
|
||||
LET int_flag = FALSE
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION itemsTransferencia()
|
||||
DEFINE xcodmov,xbodega STRING,
|
||||
xnumdoc INT
|
||||
DISPLAY "BUSCA DATA ",otros_mov1.num_doc," ",otros_mov.cod_mov," ",otros_mov.bodega
|
||||
OPEN WINDOW w1 WITH FORM "ipfmwd013a"
|
||||
DECLARE busca_items CURSOR FOR
|
||||
SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad_1,a.cantidad_2,
|
||||
b.unidad_med,b.descrip_esp,a.costo,a.bodega_d
|
||||
FROM iptb00033 a,iptb00002 b
|
||||
WHERE a.num_doc = otros_mov1.num_doc
|
||||
AND a.cod_mov = otros_mov.cod_mov
|
||||
AND a.cod_n = b.cod_n
|
||||
AND a.cod_Grupo= b.cod_grupo
|
||||
AND a.cod_tipo = b.cod_tipo
|
||||
AND a.cod_sec = b.cod_sec
|
||||
AND a.bodega = otros_mov.bodega
|
||||
AND a.bodega_d = otros_mov.bodega_destino
|
||||
AND a.status_t IS NULL and a.cond_recep = 'N'
|
||||
|
||||
LET idx = 1
|
||||
LET xcodmov = "(",otros_mov.cod_mov USING "&&&&",")",otros_mov.descrip_mov CLIPPED
|
||||
|
||||
LET xnumdoc = otros_mov1.num_doc
|
||||
LET xbodega = "(",otros_mov.bodega USING "<<<",")",otros_mov.descrip4 CLIPPED
|
||||
DISPLAY BY NAME xcodmov,xnumdoc,xbodega
|
||||
|
||||
FOREACH busca_items INTO movi2[idx].cod_n,
|
||||
movi2[idx].cod_grupo,
|
||||
movi2[idx].cod_tipo,
|
||||
movi2[idx].cod_sec,
|
||||
movi2[idx].cantidad_1,
|
||||
movi2[idx].cantidad_2,
|
||||
movi2[idx].unidad_med,
|
||||
movi2[idx].descrip_esp,
|
||||
otros_mov1.bodega2
|
||||
LET idx = idx + 1
|
||||
END FOREACH #fin del foreach busca_items into movi2
|
||||
|
||||
DISPLAY ARRAY movi2 TO detallepiking.*
|
||||
ON ACTION imprimir ATTRIBUTE(TEXT="Imprime",IMAGE="printer2")
|
||||
CALL defecto(gusuario,gclave,gimpresor) RETURNING imprime,negrilla_on,negrillas_of,
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia
|
||||
START REPORT formu4 TO archivo
|
||||
FOR idx = 1 TO movi2.getLength()
|
||||
|
||||
OUTPUT TO REPORT formu4(otros_mov.*,movi2[idx].*)
|
||||
|
||||
END FOR
|
||||
FINISH REPORT formu4
|
||||
RUN imprime
|
||||
CALL fgl_winmessage("INFO","IMPRESION TERMINADA","INFO")
|
||||
AFTER DISPLAY
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
FUNCTION adicionaTransf()
|
||||
DEFINE selec STRING,
|
||||
idseccion,idtramo,idfila,idpos INT
|
||||
|
||||
SELECT a.cod_seccion,a.cod_tramo,a.cod_fila,a.cod_pos
|
||||
INTO idseccion,idtramo,idfila,idpos FROM companias a
|
||||
|
||||
SELECT a.num_doc INTO otros_mov.num_doc
|
||||
FROM iptb00007 a
|
||||
WHERE a.bodega = otros_mov.bodega_destino AND
|
||||
a.cod_mov = otros_mov1.cod_mov_transferencia
|
||||
|
||||
|
||||
IF otros_mov.num_doc IS NULL THEN
|
||||
LET otros_mov.num_doc = 0
|
||||
INSERT INTO iptb00007 (num_doc,cod_mov,bodega) VALUES (0,otros_mov1.cod_mov_transferencia,otros_mov.bodega_destino)
|
||||
END IF
|
||||
LET otros_mov.num_doc = otros_mov.num_doc + 1
|
||||
|
||||
BEGIN WORK
|
||||
|
||||
UPDATE iptb00007 SET num_doc = otros_mov.num_doc
|
||||
WHERE cod_mov = otros_mov1.cod_mov_transferencia AND bodega = otros_mov.bodega_destino
|
||||
|
||||
LET selec = "INSERT INTO iptb00006 (cod_cia,num_doc,fecha,
|
||||
cod_transp,sec_transp,
|
||||
placa,cod_tarifa,
|
||||
cod_mov,detalle,
|
||||
cod_n,cod_grupo,cod_tipo,
|
||||
cod_sec,cantidad_1,cantidad_2,
|
||||
bodega,us_crea,fech_crea,
|
||||
cod_mov_transferencia,
|
||||
num_doc_transferencia,bodega_procedencia,numero_doc,num_oc,cod_sp,cod_sp_sec)
|
||||
SELECT a.cod_cia, ",otros_mov.num_doc,", getdate(),a.cod_transp,a.sec_transp,",
|
||||
"a.placa,a.cod_tarifa,",otros_mov1.cod_mov_transferencia,
|
||||
",a.detalle,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,
|
||||
a.cantidad_1,a.cantidad_2*-1,",otros_mov.bodega_destino,",'",gusuario CLIPPED,"',getdate(),",
|
||||
otros_mov.cod_mov,",", otros_mov1.num_doc,",",otros_mov.bodega,
|
||||
",a.numero_doc,a.num_oc,a.cod_sp,a.cod_sp_Sec ",
|
||||
" FROM iptb00033 a WHERE a.num_doc =",otros_mov1.num_doc," and a.bodega = ",otros_mov.bodega,
|
||||
" AND a.cod_mov = ",otros_mov.cod_mov," AND a.bodega_d = ",otros_mov.bodega_destino,
|
||||
" AND a.cond_recep = 'N' "
|
||||
|
||||
PREPARE comando FROM selec
|
||||
EXECUTE comando
|
||||
|
||||
|
||||
LET selec = "INSERT INTO iptb00062
|
||||
(num_doc
|
||||
,cod_n
|
||||
,cod_grupo
|
||||
,cod_tipo
|
||||
,cod_sec
|
||||
,cod_mov
|
||||
,bodega
|
||||
,cod_seccion
|
||||
,cod_tramo
|
||||
,cod_fila
|
||||
,cod_pos
|
||||
,cantidad
|
||||
,cantidad2
|
||||
,us_crea
|
||||
,fech_crea)
|
||||
SELECT
|
||||
",otros_mov.num_doc,"
|
||||
,a.cod_n
|
||||
,a.cod_grupo
|
||||
,a.cod_tipo
|
||||
,a.cod_sec,
|
||||
",otros_mov1.cod_mov_transferencia,"
|
||||
,",otros_mov.bodega_destino,"
|
||||
,",idseccion,"
|
||||
,",idtramo,"
|
||||
,",idfila,"
|
||||
,",idpos,"
|
||||
,a.cantidad_1
|
||||
,a.cantidad_2 * -1
|
||||
|
||||
,'",gusuario CLIPPED,"'
|
||||
,getdate()
|
||||
FROM iptb00033 a WHERE a.num_doc =",otros_mov1.num_doc," and a.bodega = ",otros_mov.bodega,
|
||||
" AND a.cod_mov = ",otros_mov.cod_mov," AND a.bodega_d = ",otros_mov.bodega_destino,
|
||||
" AND a.cond_recep = 'N'
|
||||
"
|
||||
|
||||
PREPARE entrada FROM selec
|
||||
EXECUTE entrada
|
||||
|
||||
UPDATE iptb00033 SET cond_recep = "S",us_mod = gusuario,fech_mod = getdate()
|
||||
WHERE cod_mov =otros_mov.cod_mov AND num_doc =otros_mov1.num_doc AND
|
||||
bodega = otros_mov.bodega
|
||||
|
||||
COMMIT WORK
|
||||
IF ximpresion = 'S' THEN
|
||||
# IMPRESION
|
||||
|
||||
DECLARE busca_data CURSOR FOR
|
||||
SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,a.cantidad_1,a.cantidad_2,
|
||||
b.descrip_Esp,b.unidad_med,a.num_doc,a.fecha,a.cod_mov,c.descrip_mov, a.bodega,
|
||||
a.placa,a.cod_transp,a.sec_transp
|
||||
FROM iptb00006 a,iptb00002 b,iptb00005 c
|
||||
WHERE a.num_doc = otros_mov.num_doc AND a.cod_mov = otros_mov1.cod_mov_transferencia AND
|
||||
a.bodega = otros_mov.bodega_destino AND a.cod_mov = c.cod_mov AND
|
||||
a.cod_n = b.cod_n AND a.cod_Grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND
|
||||
a.cod_Sec = b.cod_Sec
|
||||
|
||||
LET idx = 1
|
||||
CALL defecto(gusuario,gclave,gimpresor) RETURNING imprime,negrilla_on,negrillas_of,
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia
|
||||
|
||||
START REPORT formu4 TO archivo
|
||||
|
||||
FOREACH busca_data INTO movi2[idx].cod_n,movi2[idx].cod_grupo,movi2[idx].cod_tipo,
|
||||
movi2[idx].cod_sec,movi2[idx].cantidad_1,movi2[idx].cantidad_2,
|
||||
movi2[idx].descrip_esp,movi2[idx].unidad_med,
|
||||
otros_mov.num_doc,otros_mov.fecha,otros_mov.cod_mov,otros_mov.descrip_mov,
|
||||
otros_mov.bodega,otros_mov.placa,otros_mov.cod_transp,otros_mov.sec_transp
|
||||
|
||||
OUTPUT TO REPORT formu4(otros_mov.*,movi2[idx].*)
|
||||
END FOREACH
|
||||
FINISH REPORT formu4
|
||||
RUN imprime
|
||||
|
||||
END IF
|
||||
CALL fgl_Winmessage("INFO","TRANSFERENCIA ADICIONADA CON EXITO","INFO")
|
||||
END FUNCTION
|
||||
FUNCTION buscadata(i)
|
||||
DEFINE i INT
|
||||
|
||||
SELECT UNIQUE a.detalle,b.descrip_mov,a.cod_cia,a.bodega,a.bodega_d,c.nombre,a.cod_transp,
|
||||
a.sec_transp,b.codigo_mov_transferencia,a.placa
|
||||
INTO otros_mov.detalle,otros_mov.descrip_mov,otros_mov.cod_cia,
|
||||
otros_mov.bodega,otros_mov.bodega_destino,DESCRIP_TRANSP,otros_mov.cod_transp,
|
||||
otros_mov.sec_transp,otros_mov1.cod_mov_transferencia,otros_mov.placa
|
||||
FROM iptb00033 a,iptb00005 b,vetb00015 c
|
||||
WHERE a.num_doc = piking[i].num_doc
|
||||
AND a.cod_mov = piking[i].cod_mov
|
||||
AND a.cod_mov = b.cod_mov and a.bodega = piking[i].bodega
|
||||
AND a.status_t IS NULL AND a.cond_recep = 'N'
|
||||
AND c.cod_transp=a.cod_transp AND
|
||||
c.sec_transp = a.sec_transp
|
||||
|
||||
LET otros_mov.detalle = otros_mov1.detalle
|
||||
LET otros_mov.cod_cia = otros_mov1.cod_cia
|
||||
LET otros_mov1.num_Doc = piking[i].num_doc
|
||||
|
||||
|
||||
LET otros_mov.fecha = piking[i].fecha
|
||||
LET otros_mov.cod_mov = piking[i].cod_mov
|
||||
LET otros_mov.bodega = piking[i].bodega
|
||||
|
||||
LET otros_mov.bodega_destino = piking[i].bodega2
|
||||
|
||||
LET tituloBodega = piking[i].nombre_b2
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION pendienteRecibir(xbodega)
|
||||
DEFINE xbodega,j INT
|
||||
DECLARE cuenta CURSOR FOR
|
||||
SELECT DISTINCT d.nombre, a.bodega,e.descripcion,a.bodega_d,' ',a.num_doc,a.fecha,a.cod_mov,
|
||||
c.descrip_mov,a.us_crea,a.cond_recep,
|
||||
c.codigo_mov_transferencia,a.cod_transp,a.sec_transp,a.placa
|
||||
FROM iptb00033 a,iptb00005 c,intb00009 e,vetb00015 d
|
||||
WHERE a.bodega_d = xbodega and
|
||||
e.cod_bodega = a.bodega_d AND
|
||||
a.cond_recep = 'N' AND
|
||||
a.cod_mov = c.cod_mov AND c.control_transferencia= "SI" AND
|
||||
a.cod_transp = d.cod_transp AND
|
||||
a.sec_transp = d.sec_transp AND
|
||||
a.status_t IS NULL
|
||||
LET j = 0
|
||||
FOREACH cuenta
|
||||
LET j = j +1
|
||||
END FOREACH
|
||||
RETURN j
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user