on 05-18-2010 12:49 AM
Buenas a todos,
En esta oportunidad le escribo para solicitarles ayuda con el siguiente caso. En el tabla OITB (Grupos de Artículos) he creado un campo de usuario (llamado Familia) al cual le he asigando una busqueda formateada que permite asignar al campo el valor del máximo+1.
Por ejemplo:
Grupo Accesorios, Familia=100; cuando cree un nuevo grupo el valor del campo Familia debe ser 101.
Necesito hacer una validación que, al crear un nuevo grupo, no permita que el valor del campo sea mayor al máximo+1 que es el que le corresponde. Esto debido a que el usuario, por error, podría cambiar el valor que devuelve la busqueda. De igual forma cuando ocurra esa condición que muestre el mensaje indicando que código debe colocar en ese campo.
Esta es la validación que he planteado: Sabiendo que U_NTXC_ItmsGrpCod es un campo de usuario que hace visible el codigo interno del grupo, U_NTXC_ItmsGrpCodI es el campo Familia el cual deseo validar
Con esta validación detiene la creación de grupo, pero no me permite crearlo aún cuando le asigno el valor correcto al campo U_NTXC_ItmsGrpCodI.
IF (@object_type = '52' AND @transaction_type = 'A')
SET @CONS = (SELECT MAX(T0.U_NTXC_ItmsGrpCodI) FROM OITB T0 WHERE T0.U_NTXC_ItmsGrpCod = @list_of_cols_val_tab_del)
SET @CONS1 = (SELECT MAX(T0.U_NTXC_ItmsGrpCodI)+1 FROM OITB T0 WHERE T0.U_NTXC_ItmsGrpCodI = @CONS)
BEGIN
IF NOT EXISTS (SELECT T0.U_NTXC_ItmsGrpCodI FROM OITB T0 WHERE (@CONS > @CONS1 ) AND T0.U_NTXC_ItmsGrpCodI = @list_of_cols_val_tab_del)
BEGIN
SET @error = -52
SET @error_message = 'El codigo de familia debe ser:' + ' ' + CAST((@CONS) AS VARCHAR)
END
END
Esperando por su gran ayuda,
Muy agardecida de antemano
Saludos,
Hola..
Una consulta...., si tu búsqueda formateada trae el dato correcto, no sería necesario validar el que lo puedan cambiar. Bastaría con que ese campo lo manejes como un campo visible pero "no activo"
Esto lo gestionas en Herramientas --> Herramientas Personalización --> Parametrizaciones
Si quieres que los usuarios no puedan entrar a esta pantalla (para que cambien esta opción), entonces puedes además crear una Autorización adicional, esto en Gestión --> Inicialización Sistema --> Autorizaciones --> Creador de Autorización Adicional.
Allí en ID Formulario, colocas el ID 38, que corresponde al formulario de Parametrizaciones
Espero te sea de ayuda
Saludos Cordiales,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Gracias por responder, me es de gran ayuda tu aporte.
Si, la búsqueda formateada trae el valor correcto. Tomaré en cuenta lo que me recomiendas. Sabía lo de Herramientas --> Herramientas Personalización --> Parametrizaciones, pero no sabía como restringir el acceso a estas, así que de nuevo gracias. Con lo que me has sugerido puedo cerrar el caso.
Saludos,
User | Count |
---|---|
107 | |
12 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.