From a52b16b8b2676cfdd930df254858d3a2624e2a6f Mon Sep 17 00:00:00 2001 From: Jeilyn Peguero Date: Fri, 16 Oct 2026 17:00:54 -0400 Subject: [PATCH] ipprmt005 (Clase): graba Inventario y oculta clases eliminadas - Alta y modificacion ahora graban cod_inv (Inventario); antes se leia en la consulta pero nunca se guardaba (igual en el 42m de produccion 3.20). - La consulta excluye las clases con status_t = 'E' (eliminadas) y lee status_t, para que al consultar una eliminada salga REGISTRO NO EXISTE y funcione el control de Escoger sobre registros anulados. - Impresora se deja sin tocar, como en 3.20: el combo no tiene opciones (tampoco en produccion) y guardarlo borraria valores existentes (80-83) que usa veconvierteorden para rutear impresion de ordenes. - Configuracion de ejecucion con el usuario de la responsable (antes usaba el de jsoto, por eso grababa ese usuario como creador/modificador). Verificado: consulta de clase eliminada (211) da REGISTRO NO EXISTE; alta (212) graba Inventario y usuario jpeguero. Pendiente: probar Escoger y eLiminar con la nueva version y confirmar en produccion que cod_inv solo usa los valores del combo. Co-Authored-By: Claude Opus 5.5 --- PROYECTO/ipdir/ipprmt005.4gl | 21 +++++++++++---------- PROYECTO/mbsERP.4pw | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/PROYECTO/ipdir/ipprmt005.4gl b/PROYECTO/ipdir/ipprmt005.4gl index 7a7d25f..66a79a8 100644 --- a/PROYECTO/ipdir/ipprmt005.4gl +++ b/PROYECTO/ipdir/ipprmt005.4gl @@ -79,8 +79,8 @@ FUNCTION ippcad012() LET p_iptb20.cod_n = p_iptb20.cod_n + 1 DISPLAY p_iptb20.cod_n TO cod_n BEGIN WORK - INSERT INTO iptb00020 (cod_n,producto,us_crea,fech_crea,comentario,genera_orden,instalacion) - VALUES (p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion) + INSERT INTO iptb00020 (cod_n,producto,us_crea,fech_crea,comentario,genera_orden,instalacion,cod_inv) + VALUES (p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.cod_inv) INSERT INTO iptb00035 (cod_n,cod_cat) VALUES (p_iptb20.cod_n,p_iptb20.cod_cat) COMMIT WORK @@ -108,8 +108,8 @@ SET CONNECTION "MSSQL" EXIT CONSTRUCT END CONSTRUCT LET SELEC = " SELECT DISTINCT a.cod_n,a.producto,a.us_crea,a.us_mod,a.fech_crea,a.fech_mod,a.cod_inv,b.cod_cat, - a.comentario,a.genera_orden,a.instalacion FROM iptb00020 a LEFT OUTER JOIN iptb00035 b ON a.cod_n = b.cod_n ", - " WHERE ", + a.comentario,a.genera_orden,a.instalacion,a.status_t FROM iptb00020 a LEFT OUTER JOIN iptb00035 b ON a.cod_n = b.cod_n ", + " WHERE a.status_t IS NULL AND ", criterio clipped, " ORDER BY a.cod_n" @@ -119,7 +119,7 @@ SET CONNECTION "MSSQL" FETCH FIRST datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea, p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario, - p_iptb20.genera_orden,p_iptb20.instalacion + p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t IF status >= 0 THEN IF STATUS = NOTFOUND THEN @@ -140,7 +140,7 @@ SET CONNECTION "MSSQL" "Presenta en pantalla el proximo registro encontrado" FETCH NEXT datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea, p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario, - p_iptb20.genera_orden,p_iptb20.instalacion + p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t IF STATUS = NOTFOUND THEN @@ -157,7 +157,7 @@ SET CONNECTION "MSSQL" "Presenta en pantalla el registro anterior encontrado" FETCH PREVIOUS datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea, p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario, - p_iptb20.genera_orden,p_iptb20.instalacion + p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t IF STATUS = NOTFOUND THEN @@ -174,7 +174,7 @@ SET CONNECTION "MSSQL" "Presenta en pantalla el primer registro encontrado" FETCH FIRST datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea, p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario, - p_iptb20.genera_orden,p_iptb20.instalacion + p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t DISPLAY BY NAME p_iptb20.*,p_iptb20.cod_cat @@ -185,7 +185,7 @@ SET CONNECTION "MSSQL" "Presenta en pantalla el ultimo registro encontrado" FETCH LAST datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea, p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario, - p_iptb20.genera_orden,p_iptb20.instalacion + p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t DISPLAY BY NAME p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea, @@ -203,7 +203,7 @@ SET CONNECTION "MSSQL" CALL msg(36) EXIT MENU END IF - INPUT BY NAME p_iptb20.producto,p_iptb20.cod_cat,p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion WITHOUT DEFAULTS + INPUT BY NAME p_iptb20.producto,p_iptb20.cod_inv,p_iptb20.comentario,p_iptb20.cod_cat,p_iptb20.genera_orden,p_iptb20.instalacion WITHOUT DEFAULTS AFTER INPUT @@ -222,6 +222,7 @@ SET CONNECTION "MSSQL" BEGIN WORK UPDATE iptb00020 SET producto = p_iptb20.producto, comentario = p_iptb20.comentario, + cod_inv = p_iptb20.cod_inv, genera_orden = p_iptb20.genera_orden, us_mod = SUSER_SNAME(), fech_mod = GETDATE() , diff --git a/PROYECTO/mbsERP.4pw b/PROYECTO/mbsERP.4pw index 502b77a..8088842 100644 --- a/PROYECTO/mbsERP.4pw +++ b/PROYECTO/mbsERP.4pw @@ -678,7 +678,7 @@ - +