Histórico da Página
01.
...
A utilização da ofuscação dos dados em relatórios TReport é baseada nos acessos do usuário logado que esta amarrado aos valores cadastrados na tabela XAL/XAM. A partir dessas informações é definido se a célula será ofuscada ou não.
Essa informação é avaliada a partir do nome dado a celula construída, que se encontra no segundo parâmetro do método de construção desde que a seção seja inicializada para atualização de seus valores (método Init() de um objeto de seção) ou que o método print seja executado.
Exemplo :
TRCell():New(oProduto,"B1_COD" ,"SB1", "Produto",/Picture/,/nTamanho/,/lPixel/,
...
)
If lDeveOfuscar
oCell:SetObfuscate( .T. )
Else
oCell:SetObfuscate( .F. )
EndIf
Dessa maneira a ofuscação é feita de forma individual e indenpendente de verificação de acessos e afins.
A partir do momento que o valor que a celula e ofuscados diretamente (seja ele para falso ou verdadeiro) seu valor não será modificado até o final de sua impressão, seja ele pelos valores automaticos gerados pela
pelo mecanismo de ofuscação da seção ou por algum outro SetObfuscate para a mesma célula que ocorra posteriormente.
2° Utilizar o método SetObfuscCells diretamente na seção informando as celulas que deverão ser ofuscadas.
Exemplo :
oSection := TRSection():New( oReport,"Produtos",
{"SB1"}
,
{"Produtos"}
,, )
oCell1 := TRCell():New( oSection,"CELL01","SB1", "Produto",,,,
{|| cProduto } )
oCell2 := TRCell():New( oSection,"CELL02","SB1", "Produto",,,,{|| cProduto }
)
oCell3 := TRCell():New( oSection,"CELL03","SB1", "Produto",,,,
{|| cProduto }
)
aAdd( aCells, "CELL01" )
aAdd( aCells, "CELL02" )
aAdd( aCells, "CELL03" )
oSection:SetObfuscCells( aCells )
oSection:Init()
Dessa maneira a ofuscação é feita de forma coletiva amarrando as celulas indicadas para ofsucação por seção, é necessário inicializar a seção (método init) para que esses valores sejam
utilizados para atualizar os estados das células da seção.
As celulas enviadas serão somadas com as células avaliadas automaticamente pela seção.
Isso também é indenpendente de verificação de acessos e afins.
Observações :
As maneiras citadas para utilização (SetObfuscate na célula e SetObfuscCells na seção) só serão necessárias caso as celulas criadas, e amarradas a uma seção, não sejam nomeadas com valores que se encontre na XAM.
Caso as células sejam nomeadas com valores que se encontre na XAM a verificação de acesso e ofuscação dos dados é realizado automaticamente.
...