13563 - Diferença em relatório Sapiens Desktop & SapiensWeb
Problema: Descrição do Problema: Ao gerar o relatório de pedidos pelo Sapiens Desktop retorna um valor.
Quando eu listo esse mesmo relatório pelo SapiensWeb gera outro.
Rotina / Tela: Relatório.
Solução: Solução 13563: A diferença entre os relatórios ocorre porque existe a informação do Representante no cadastro de usuário, que filtra as informações no Sapiens Web.
Quando ocorre essa ligação (informado um representante no cadastro do usuário), o sistema retorna a mensagem:
A ligação de um usuário a um representante, implicará no filtro de informações em processos agendados, integrações e ações sid. Não é recomendável configurar um representante sem a intenção de filtrar a informação para o usuário. Confirma?
Todos os pedidos são gerados com informações do representante. Uma vez que o usuário tem um representante ligado ao seu cadastro, no Sapiens Web será apresentado apenas os pedidos cujo o representante está ligado ao seu cadastro.
Então vamos imaginar:
O usuário 5 tem no seu cadastro o representante 5.
Existem os pedidos: 1, 2,3,4 e 5.
O pedido 1,3,4, e 5 foram gerados informando o representante 5.
Já o pedido 2 foi gerado informando o representante 10.
Se o usuário 5 fizer login no ERP Desktop e listar o relatório irá listar informações dos 5 pedidos pois não é feito a consistência da ligação com o representante.
Se o mesmo usuário fizer login no Sapiens Web e listar o relatório, só serão listados os pedidos 1,3,4 e 5, pois são esses que forma informados o representante 5, onde neste caso ocorre a diferença.
Se você deseja que no Sapiens Desktop seja feito o mesmo filtro em relação ao represente (ao listar os relatórios, fazer consultas nas telas), você deverá ativar o identificador GER-000SELEF01 ou GER-000SELEF02 e fazer o filtro na regra.
-------------------------------------------------------
Definir Cursor Cur;
Definir Alfa vAlfCodEmp;
Definir Alfa vAlfCodRep;
Definir Alfa vFiltro;
Definir Numero vCodUsu;
Definir Numero vCodRep;
IntParaAlfa(CodEmp,vAlfCodEmp);
vCodUsu = CodUsu;
vCodRep = 0;
Cur.SQL SELECT CODREP FROM E099USU WHERE CODUSU = :vCodUsu;
Cur.AbrirCursor();
Se (Cur.Achou)
vCodRep = CUR.CODREP;
Cur.FecharCursor();
IntParaAlfa(vCodRep,vAlfCodRep);
Se (vCodRep <> 0){
vFiltro = SELECT CODCLI FROM E085CLI WHERE CODCLI IN (SELECT CODCLI FROM E085HCL WHERE CODREP = + vAlfCodRep + );
SetarFiltroSql(E085CLI,CODCLI,vFiltro);}
Senao
SetarFiltroSql(E085CLI,CODCLI,);
-------------------------------------------------------
Observação: Se você realizar um teste com nosso modelo padrão de relatório de pedido, irão ocorrer as mesmas consistências.
Quando eu listo esse mesmo relatório pelo SapiensWeb gera outro.
Rotina / Tela: Relatório.
Solução: Solução 13563: A diferença entre os relatórios ocorre porque existe a informação do Representante no cadastro de usuário, que filtra as informações no Sapiens Web.
Quando ocorre essa ligação (informado um representante no cadastro do usuário), o sistema retorna a mensagem:
A ligação de um usuário a um representante, implicará no filtro de informações em processos agendados, integrações e ações sid. Não é recomendável configurar um representante sem a intenção de filtrar a informação para o usuário. Confirma?
Todos os pedidos são gerados com informações do representante. Uma vez que o usuário tem um representante ligado ao seu cadastro, no Sapiens Web será apresentado apenas os pedidos cujo o representante está ligado ao seu cadastro.
Então vamos imaginar:
O usuário 5 tem no seu cadastro o representante 5.
Existem os pedidos: 1, 2,3,4 e 5.
O pedido 1,3,4, e 5 foram gerados informando o representante 5.
Já o pedido 2 foi gerado informando o representante 10.
Se o usuário 5 fizer login no ERP Desktop e listar o relatório irá listar informações dos 5 pedidos pois não é feito a consistência da ligação com o representante.
Se o mesmo usuário fizer login no Sapiens Web e listar o relatório, só serão listados os pedidos 1,3,4 e 5, pois são esses que forma informados o representante 5, onde neste caso ocorre a diferença.
Se você deseja que no Sapiens Desktop seja feito o mesmo filtro em relação ao represente (ao listar os relatórios, fazer consultas nas telas), você deverá ativar o identificador GER-000SELEF01 ou GER-000SELEF02 e fazer o filtro na regra.
-------------------------------------------------------
Definir Cursor Cur;
Definir Alfa vAlfCodEmp;
Definir Alfa vAlfCodRep;
Definir Alfa vFiltro;
Definir Numero vCodUsu;
Definir Numero vCodRep;
IntParaAlfa(CodEmp,vAlfCodEmp);
vCodUsu = CodUsu;
vCodRep = 0;
Cur.SQL SELECT CODREP FROM E099USU WHERE CODUSU = :vCodUsu;
Cur.AbrirCursor();
Se (Cur.Achou)
vCodRep = CUR.CODREP;
Cur.FecharCursor();
IntParaAlfa(vCodRep,vAlfCodRep);
Se (vCodRep <> 0){
vFiltro = SELECT CODCLI FROM E085CLI WHERE CODCLI IN (SELECT CODCLI FROM E085HCL WHERE CODREP = + vAlfCodRep + );
SetarFiltroSql(E085CLI,CODCLI,vFiltro);}
Senao
SetarFiltroSql(E085CLI,CODCLI,);
-------------------------------------------------------
Observação: Se você realizar um teste com nosso modelo padrão de relatório de pedido, irão ocorrer as mesmas consistências.
IMPORTANTE: o SapiensWeb sempre irá efetuar os filtros de acordo com Representante ligado ao usuário. Não há como desativar esta funcionalidade. Caso haja necessidade de que um Representante, por exemplo, tenha acessos menos restritos aos dados presentes no ERP, orienta-se a conexão ao ERP através de BrowserAccess ou WindowsAccess, onde pode-se flexibilizar através de regras as informações que podem ser acessadas.