Cuando creamos un formulario elegimos que campos son los que el usuario ve en pantalla. Mediante el Ctrl+F8 puede hacer un zoom y ver la totalidad de los campos del registro.
Si nos encontramos en la situación de que tenemos un campo cuyo valor no queremos que el usuario pueda ver, no disponemos de ningún método a priori sencillo en el formulario para evitarlo.
Se pude desactivar para un usuario concreto el Zoom con el rol object - 5330 Tools, Zoom. Pero esto lo desactiva en todas las pantallas y queremos desactivarla en una pantalla concreta.
Para estos casos, lo que se puede hacer es que en la tabla que contiene el campo con la información sensible se añade en el CaptionClass lo siguiente: '99999,2000000002'
Luego se va a la CodeUnit1 y en la función CaptionClassTranslate se añade lo siguiente:
Una opción nueva donde el CASE es el número del captionclass (En este caso el 99999):
CommaPosition := STRPOS(CaptionExpr,',');
IF (CommaPosition > 0) THEN BEGIN
CaptionArea := COPYSTR(CaptionExpr,1,CommaPosition - 1);
CaptionRef := COPYSTR(CaptionExpr,CommaPosition + 1);
CASE CaptionArea OF
'1' : EXIT(DimCaptionClassTranslate(Language,CaptionRef));
'2' : EXIT(VATCaptionClassTranslate(Language,CaptionRef));
'99999' : ERROR('');//<---------Desactivo el ZOOM
END;
END;
EXIT('');
No hay comentarios:
Publicar un comentario