Parametrização > Utilizadores > Restrições de acesso 

A gestão dos papéis permite definir, em gestão de objeto, dos filtros dos dados de maneira seletiva, em função de utilizador. Ela está particularmente útil para filtrar os dados devendo ser apresentados a utilizadores conectados depois o exterior (por exempo pelo intraface Web). Com efeito, ela permite, por exemplo, de não apresentar, em registo das encomendas, que as encomendas passadas por um cliente ou pagas por este cliente (que é suposto de ser o utilizador).

Princípios de funcionamento

Esta gestão se baseia sobre :

  • a definição de códigos rolos (cliente, pagador, representante, fornecedor...) de maneira muito livre numa tabela diversa (a tabela número 60)
  • a associação, para os objetos sobre os quais se deseja estabelecer, de um campo da tabela principal com o código papel. É esta associação que permitirá de estabelecer o critério de filtragem dos dados. A gestão dos papéis documentada aqui permite definir estas associações.
  • de maneira operacional, a atribuição, na ficha utilizador, de um ou vários papéis com os códigos correspondentes (30 no máximo). É esta atribuição quedefinirá os filtros automáticos nas gestões de objetos afetados.

Desde logo que estas parametrização são definidos, e que papéis (e os códigos correspondentes) foram definidas na ficha utilizador :

  • Um filtro está feito no objeto (lista esquerda, janelas de seleção) sobre o ou os códigos definidos na ficha utilizador.
  • Um controlo está feito no momento da criação sobre os campos filtrados.
  • Uma filtragem pode ser realizado no requerente.

Observações e limites

Atenção, a filtragem tem limites seguintes :

  • A filtragem lista esquerda se faz unicamente sobre os campos da tabela principal de objeto (sem filtragem não mais sobre o picking)
  • Em caso de registo da chave interdita sem passagem pela seleção, o registo está aceirte num primeiro tempo, o controlo não se fazendo ao fim. Para contornar este limite, é possível realizar os controlos de papéis em tempo real sobre certos campos em específico, e desta maneira muito simples, em utilizando a ação CROLE como ação de controlo. Isto não está realizado em standard porque a generalização sobre todos os campos provocará numerosas alterações entre cliente e servidor então que em geral se faz deste tipo de controlo sobre muito pouco campos
  • a filtragem induzida pelos papéis não está gerada pelas listas standards (isso será impossível visto as possibilidades extremas de parametrização),nem pelas consultas standard. Convém então criar as listas particulares se deseja os tornar acessíveis a utilizadores exteriores (mas isto é possível em jogando sobre os códigos de acesso para dedicar as listas especificamente filtradas a estes utilizadores).
  • um filtro em massa de dados numa tabela cuja lista esquerda não está forçosamente sequênciada segundo o critério filtrnado pode ser penalizante em termos de tempos de resposta. É então aconselhado de utilizar os indices de otimização e de os declarar na lista esquerda.

No caso onde vários papéis são definidos na ficha urtilizador, a regra é a seguinte :

  • se os papeís são idênticos e a chave associada é diferente, faz-se um ou lógico entre as condições.
  • se os papéis são diferentes, faz-se um e lógico entre as condições.

Exemplos

Quaisquer exemplos permitirão de ilustrar esta lógica. Deseja-se filtrar :

  • os artigos por código comprador (campo BUY associado ao objeto ITM para o papel comprador)
  • as encomendas de compra por fornecedor (campo BPSNUM associadoao objeto POH para o papel fornecedor)
  • as encomendas de compra igualmente por código comprador (campo BUY associado ao objeto POH para o papel comprador)

Se o utilizador JOHNDOE possui o papel comprador para os códigos MARTIN e DURAND, e o papel fornecedor para os códigos DUPONT, DUPUIS, e DUMONT, terá os filtros seguintes :

  • Em registo de encomenda fornecedor, não se verá que as encomendas passadas ao fornecedor DUPONT, DUPUIS, ou DUMONT, e para estes compradores MARTIN ou DURAND.
  • Se se cria uma encomenda, a janela de seleção dos compradores e dos fornecedores filtrará corretamente os compradores e os fornecedores autorizados. Por outro lado, se regista um código interdito, não será controlado que no momento se tenta validar a encomenda.
  • Os artigos encomendados serão também filtrados em direto no momento da sua seleção em função dos compradores. Ainda, se se regista um artigo ou não comprado por um dos compradores, o controlo se fará em validação de encomenda
  • Por outro lado, não se filtra a afixação de uma encomenda sobre os artigos (se as encomendas fornecedores foram passadas sobre artigos normalmente filtrados pelo utilizador, pode-se as selecionar, mas fino a sua modificação será recusada).

A implementação técnica se faz pelo acréscimo de filtros sobre a tabela gerida na gestão de objeto, de maneira automática. Estes filtros são à vez ativos na seleção standard e na lista esquerda. Seja um exemplo mais técnico. Se se definem as associações seguintes para o papel cliente (definido por exemplo com o código BPC), e o papel comercial (definido por exemplo com o código REP) :

  • no objeto SIH (fatura cliente), o papel BPC induz um filtro sobre o campo BPR (código terceiro faturado).
  • no objeto SOH (encomenda cliente), o papel BPC induz um filtro sobre o campo BPCORD (cliente faturado).
  • sobre o objeto BPC (cliente), o papel BPC induz um filtro sobre o campo BPCNUM (código cliente).
  • sobre o objeto SOH (encomenda cliente), o papel REP induz um filtro sobre o campo REP(representante).

Se um utilizador possui na sua ficha o papel BPC associado ao código MARTIN, far-se-á automaticamente um filtro sobre o objeto SIH : (BPR="MARTIN"), sobre o objeto SOH (BPCORD="MARTIN"), e sobre o objeto BPC (BPCNUM="MARTIN").

Bem entendido, apenas os filtros correspondentes a um papel associado ao utilizador são ativados. Assim, se o utilizador não tem papel BPC na sua ficha, os filtros definidos a seguir não serão feitos : O utilizador verá então todas as encomendas, todas as faturas, e todos os clientes (sob reserva que outros filtros - por grupo de estabelecimentos, por outros papéis por exemplo - não tenham sido definidos pelo utilizador).

A ilustração por exemplo da composição de vários filtros é a seguinte :

  • se o utilizador tem três vezes o papel BPC com os clientes MARTIN, DURAND, e DUPUIS, o filtro sobre a ficha cliente será :
    (BPCNUM="MARTIN" ou BPCNUM="DURAND" ou BPCNUM="DUPUIS")
  • se o utilizador tem à vez o papel BPC associado ao código MARTIN, e o papel REP associada ao código DUPUIS, o filtro realizado sobre a gestão das encomendas será :
    (BPCORD="MARTIN") and (REP="DUPUIS")

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

Ecrã de registo

Apresentação

A definição dos papéis se faz num registo global em quadro, no qual se define, para cada papel e por objeto afetado, sobre o qual campo o filtro se trata.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro

O papel permite controlar o acesso a várias funções (objetos).

é possível de anexar a um mesmo papel vários objetos. Por exemplo, pode-se definir o papel modificação de um documento cliente e considerar que o objeto BIC registado de uma fatura e objeto SOH registo de uma encomenda cliente não são acessíveis que para certos clientes.

Para cada objeto, falta definir um campo sobre o qual se fará o controlo. No exemplo acima, pode-se definir os campos BPR Terceiros e BPCORD Cliente encomenda.

As autorizações de acesso são definidas na gestão dos utilizadores.

Os papéis são repertoriados na tabela diversa 60.

 

  • Campo (campo FLD)

 

Fechar

 

Outras condições

É possível realizar controlos de papéis em tempo real sobre certos campos específico, e de maneira muito simples, utilizando a acção CROLE como acção de controlo. Isto não é realizado em padrão porque a generalização sobre todos os campos provocaria numerosas trocas entre cliente e servidor enquanto que em geral faz-se este tipo de controlo sobre muito poucos campos.

Botões específicos

Este botão permite copiar um papel versus um outro dossier acessível depois o servidor onde se encontra o dossier corrente.

Mensagens de erro

Não existe outra mensagem de erro, para além das mensagens genéricas.

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação