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
| Arquivo | Linhas | Rotina | O que o trecho faz |
|---|---|---|---|
source/RFC019/URFC019.pas | 349-376 | MontaWhere | Monta 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+