...
O programa de Consulta Genérica/EDAPP oferece a possibilidade de visualizar os registros inseridos para as tabelas permitidas de forma não estruturada. É de forma não estruturada pois os dados são exibidos sem os tratamentos que os feitos pelos programas que preenchem as essas tabelas fazem.
Assim é possível explorar o conteúdo das tabelas e verificar o que é gravado e atualizado nas tabelas sem algumas restrições que os programas implicam nos usuários quando visualizam.
Portanto se uma tabela está disponível para a Consulta Genérica/EDAPP, essa tabela poderá ter seus dados consultados sem o uso do programa responsável por ela, por exemplo visualizar os dados da tabela de Clientes/SA1 sem uso do programa de Cadastro de Clientes/MATA030.
Informações |
---|
A partir da lib 20230918 a opção de "Salvar" consulta terá o nome do arquivo restrito a 7 caracteres, anteriormente o sistema permitia nomes com até 8 caracteres indevidamente. |
O programa de Consulta Genérica Relacional/MPVIEW oferece as mesmas possibilidades de visualização dos dados de forma não estruturada que a Consulta Genérica/EDAPP e com a possibilidade adicional de relacionar duas tabelas considerando os relacionamentos do dicionário SX9 entre duas tabelas.
Nos tópicos a seguir onde é mencionada a configuração de tabelas para o item de menu do Consulta Genérico/EDAPP, também é válido para o programa Genérico Relacional/MPVIEW.
Portanto as restrições para apresentações das tabelas funcionam da mesma maneira para Genérico Relacional/MPVIEW e para a Genérico/EDAPP.
A exibição de uma tabela para visualização dentro do programa de Consulta Genérica/EDAPP pode ser restringida de algumas formas, contudo para explicar essas formas é necessário explicar o quê faz as tabelas aparecerem na lista.
Situação padrão - Lendo as As tabelas são lidas a partir dos programas no Menu do módulo
O menu (originalmente o arquivo .xnu e depois os registros no banco de dados) é formado pela configuração de vários programas e nestes programas existe a configuração de tabelas que o programa faz uso.
Um exemplo no menu de cadastro de Fornecedores/MATA020.
A seção tabelas (tag tables
no arquivo .xnu) exibe os seguintes itens marcados:
> SA2 - Fornecedores
> SA5 - Amarração Produto x Fornecedores
> SAD - Amarração Grupo x Fornecedor
...
A combinação dos programas que um Menu tem com a tabelas marcadas para cada programa gera uma lista de tabelas de todos os programas e esta lista completa é que é exibida por padrão na Consulta Genérica/EDAPP.
Adicionalmente, as tabelas abertas quando um programa entra em execução também são exibidas e portanto executar programas que abrem tabelas não listadas no menu influencia na lista das tabelas possíveis para abrir na Consulta Genérica/EDAPP.
...
Assim como os programas recebem indicação das tabelas que usam, é possível fazer isso para a Consulta Genérica/EDAPP.
Quando isso é feito, uma mudança crucial na avaliação acontece, as tabelas listadas para a consulta viram somente as tabelas configuradas na seção de tabelas do programa Consulta Genérica/EDAPP. Ou seja, onde antes dependia do que o módulo e menu tinhas configurado e ou aberto, agora fica a restrito ao que o programa Genéricos/EDAPP indica que pode usar pela seção Tabelas.
Confira o exemplo a seguir:
...
Na imagem é possível perceber que foram marcadas as tabelas SA3 - Vendedores, SA4 - Transportadoras e SA6 - Bancos, com essa configuração não importa o que o módulo abre ou o que os programas no menu tem em sua seção tabelas (tag tables
), somente a três tabelas acima serão exibidas e terão o acesso permitido Permitido
.
Exceção 2 - Reflexo da associação das tabelas com programas pelo dicionário de tabelas/SX2
...
A indicação mencionada acontece pelo campo pelos campos Obj. Usuário
e Obj. Sistema
e no exemplo usado da tabela SRA/Funcionários é o programa GPEA010/Cadastro de Funcionários.
Isso afeta o resultado da lista de tabelas na Consulta Genérica/EDAPP quando existe a configuração de restrição de acessos por Privilégios ou Menu.
Antes que uma tabela X XYZ seja incluída na lista para ser exibida, acontece a verificação se o programa associado à tabela no Dicionário de tabelas/SX2 está Não Permitido
ou Permitido
conforme a configuração de Privilégios ou Menu. Assim quando o programa é Não Permitido
a tabela em consequência não é listada.
Imagina o seguinte cenário de exemplo :na configuração de tabelas no programa Genéricos/EDAPP.
As tabelas configuradas para serem listadas são: SA3 - Vendedores, SA4 - Transportadoras e SA6 - Bancos.
A tabela SA3/Vendedores tem associação com o programa cadastro de Vendedores/MATA040 e portanto, cadastrar nos Privilégios o programa MATA040 como Negado
fará com que a tabela SA3 não seja listada no programa de Genéricos/EDAPP mesmo estando configurado, pois o acesso foi restringido pelos privilégios.
...
Conforme mencionado nos tópicos do item anterior é possível reduzir à duas formas de restrição:
...
Outro fator importante, bloquear os programas usando os Acessos de Menu (seja genérico por Menu ou por acessos de Usuário) não é possível garantir que a tabela não seja exibida, pois os tipos de permissão para este controle são Não Permitido e Permitido e em caso de configurações que conflitem o acesso será concedido. Em função disso é recomendada a configuração e uso de Privilégios/CFGA530.
Tabela | X2_OBJ | Está na lista do Menu? | Tem tabelas no Genéricos? Está nesta lista? | Restrição no Menu | Restrição por Acessos Usuário | Restrição por Privilégios | Exibe no Genérico? |
---|---|---|---|---|---|---|---|
SA1 | - | Sim | - | - | - | - | Sim, sem restrições |
SA1 | - | Não | - | - | - | - | Não, menu não têm a tabela* |
SA1 | MATA030 | Sim | Sim, não tem SA1 | - | - | - | Não, tabelas em Genéricos não inclui a SA1 |
SA1 | MATA030 | Sim | Sim, tem SA1 | - | - | - | Sim, tabelas em Genéricos inclui a SA1 |
SA1 | MATA030 | Sim | - | MATA030 - Não Permitido | - | - | Não, MATA030 é Não Permitido pelo Menu |
SA1 | MATA030 | Sim | Sim, tem SA1 | - | MATA030 - Não Permitido | - | Não, MATA030 é Não Permitido pelo Acessos de Usuário |
SA1 | MATA030 | Sim | Sim, tem SA1 | MATA030 - Não Permitido | MATA030 - Permitido | - | Sim, só não exibe quando todos são Não Permitido |
SA1 | MATA030 | Sim | - | - | - | MATA030 - Não Permitido | Não, MATA030 é Não Permitido pelo Privilégios |
SA1 | MATA030 | Sim | - | MATA030 - Permitido | MATA030 - Permitido | MATA030 - Negado | Não, MATA030 é Negado pelo Privilégios |
SA1 | - | Sim | - | MATA030 - Não Permitido | MATA030 - Não Permitido | MATA030 - Negado | Sim, não existe associação SA1 com MATA030 no X2_OBJ** |
* Lembre-se que um programa pode abrir a tabela e então ela pode ser listada posteriormente à abertura.
** Existem dois campos X2_USROBJ e X2_SYSOBJ. O primeiro é a configuração personalizada do administrador para o sistema e o segundo é a definição da Totvs. A definição da Totvs só é utilizada quando não há programa indicado no campo X2_USROBJ.
*** A consulta de privilégios é feita com base na Definição da operação 2, caso a rotina MATA030 possua mais de uma operação 2, todas serão avaliadas e caso alguma esteja negada o alias não será disponibilizado para a consulta genérica, portanto é necessário que o usuário possua total acesso de visualização (operação 2) a rotina.
A tabela acima está sujeita a variação dos resultados quando o Grupo Default está habilitado, pois quando não existir permissão explícita aos programas associados as tabelas, a visualização da tabela não será liberada no Genéricos/EDAPP.
Dada a quantidade de configurações possíveis é sugerido o uso mínimo dos recursos que podem bloquear ou liberar acessos, sendo assim prefira usar Privilégios e associem as principais tabelas de seu ramo de negócio a um programa.
...
Com isso o controle por Privilégios passará a restringir as tabelas possível de visualização.
1. Quais as configurações e os tipos de acessos disponíveis?
...