JSOTO QA G6 (.250): arreglos en reportes de Repuestos y Contabilidad
Repuestos (irdir): - irprrp002: cod_sec USING '&&&&' (con '&&&' salia *** en sec >= 1000); encabezado con companias.nombre (estaba fijo "EUROSTONE"). - irprrp003: filtro de fecha real con parametros (antes CONVERT(...,103) BETWEEN texto: traia movimientos de cualquier ano); codigo CHAR(8)/'&&&&' (los sec >= 1000 se mezclaban en un mismo grupo y saldo); RIGHT MARGIN 170 (saldo y balance cortados). - irprrp004: CONSTRUCT sobre irtb00005.cod_mov (antes intb00005: fallaba con filtro). - irprrp006: JOIN b.cod_n = c.cod_n (antes c.cod_n = c.cod_n). - irprrp009: CONSTRUCT calificado con b. (columnas ambiguas en el JOIN). - irprrp045: sin departamento solo muestra los departamentos del usuario (adtb00056). Contabilidad (cgdir): - cgprrp014: saldo de apertura acreedor va positivo a la columna CR (restaba en totales). - cgprrp009: ya no modifica cgtb00004 (UPDATE departamento=0 y reversion); el NULL se trata como 0 en las consultas; corrige idx1 (START REPORT se repetia por fila). - cgprcs024: el acumulado anterior termina el dia antes de "desde" (se contaba doble). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -126,7 +126,7 @@ FUNCTION cgprcs024()
|
|||||||
FROM cgtb00004 a
|
FROM cgtb00004 a
|
||||||
WHERE (a.ref =a.ref AND a.tipo<>3) AND
|
WHERE (a.ref =a.ref AND a.tipo<>3) AND
|
||||||
(a.cuenta_no = gastos[idx].cuenta_no) AND
|
(a.cuenta_no = gastos[idx].cuenta_no) AND
|
||||||
(a.fecha BETWEEN fecha_ini_act AND fecha.desde ) AND
|
(a.fecha >= fecha_ini_act AND a.fecha < fecha.desde) AND -- antes BETWEEN ... AND desde: el dia 'desde' se sumaba tambien en el rango (doble)
|
||||||
(a.departamento = cdepartamentos) AND
|
(a.departamento = cdepartamentos) AND
|
||||||
a.status_t is NULL
|
a.status_t is NULL
|
||||||
--227-1322-2108
|
--227-1322-2108
|
||||||
|
|||||||
@@ -127,20 +127,21 @@ END MAIN
|
|||||||
# (7) y tienen el departamento nulo.
|
# (7) y tienen el departamento nulo.
|
||||||
# Este UPDATE se reversa al momento de acabar el reporte
|
# Este UPDATE se reversa al momento de acabar el reporte
|
||||||
|
|
||||||
UPDATE cgtb00004 set departamento = 0
|
-- G6: antes UPDATE cgtb00004 SET departamento = 0 (y al final lo revertia a NULL): modificaba
|
||||||
WHERE departamento is null and cuenta_no[1] = "7"
|
-- el mayor real, no se revertia si no habia datos y convertia en NULL los 0 legitimos.
|
||||||
|
-- Ahora el departamento nulo se trata como 0 en las consultas (ISNULL/NVL).
|
||||||
|
|
||||||
DELETE FROM cgtb00016 WHERE ano =p_ano AND mes = p_mes AND programa='cgprrp013.4rp' AND
|
DELETE FROM cgtb00016 WHERE ano =p_ano AND mes = p_mes AND programa='cgprrp013.4rp' AND
|
||||||
estado_a <> '275'
|
estado_a <> '275'
|
||||||
|
|
||||||
LET selec =
|
LET selec =
|
||||||
"SELECT distinct a.cuenta_no,b.descripcion,d.dpto,a.departamento,c.nom_dpto ",
|
"SELECT distinct a.cuenta_no,b.descripcion,d.dpto,ISNULL(a.departamento,0),c.nom_dpto ",
|
||||||
"FROM cgtb00001 b, cgtb00004 a, chequeo d,adtb00001 c ",
|
"FROM cgtb00001 b, cgtb00004 a, chequeo d,adtb00001 c ",
|
||||||
"WHERE (a.cuenta_no = b.cuenta_no) AND (SUBSTRING(b.cuenta_no,1,1) = '7') AND ",
|
"WHERE (a.cuenta_no = b.cuenta_no) AND (SUBSTRING(b.cuenta_no,1,1) = '7') AND ",
|
||||||
" (a.departamento = d.departamento) AND a.status_t IS NULL AND ",
|
" (ISNULL(a.departamento,0) = d.departamento) AND a.status_t IS NULL AND ",
|
||||||
" (a.departamento = c.departamento) AND ",
|
" (ISNULL(a.departamento,0) = c.departamento) AND ",
|
||||||
" (a.fecha <= ?) AND b.status_t is null AND ",criterio CLIPPED,
|
" (a.fecha <= ?) AND b.status_t is null AND ",criterio CLIPPED,
|
||||||
"ORDER BY d.dpto,a.departamento,a.cuenta_no"
|
"ORDER BY d.dpto,ISNULL(a.departamento,0),a.cuenta_no"
|
||||||
|
|
||||||
DISPLAY "<<<Buscando Informacion... Espere por Favor>>>" AT 19,14
|
DISPLAY "<<<Buscando Informacion... Espere por Favor>>>" AT 19,14
|
||||||
ATTRIBUTE(blue)
|
ATTRIBUTE(blue)
|
||||||
@@ -189,12 +190,10 @@ END MAIN
|
|||||||
END IF
|
END IF
|
||||||
OUTPUT TO REPORT gastos_gral(gastos.*,fecha_inicial,fecha_final,p_ano,
|
OUTPUT TO REPORT gastos_gral(gastos.*,fecha_inicial,fecha_final,p_ano,
|
||||||
ano_ant)
|
ano_ant)
|
||||||
LET idx1 = idx+1
|
LET idx1 = idx1+1 -- antes idx+1: idx1 no avanzaba y START REPORT se repetia por fila
|
||||||
END FOREACH
|
END FOREACH
|
||||||
IF idx1 > 1 THEN
|
IF idx1 > 1 THEN
|
||||||
FINISH REPORT gastos_gral
|
FINISH REPORT gastos_gral
|
||||||
UPDATE cgtb00004 set departamento = NULL
|
|
||||||
WHERE departamento = 0 and cuenta_no[1] = "7"
|
|
||||||
ELSE
|
ELSE
|
||||||
CALL fgl_winmessage("INFO","NO EXISTEN REGISTROS","INFO")
|
CALL fgl_winmessage("INFO","NO EXISTEN REGISTROS","INFO")
|
||||||
END IF
|
END IF
|
||||||
@@ -314,18 +313,18 @@ REPORT gastos_gral(x,fecha1,fecha2,p_ano1,ano_ant1)
|
|||||||
FROM cgtb00004 a
|
FROM cgtb00004 a
|
||||||
WHERE (a.ref NOT MATCHES "ED.99-999/12*") and
|
WHERE (a.ref NOT MATCHES "ED.99-999/12*") and
|
||||||
(a.cuenta_no = x.cuenta_no) and (a.fecha BETWEEN fecha4 AND fecha5) and
|
(a.cuenta_no = x.cuenta_no) and (a.fecha BETWEEN fecha4 AND fecha5) and
|
||||||
(a.departamento = x.departamento) and a.status_t is null
|
(a.departamento = x.departamento OR (a.departamento IS NULL AND x.departamento = 0)) and a.status_t is null
|
||||||
|
|
||||||
SELECT SUM(a.debito-a.credito) INTO x.valor
|
SELECT SUM(a.debito-a.credito) INTO x.valor
|
||||||
FROM cgtb00004 a
|
FROM cgtb00004 a
|
||||||
WHERE (a.cuenta_no = x.cuenta_no) and
|
WHERE (a.cuenta_no = x.cuenta_no) and
|
||||||
(a.fecha BETWEEN fecha_inicial AND fecha_final) and
|
(a.fecha BETWEEN fecha_inicial AND fecha_final) and
|
||||||
(a.departamento = x.departamento) and a.status_t is null
|
(a.departamento = x.departamento OR (a.departamento IS NULL AND x.departamento = 0)) and a.status_t is null
|
||||||
|
|
||||||
SELECT SUM(a.debito-a.credito) INTO x.valor_ant FROM cgtb00004 a
|
SELECT SUM(a.debito-a.credito) INTO x.valor_ant FROM cgtb00004 a
|
||||||
WHERE (a.ref != ent_diario) and
|
WHERE (a.ref != ent_diario) and
|
||||||
(a.cuenta_no = x.cuenta_no) and (a.fecha < fecha_inicial) and
|
(a.cuenta_no = x.cuenta_no) and (a.fecha < fecha_inicial) and
|
||||||
(a.departamento = x.departamento) and a.status_t is null
|
(a.departamento = x.departamento OR (a.departamento IS NULL AND x.departamento = 0)) and a.status_t is null
|
||||||
|
|
||||||
IF x.ano_ante is null THEN
|
IF x.ano_ante is null THEN
|
||||||
LET x.ano_ante = 0
|
LET x.ano_ante = 0
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ REPORT mayor_ref(x,fecha1,fecha2)
|
|||||||
LET total1 = balance
|
LET total1 = balance
|
||||||
LET total2 = 0
|
LET total2 = 0
|
||||||
ELSE
|
ELSE
|
||||||
LET total2 = balance
|
LET total2 = balance * -1 -- saldo acreedor va POSITIVO a la columna CR (antes negativo: restaba en los totales)
|
||||||
LET total1 = 0
|
LET total1 = 0
|
||||||
END IF
|
END IF
|
||||||
IF balance != 0 OR balance_final != 0 THEN
|
IF balance != 0 OR balance_final != 0 THEN
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ END FUNCTION
|
|||||||
LET hora = time
|
LET hora = time
|
||||||
PRINT COLUMN 3, comp_off,negrillas_on
|
PRINT COLUMN 3, comp_off,negrillas_on
|
||||||
PRINT COLUMN 1, "irprrp002",
|
PRINT COLUMN 1, "irprrp002",
|
||||||
COLUMN 17, " E U R O S T O N E, S. A.",
|
COLUMN 31, p_companias.nombre CLIPPED, -- antes "E U R O S T O N E" fijo
|
||||||
COLUMN 75, "Pag. ",pageno using "###"
|
COLUMN 75, "Pag. ",pageno using "###"
|
||||||
PRINT COLUMN 17, " Sistema de Inventario de Repuestos ",
|
PRINT COLUMN 17, " Sistema de Inventario de Repuestos ",
|
||||||
COLUMN 75, today using "dd/mm/yyyy"
|
COLUMN 75, today using "dd/mm/yyyy"
|
||||||
@@ -259,7 +259,7 @@ END FUNCTION
|
|||||||
END IF
|
END IF
|
||||||
|
|
||||||
PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&&","-",
|
PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&&","-",
|
||||||
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&"," ",
|
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&&"," ", -- &&& daba *** con sec >= 1000
|
||||||
x.descrip_esp CLIPPED," ",x.descrip_ing,
|
x.descrip_esp CLIPPED," ",x.descrip_ing,
|
||||||
COLUMN 91, x.unidad_med,
|
COLUMN 91, x.unidad_med,
|
||||||
COLUMN 100, x.dia_llegada using "###",
|
COLUMN 100, x.dia_llegada using "###",
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ FUNCTION irprrp03()
|
|||||||
cantidad_2 LIKE irtb00006.cantidad_2,
|
cantidad_2 LIKE irtb00006.cantidad_2,
|
||||||
cod_mov LIKE irtb00006.cod_mov,
|
cod_mov LIKE irtb00006.cod_mov,
|
||||||
descrip_mov LIKE irtb00005.descrip_mov,
|
descrip_mov LIKE irtb00005.descrip_mov,
|
||||||
codigo CHAR(7),
|
codigo CHAR(8),
|
||||||
balance_in DECIMAL(12,2)
|
balance_in DECIMAL(12,2)
|
||||||
END RECORD
|
END RECORD
|
||||||
|
|
||||||
@@ -107,7 +107,9 @@ LET selec =
|
|||||||
"FROM irtb00006 a, irtb00002 b, irtb00005 c ",
|
"FROM irtb00006 a, irtb00002 b, irtb00005 c ",
|
||||||
"WHERE ",criterio clipped," AND a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo ",
|
"WHERE ",criterio clipped," 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 c.cod_mov=a.cod_mov ",
|
"AND a.cod_tipo=b.cod_tipo AND a.cod_sec=b.cod_sec AND c.cod_mov=a.cod_mov ",
|
||||||
"AND b.status_t is NULL AND CONVERT(CHAR(10),a.fecha,103) between '", datos_cons.fech_in USING 'dd/mm/yyyy', "' and '",datos_cons.fech_fi USING 'dd/mm/yyyy', "' AND a.status_t IS NULL ",
|
-- antes CONVERT(CHAR(10),a.fecha,103) BETWEEN 'dd/mm/yyyy' AND ...: comparaba TEXTO y traia
|
||||||
|
-- movimientos de cualquier ano cuyo dd/mm cayera en el rango -> fecha real con parametros
|
||||||
|
"AND b.status_t is NULL AND a.fecha BETWEEN ? AND ? AND a.status_t IS NULL ",
|
||||||
"ORDER BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.fecha"
|
"ORDER BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.fecha"
|
||||||
|
|
||||||
# Abrir el archivo del spool para la impresion
|
# Abrir el archivo del spool para la impresion
|
||||||
@@ -117,17 +119,16 @@ LET selec =
|
|||||||
DISPLAY selec
|
DISPLAY selec
|
||||||
PREPARE busca FROM selec
|
PREPARE busca FROM selec
|
||||||
DECLARE accion CURSOR FOR busca
|
DECLARE accion CURSOR FOR busca
|
||||||
OPEN accion
|
|
||||||
|
|
||||||
LET selec1 =
|
LET selec1 =
|
||||||
"SELECT COUNT(*) FROM irtb00006 a, irtb00002 b, irtb00005 c ",
|
"SELECT COUNT(*) FROM irtb00006 a, irtb00002 b, irtb00005 c ",
|
||||||
"WHERE ",criterio clipped," AND a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo ",
|
"WHERE ",criterio clipped," 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 c.cod_mov=a.cod_mov ",
|
"AND a.cod_tipo=b.cod_tipo AND a.cod_sec=b.cod_sec AND c.cod_mov=a.cod_mov ",
|
||||||
"AND b.status_t is NULL AND a.fecha between '", datos_cons.fech_in USING 'mm/dd/yyyy', "' and '",datos_cons.fech_fi USING 'mm/dd/yyyy', "' AND a.status_t IS NULL "
|
"AND b.status_t is NULL AND a.fecha BETWEEN ? AND ? AND a.status_t IS NULL "
|
||||||
|
|
||||||
PREPARE comando1 FROM selec1
|
PREPARE comando1 FROM selec1
|
||||||
DECLARE busca1 CURSOR FOR comando1
|
DECLARE busca1 CURSOR FOR comando1
|
||||||
OPEN busca1
|
OPEN busca1 USING datos_cons.fech_in, datos_cons.fech_fi
|
||||||
|
|
||||||
FETCH busca1 INTO regi
|
FETCH busca1 INTO regi
|
||||||
LET p_param = "S"
|
LET p_param = "S"
|
||||||
@@ -146,14 +147,14 @@ LET selec1 =
|
|||||||
|
|
||||||
# Loop para la busqueda de los movimientos de los codigos especificados
|
# Loop para la busqueda de los movimientos de los codigos especificados
|
||||||
|
|
||||||
FOREACH accion INTO transacc.*
|
FOREACH accion USING datos_cons.fech_in, datos_cons.fech_fi INTO transacc.*
|
||||||
|
|
||||||
CALL termometro(regi,p_param)
|
CALL termometro(regi,p_param)
|
||||||
LET p_param = "N"
|
LET p_param = "N"
|
||||||
LET transacc.codigo = transacc.cod_n USING "&",
|
LET transacc.codigo = transacc.cod_n USING "&",
|
||||||
transacc.cod_grupo USING "&",
|
transacc.cod_grupo USING "&",
|
||||||
transacc.cod_tipo USING "&&",
|
transacc.cod_tipo USING "&&",
|
||||||
transacc.cod_sec USING "&&&"
|
transacc.cod_sec USING "&&&&" -- &&& = *** con sec >= 1000: mezclaba articulos en un grupo
|
||||||
|
|
||||||
LET transacc.balance_in = 0
|
LET transacc.balance_in = 0
|
||||||
|
|
||||||
@@ -185,7 +186,7 @@ END FUNCTION
|
|||||||
cantidad_2 LIKE irtb00006.cantidad_2,
|
cantidad_2 LIKE irtb00006.cantidad_2,
|
||||||
cod_mov LIKE irtb00006.cod_mov,
|
cod_mov LIKE irtb00006.cod_mov,
|
||||||
descrip_mov LIKE irtb00005.descrip_mov,
|
descrip_mov LIKE irtb00005.descrip_mov,
|
||||||
codigo CHAR(7),
|
codigo CHAR(8),
|
||||||
balance_in DECIMAL(12,2)
|
balance_in DECIMAL(12,2)
|
||||||
END RECORD
|
END RECORD
|
||||||
|
|
||||||
@@ -203,6 +204,7 @@ END FUNCTION
|
|||||||
entrada,salida DECIMAL(12,2)
|
entrada,salida DECIMAL(12,2)
|
||||||
OUTPUT
|
OUTPUT
|
||||||
LEFT MARGIN 0
|
LEFT MARGIN 0
|
||||||
|
RIGHT MARGIN 170 -- el balance se imprime hasta la col. 166; con el default (132) GRE lo cortaba
|
||||||
ORDER BY x.codigo
|
ORDER BY x.codigo
|
||||||
|
|
||||||
FORMAT
|
FORMAT
|
||||||
@@ -273,7 +275,7 @@ END FUNCTION
|
|||||||
PRINT COLUMN 1, x.cod_n USING "&","-",
|
PRINT COLUMN 1, x.cod_n USING "&","-",
|
||||||
COLUMN 3, x.cod_grupo USING "&","-",
|
COLUMN 3, x.cod_grupo USING "&","-",
|
||||||
COLUMN 5, x.cod_tipo USING "&&","-",
|
COLUMN 5, x.cod_tipo USING "&&","-",
|
||||||
COLUMN 8, x.cod_sec USING "&&&",
|
COLUMN 8, x.cod_sec USING "&&&&",
|
||||||
COLUMN 15, x.descrip_esp,
|
COLUMN 15, x.descrip_esp,
|
||||||
COLUMN 45, x.unidad_med,
|
COLUMN 45, x.unidad_med,
|
||||||
COLUMN 132, "Inicial ---> ",
|
COLUMN 132, "Inicial ---> ",
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ FUNCTION irprrp04()
|
|||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
CONSTRUCT criterio ON intb00005.cod_mov FROM cod_mov
|
CONSTRUCT criterio ON irtb00005.cod_mov FROM cod_mov -- antes intb00005 (tabla de MP): con filtro el SQL sobre irtb00005 fallaba
|
||||||
|
|
||||||
IF int_flag THEN
|
IF int_flag THEN
|
||||||
LET numero_msg = 2
|
LET numero_msg = 2
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ FUNCTION irprrp006()
|
|||||||
" b.descrip_ing,b.unidad_med,b.exist_min,ISNULL(sum(c.cantidad_2),0) ",
|
" b.descrip_ing,b.unidad_med,b.exist_min,ISNULL(sum(c.cantidad_2),0) ",
|
||||||
"FROM irtb00002 b,irtb00006 c ",
|
"FROM irtb00002 b,irtb00006 c ",
|
||||||
"WHERE ",criterio CLIPPED,
|
"WHERE ",criterio CLIPPED,
|
||||||
" AND (c.cod_n = c.cod_n AND b.cod_Grupo = c.cod_Grupo AND b.cod_tipo = c.cod_tipo AND b.cod_sec = c.cod_sec) ",
|
" AND (b.cod_n = c.cod_n AND b.cod_Grupo = c.cod_Grupo AND b.cod_tipo = c.cod_tipo AND b.cod_sec = c.cod_sec) ",
|
||||||
" AND c.status_t IS NULL " ,
|
" AND c.status_t IS NULL " ,
|
||||||
" AND b.status_t IS NULL ",
|
" AND b.status_t IS NULL ",
|
||||||
"GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.exist_min,b.descrip_esp,b.descrip_ing,b.unidad_med ",
|
"GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.exist_min,b.descrip_esp,b.descrip_ing,b.unidad_med ",
|
||||||
@@ -79,7 +79,7 @@ FUNCTION irprrp006()
|
|||||||
" b.descrip_ing,b.unidad_med,b.exist_min,ISNULL(sum(c.cantidad_2),0) ",
|
" b.descrip_ing,b.unidad_med,b.exist_min,ISNULL(sum(c.cantidad_2),0) ",
|
||||||
"FROM irtb00002 b,irtb00006 c ",
|
"FROM irtb00002 b,irtb00006 c ",
|
||||||
"WHERE ",criterio CLIPPED,
|
"WHERE ",criterio CLIPPED,
|
||||||
" AND (c.cod_n = c.cod_n AND b.cod_Grupo = c.cod_Grupo AND b.cod_tipo = c.cod_tipo AND b.cod_sec = c.cod_sec) ",
|
" AND (b.cod_n = c.cod_n AND b.cod_Grupo = c.cod_Grupo AND b.cod_tipo = c.cod_tipo AND b.cod_sec = c.cod_sec) ",
|
||||||
" AND c.status_t IS NULL " ,
|
" AND c.status_t IS NULL " ,
|
||||||
" AND b.status_t IS NULL ",
|
" AND b.status_t IS NULL ",
|
||||||
"GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.exist_min,b.descrip_esp,b.descrip_ing,b.unidad_med ",
|
"GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.exist_min,b.descrip_esp,b.descrip_ing,b.unidad_med ",
|
||||||
|
|||||||
@@ -71,7 +71,10 @@ FUNCTION irprrp009()
|
|||||||
|
|
||||||
OPEN FORM edfmrp118 FROM "irfmrp009"
|
OPEN FORM edfmrp118 FROM "irfmrp009"
|
||||||
DISPLAY FORM edfmrp118
|
DISPLAY FORM edfmrp118
|
||||||
CONSTRUCT BY NAME criterio ON cod_mov,cod_n,cod_grupo,cod_tipo,cod_sec
|
-- columnas calificadas con b. (irtb00006): sin prefijo, cod_n/cod_grupo/cod_tipo/cod_sec
|
||||||
|
-- son ambiguas en el JOIN con irtb00002 y cualquier filtro por codigo fallaba
|
||||||
|
CONSTRUCT criterio ON b.cod_mov,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec
|
||||||
|
FROM cod_mov,cod_n,cod_grupo,cod_tipo,cod_sec
|
||||||
BEFORE CONSTRUCT
|
BEFORE CONSTRUCT
|
||||||
CALL ircmovimientos()
|
CALL ircmovimientos()
|
||||||
AFTER CONSTRUCT
|
AFTER CONSTRUCT
|
||||||
|
|||||||
@@ -110,13 +110,16 @@ FUNCTION irprrp045()
|
|||||||
##### Selecionando la informacion requerida para la salida de
|
##### Selecionando la informacion requerida para la salida de
|
||||||
##### informacion
|
##### informacion
|
||||||
IF departamento IS NULL THEN
|
IF departamento IS NULL THEN
|
||||||
LET selec =
|
-- Sin departamento: solo los departamentos asignados al usuario (adtb00056), igual
|
||||||
|
-- que el combo; antes dejarlo vacio mostraba el consumo de TODOS los departamentos.
|
||||||
|
LET selec =
|
||||||
"SELECT 'REPUESTOS',a.sec_a as departamento,b.nom_dpto,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
"SELECT 'REPUESTOS',a.sec_a as departamento,b.nom_dpto,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||||
" c.descrip_esp,c.unidad_med,a.fecha,a.num_doc,cast(d.cod_mov as char(5))+'-'+d.descrip_mov, a.cantidad_2*-1 ",
|
" c.descrip_esp,c.unidad_med,a.fecha,a.num_doc,cast(d.cod_mov as char(5))+'-'+d.descrip_mov, a.cantidad_2*-1 ",
|
||||||
"FROM irtb00006 a,adtb00001 b,irtb00002 c,irtb00005 d ",
|
"FROM irtb00006 a,adtb00001 b,irtb00002 c,irtb00005 d ",
|
||||||
"WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ",
|
"WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ",
|
||||||
" a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ",
|
" a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ",
|
||||||
" a.cod_mov = d.cod_mov AND d.consumo = 'SI' AND ",
|
" a.cod_mov = d.cod_mov AND d.consumo = 'SI' AND ",
|
||||||
|
" a.sec_a IN (SELECT u.departamento_visualiza FROM adtb00056 u WHERE u.usuario = '", usuarios CLIPPED, "') AND ",
|
||||||
" a.sec_a = b.departamento AND a.status_t is NULL AND ",
|
" a.sec_a = b.departamento AND a.status_t is NULL AND ",
|
||||||
" a.fecha BETWEEN ? AND ? AND a.cantidad_2 < 0 AND ",
|
" a.fecha BETWEEN ? AND ? AND a.cantidad_2 < 0 AND ",
|
||||||
criterio CLIPPED ,
|
criterio CLIPPED ,
|
||||||
@@ -126,12 +129,13 @@ IF departamento IS NULL THEN
|
|||||||
"FROM intb00006 a,adtb00001 b,intb00001 c,intb00005 d ",
|
"FROM intb00006 a,adtb00001 b,intb00001 c,intb00005 d ",
|
||||||
"WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ",
|
"WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ",
|
||||||
" a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ",
|
" a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ",
|
||||||
" a.cod_mov = d.cod_mov AND d.consumo = 'SI' AND ",
|
" a.cod_mov = d.cod_mov AND d.consumo = 'SI' AND ",
|
||||||
|
" a.depto_a IN (SELECT u.departamento_visualiza FROM adtb00056 u WHERE u.usuario = '", usuarios CLIPPED, "') AND ",
|
||||||
" a.depto_a = b.departamento AND a.status_t is NULL AND ",
|
" a.depto_a = b.departamento AND a.status_t is NULL AND ",
|
||||||
" a.fecha BETWEEN ? AND ? AND a.cantidad_2 < 0 AND ",
|
" a.fecha BETWEEN ? AND ? AND a.cantidad_2 < 0 AND ",
|
||||||
criterio CLIPPED,
|
criterio CLIPPED,
|
||||||
|
|
||||||
" ORDER BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec"
|
" ORDER BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec"
|
||||||
ELSE
|
ELSE
|
||||||
LET selec =
|
LET selec =
|
||||||
"SELECT 'REPUESTOS',a.sec_a as departamento,b.nom_dpto,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
"SELECT 'REPUESTOS',a.sec_a as departamento,b.nom_dpto,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||||
|
|||||||
Reference in New Issue
Block a user