Tiempo aproximado para lectura: 00:02:30 min
Duda
¿Cómo bloquear el campo DA261DATA en la rutina MATA261?
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Stock y Costos (SIGAEST) - A partir de la versión 12
Solución
Inicialmente, es importante tomar en cuenta lo siguiente:
1.- Por funcionalidad estándar del sistema Protheus, los campos de la rutina MATA261 son obtenidos a través de código padrón en el programa fuente de la rutina para mantener las propiedades estándar de la tabla SD3 y garantizar la integridad de esta misma para su correcto funcionamiento.
2.- El campo DA261DATA mostrado en la rutina MATA261 utiliza la regla de usuario definida en el campo D3_EMISSAO (X3_VLDUSER) y esto puede ser usado para validar su contenido.
Dicho lo anterior, no hay una manera de bloquear a los usuarios para no modificar este campo, sin embargo, como alternativa para solucionar este incidente es generar una función de usuario que valide la modificación de este campo, como la siguiente:
UserFunctionVALIDATA261()
LocallRet := .T.
IFUPPER(FUNNAME()) $ "MATA261"
IFDA261DATA <> DDATABASE
lRet := .F.
ENDIF
ENDIF
RETURNlRet
*Es importante mencionar que este es solo un ejemplo y/o prueba ya que las personalizaciones pueden ser tan simples o complejas como se desee*
0 Comentarios