01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Supply Chain - Logistica |
Módulo: | SIGAGFE |
Função: | GFEA061 - Tabelas de Frete |
Ticket: | 5617947 |
Requisito/Story/Issue (informe o requisito relacionado): | DLOGGFE-8904 |
02. SITUAÇÃO/REQUISITO
As permissões setadas pelo administrador no SIGACFG, em Usuário → Senhas → Privilégios (CFGA530), não estavam sendo respeitadas na rotina de Tabelas de Frete (GFEA061).
Isso ocorria especificamente nas sub-rotinas abaixo:
- Negociação da tabela de frete (GFEA061A);
- Tarifa da tabela de frete (GFEA061F);
- Cotações de frete (GFEX062).
O acesso às funcionalidades destas eram bloqueadas, mesmo que elas estivessem com o acesso liberado no SIGACFG.
03. SOLUÇÃO
As sub-rotinas que contemplam a rotina GFEA061 foram corrigidas para considerar a permissão correta.
04. DEMAIS INFORMAÇÕES
Explicação técnica para a causa do erro:
No momento que o administrador configura os privilégios em SIGACFG → Usuário → Senhas → Privilégios (CFGA530), o sistema lista as funcionalidades disponíveis acessando a função MenuDef() de cada rotina específica.
A função MenuDef() é responsável por definir as funções de menu.
Para cada uma destas funções, o administrador pode permitir ou restringir o acesso conforme a sua política interna.
Num segundo momento, quando o usuário está logado no SIGAGFE e tenta executar uma aplicação, o sistema verifica se tal funcionalidade é permitida ou não acessando as configurações do SIGACFG (CFGA530).
Durante este processo, a funcionalidade é localizada na função MenuDef() da rotina específica.
Caso o sistema não encontre a função no MenuDef(), o acesso é bloqueado, mesmo que ela esteja permitida no SIGACFG.
Por exemplo: quando o usuário tentava executar uma funcionalidade da rotina Negociação da tabela de frete (GFEA061A), o sistema buscava ela no MenuDef() da rotina Tabelas de Frete (GFEA061).
Como não a encontrava (pois ela está no GFEA061A), o acesso era bloqueado.
Portanto, o fato gerador do erro reportado é a execução da função MenuDef() incorreta.