ADVPL + REACT – Parte 01 | Criação das tabelas

Introdução

O ERP Protheus possui uma boa estrutura de controle de acessos e permissões, porém nunca estamos satisfeitos e sempre queremos mais.

Pensando nesse cenário trarei uma sequência de postagens com o objetivo de construirmos juntos uma camada extra de controle de acessos às rotinas padrões, aplicando o conceito de backend utilizando o Advpl com REST e o frontend utilizando a biblioteca javascript ReactJS.

Objetivo

Construir uma customização no ERP Protheus que possibilite controlar o acesso de usuários nas rotinas padrões, permitindo que esse controle seja realizado por rotina e para cada botão disponível nessa rotina.

Toda manutenção dessa processo será realizado através de interface web e integrada com o ERP Protheus através de API REST.

O objetivo dessa ferramenta é didático, utilize por conta e risco.

Funcionalidades

  • Permitir acesso nas rotinas configuradas para apenas usuários autorizados.
  • Controlar o acesso a nível de botões existentes na rotina.
  • Garantir que mesmo o usuário possuindo a rotina no menu, não poderá realizar ações a menos que isso seja previamente autorizado.

Requisitos

  • Criação de tabela para controle das permissões
  • Utilização de ponto de entrada para validar as permissões
  • Utilização da SX5 para controle das rotinas a serem monitoradas
  • ReactJS

Criação das tabelas

Iremos criar uma tabela no Protheus para cadastrar os acessos permitidos para os usuários em determinadas rotinas.

Tabela Z20 – Controle de usuários

Essa tabela será responsável por todas as permissões de acessos que o usuário possui.

No GitHub está o compatibilizador que cria a tabela e suas dependências. Abaixo listo os detalhes da tabela:

CampoTipoTamanhoDecimalDescrição
Z20_FILIALC20Filial
Z20_CODROTC60Cod Rotina
Z20_ROTINAC70Rotina
Z20_ROTDESC300Desc. Rotina
Z20_IDUSRC60Id Usuario
Z20_USRNOMC300Nome Usuario
Z20_SETORC200Setor
Z20_NUM1C101 Opcao
Z20_NUM2C102 Opcao
Z20_NUM3C103 Opcao
Z20_NUM4C104 Opcao
Z20_NUM5C105 Opcao
Z20_NUM6C106 Opcao
Z20_NUM7C107 Opcao
Z20_NUM8C108 Opcao
Z20_NUM9C109 Opcao
Z20_NUM10C1010 Opcao
Z20_NUM11C1011 Opcao
Z20_NUM12C1012 Opcao
Z20_NUM13C1013 Opcao
Z20_NUM14C1014 Opcao
Z20_NUM15C1015 Opcao
Z20_USRINCC400Inclusao
Z20_USRALTC400Alteracao

Índices:

OrdemChave
1Z20_FILIAL + Z20_CODROT + Z20_IDUSR
2Z20_FILIAL + Z20_IDUSR + Z20_CODROT
3Z20_ROTINA + Z20_IDUSR

Agora com a tabela criada daremos continuidade nesse estudo na próxima postagem.

abraços e até mais!

Créditos

Ernani Forastieri pela ferramenta EXPORDIC que foi utilizada para gerar o compatibilizador das tabelas.

O site do Ernani Forastieri possui várias ferramentas úteis para o dia a dia do analista Protheus. clique aqui para acessá-lo

gostou? siga e compartilhe

4 Comments

Deixe seu comentário

error

Siga para receber novidades

Registrar
LinkedIn
LinkedIn
Share
Instagram