7572 - Bloqueio depósito por usuário.
Problema: O cliente possui colaboradores em diferentes filiais e por exemplo os funcionários da matriz podem somente movimentar os depósitos 1 1.1 e 1.2. O sistema permite realizar este tipo de bloqueio por usuário ou apenas por filial?
Quando ocorre / onde se aplica: Movimentação de estoque.
Solução: Solução 7272: Não existe um parâmetro para fazer o bloqueio de depósito por usuário, porém neste caso, como sugestão poderá utilizar o identificador GER_000SELEF01 ou GER_000SELEF02 e fazer um filtro para que os usuários só possam utilizar o depósito que for definido para o mesmo.
Segue dois exemplos de regras de utilização do identificador:
PRODUTOS INATIVOS
Definir Alfa vAlfCodEmp;
Definir Alfa vFiltro;
IntParaAlfa(CodEmp,vAlfCodEmp);
vFiltro = SELECT CODPRO FROM E075PRO WHERE CODEMP = + vAlfCodEmp+ And SitPro='A';
SetarFiltroSql(E075PRO, CODPRO, vFiltro);
-------------------------------------------------------
Filtra os clientes/pedidos de acordo com o representante ligado ao usuário, como ocorre no Sapiens WEB.
Segue abaixo um forma de fazer isso.
Identificador 000SELEF01 - Módulo: GER
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,);
Público: Interno, canais/consultores, clientes
Quando ocorre / onde se aplica: Movimentação de estoque.
Solução: Solução 7272: Não existe um parâmetro para fazer o bloqueio de depósito por usuário, porém neste caso, como sugestão poderá utilizar o identificador GER_000SELEF01 ou GER_000SELEF02 e fazer um filtro para que os usuários só possam utilizar o depósito que for definido para o mesmo.
Segue dois exemplos de regras de utilização do identificador:
PRODUTOS INATIVOS
Definir Alfa vAlfCodEmp;
Definir Alfa vFiltro;
IntParaAlfa(CodEmp,vAlfCodEmp);
vFiltro = SELECT CODPRO FROM E075PRO WHERE CODEMP = + vAlfCodEmp+ And SitPro='A';
SetarFiltroSql(E075PRO, CODPRO, vFiltro);
-------------------------------------------------------
Filtra os clientes/pedidos de acordo com o representante ligado ao usuário, como ocorre no Sapiens WEB.
Segue abaixo um forma de fazer isso.
Identificador 000SELEF01 - Módulo: GER
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,);
Público: Interno, canais/consultores, clientes