Pular para o conteúdo principal

RFC019.R001 — Contas exibidas são restritas ao tipo de conta e tipo de pessoa liberados ao usuário

Módulo: RFC019 · Menu: Financeiro > Relatórios > Relação de Duplicatas Classificação: intencional · Relevância: alta

Regra​

Toda consulta do relatório junta CONTAS com VIEW_TIPOCONTASUSUARIO e RETORNA_TIPOPESSOA_RESTRITA, de forma que só aparecem tipos de conta e tipos de pessoa aos quais o usuário logado tem acesso configurado.

Quando dispara​

Sempre, em qualquer impressão do relatório, independente dos filtros escolhidos pelo usuário.

Como o usuário resolve​

Se o usuário não enxerga determinadas contas/pessoas no relatório mesmo sem aplicar filtro, verificar a liberação de Tipo de Conta e Tipo de Pessoa desse usuário no cadastro de permissões (fora do escopo desta tela).

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/RFC019/URFC019.pas349-376MontaWhereMonta o WHERE base juntando VIEW_TIPOCONTASUSUARIO e RETORNA_TIPOPESSOA_RESTRITA para restringir por permissão do usuário.

source/RFC019/URFC019.pas:349

if (dmRFC019.tabFILTRODT_POSICAO.AsString <> '') then
begin
Result := ' LEFT JOIN VIEW_TIPOCONTASUSUARIO(CONTAS.CD_EMPRESA, '+Nulo(sessao.usuario.cd_usuario, 'S')+', CONTAS.CD_TIPOCONTA) TPC ON (1=1)'+#10;
Result := Result + ' WHERE CONTAS.TP_DOCUMENTO not in (''AG'', ''RP'', ''FA'') AND ';

WhereContas := WhereContas + ' AND C.TP_DOCUMENTO NOT IN (''AG'', ''RP'', ''FA'') '#10;
WherePendentes := WherePendentes + ' AND C.TP_DOCUMENTO NOT IN (''AG'', ''RP'', ''FA'') '#10;

iGroup := iGroup +
', IIF(VR.O_ST_POSICAO = 1, VP.O_VL_SALDO, NULL), '#10+
' IIF(VR.O_ST_POSICAO = 1, CASE VP.O_ST_CONTAS '#10+
' WHEN ''C'' THEN ''Cancelado'' '#10+