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>
92 lines
4.4 KiB
Plaintext
92 lines
4.4 KiB
Plaintext
GLOBALS "ipprgb000.4gl"
|
|
|
|
FUNCTION buscadoc(numid,codmov)
|
|
DEFINE numid,codmov INT
|
|
|
|
SELECT a.numero_Doc,a.cod_mov,a.fecha,a.num_oc,a.tipo_cliente,a.sec_cliente,a.nombre,a.bodega,a.bodega_destino,
|
|
a.estado,a.url_destino,b.descripcion,a.observacion
|
|
INTO p_iptb57.numero_doc,p_iptb57.cod_mov,p_iptb57.fecha,p_iptb57.num_oc,p_iptb57.tipo_cliente,p_iptb57.sec_cliente,
|
|
p_iptb57.cliente,p_iptb57.bodega,p_iptb57.bodega_destino,p_iptb57.estado,
|
|
p_iptb57.url_file,p_iptb57.observacion
|
|
FROM iptb00057 a, iptb00061 b
|
|
WHERE a.numero_doc = numid AND a.cod_mov = codmov AND
|
|
a.idestado = b.idestado
|
|
|
|
#BODEGA DESTINO
|
|
IF p_iptb57.bodega_destino IS NOT NULL THEN
|
|
SELECT a.descripcion INTO nombreBodegaDestino FROM intb00009 a WHERE a.cod_bodega = p_iptb57.bodega_destino
|
|
END IF
|
|
DECLARE buscardetalle CURSOR FOR
|
|
SELECT a.area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descripcion,a.unidad_med,
|
|
a.cantidad_1,a.cantidad_2,b.factor_conv,
|
|
c.id_etiqueta,
|
|
c.lado_1,c.lado_2,c.lado_3,c.cantidad,c.medida
|
|
FROM iptb00058 a,iptb00001 b LEFT OUTER JOIN iptb00060 c ON c.cod_n =b.cod_n AND c.cod_grupo = b.cod_grupo AND
|
|
c.cod_tipo = b.cod_tipo AND c.cod_sec = b.cod_Sec AND
|
|
c.id_despiece = numid
|
|
|
|
WHERE a.numero_Doc = numid AND a.cod_mov = codmov 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 arr_iptb58.clear()
|
|
LET total_cantidad =0
|
|
LET total_medida =0
|
|
LET tienedespiece = FALSE
|
|
FOREACH buscardetalle INTO arr_iptb58[idx].area,
|
|
arr_iptb58[idx].cod_n,
|
|
arr_iptb58[idx].cod_grupo,
|
|
arr_iptb58[idx].cod_tipo,
|
|
arr_iptb58[idx].cod_sec,
|
|
arr_iptb58[idx].descripcion,
|
|
arr_iptb58[idx].unidad_med,
|
|
arr_iptb58[idx].cantidad_1,
|
|
arr_iptb58[idx].cantidad,
|
|
arr_iptb58[idx].factor_conv,
|
|
despiece[idx].id_etiqueta,
|
|
despiece[idx].lado_1,
|
|
despiece[idx].lado_2,
|
|
despiece[idx].lado_3,
|
|
despiece[idx].cantidad,
|
|
despiece[idx].medida
|
|
IF despiece[idx].cantidad > 0 THEN
|
|
LET tienedespiece= TRUE
|
|
ELSE
|
|
LET tienedespiece= FALSE
|
|
END IF
|
|
LET total_cantidad = total_cantidad + despiece[idx].cantidad
|
|
LET total_medida = total_medida + despiece[idx].medida
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
LET cuentaimp = idx
|
|
{ #DESPIECE
|
|
CALL despiece.clear()
|
|
|
|
DECLARE busca_despiecem1 CURSOR FOR
|
|
SELECT a.id_etiqueta,a.lado_1,a.lado_2,a.lado_3,a.cantidad,a.medida,a.secuencia,
|
|
a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec
|
|
FROM iptb00060 a,vetb00026 b
|
|
WHERE a.id_despiece = p_iptb57.numero_doc AND
|
|
a.id_etiqueta = b.codid
|
|
|
|
LET total_cantidad = 0
|
|
LET idx = 1
|
|
|
|
FOREACH busca_despiecem1 INTO despiece[idx].id_etiqueta,despiece[idx].lado_1,
|
|
despiece[idx].lado_2,despiece[idx].lado_3,despiece[idx].cantidad,
|
|
despiece[idx].medida,despiece[idx].secuencia,
|
|
despiece[idx].cod_n,
|
|
despiece[idx].cod_grupo,
|
|
despiece[idx].cod_tipo,
|
|
despiece[idx].cod_sec
|
|
|
|
|
|
LET total_cantidad = total_cantidad + despiece[idx].cantidad
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
}
|
|
RETURN p_iptb57.*,arr_iptb58
|
|
END FUNCTION
|