01. O QUE É A CONSULTA GENÉRICA?

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 feitos pelos programas que preenchem essas tabelas.

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.

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.

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.

02. E A CONSULTA GENÉRICA RELACIONAL?

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.

03. FATORES CONSIDERADOS PARA EXIBIR UMA TABELA

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 - 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

Este programa possui mais tabelas marcadas, contudo a imagem é suficiente para demonstrar onde e como é a configuração de tabelas para um programa no menu.

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.

Um exemplo deste é:

Um menu X que não tem o cadastro de Clientes/MATA030 e nenhum programa lista a tabela de Clientes/SA1. Ao entrar no módulo deste Menu e acessar o programa de Consulta Genérica/EDAPP a tabela SA1 não será  exibida.

Agora neste menu X existe um programa que faz uma validação em cenário Y que usa a tabela SA1/Clientes e portanto abre essa tabela. Ao acessar novamente o programa de Consulta Genérica/EDAPP a tabela SA1 será exibida, pois foi aberta usando um programa do menu/módulo.

O cenário mencionado antes é importante, pois para evitar o acesso e visualização de dados de tabelas restritas é exigida intervenção direta e configuração do ambiente.

Exceção 1 - Especificando as tabelas no programa de 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 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.

Exceção 2 - Reflexo da associação das tabelas com programas pelo dicionário de tabelas/SX2

O dicionário de tabelas/SX2 permite realizar a indicação de um programa que é responsável pela manutenção dos registros de uma certa tabela, a seguir uma imagem desta configuração.

A indicação mencionada acontece 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 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.

04. POSSIBILIDADES DE RESTRIÇÃO

Conforme mencionado nos tópicos do item anterior é possível reduzir à duas formas de restrição:

  1. Explicitamente indicar as tabelas autorizadas conforme menu e módulo no programa Genéricos/EDAPP e;
  2. Associar os programas e restringir o acesso aos programas com acessos de Menu ou Privilégios.

Ambos métodos exigem muito esforço e trabalho, portanto considere cuidadosamente se a pessoa acessando o sistema deveria ter o acesso para exploração pelo programa de Genéricos/EDAPP.

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.

TabelaX2_OBJEstá na lista do Menu?Tem tabelas no Genéricos?
Está nesta lista?
Restrição no MenuRestrição por Acessos UsuárioRestrição por PrivilégiosExibe no Genérico?
SA1-Sim----Sim, sem restrições
SA1-Não----Não, menu não têm a tabela*
SA1MATA030SimSim, não tem SA1---Não, tabelas em Genéricos não inclui a SA1
SA1MATA030SimSim, tem SA1---Sim, tabelas em Genéricos inclui a SA1
SA1MATA030Sim-MATA030 - Não Permitido--Não, MATA030 é Não Permitido pelo Menu
SA1MATA030SimSim, tem SA1-MATA030 - Não Permitido-Não, MATA030 é Não Permitido pelo Acessos de Usuário
SA1MATA030SimSim, tem SA1MATA030 - Não PermitidoMATA030 - Permitido-Sim, só não exibe quando todos são Não Permitido
SA1MATA030Sim---MATA030 - Não PermitidoNão, MATA030 é Não Permitido pelo Privilégios
SA1MATA030Sim-MATA030 - PermitidoMATA030 - PermitidoMATA030 - NegadoNão, MATA030 é Negado pelo Privilégios
SA1-Sim-MATA030 - Não PermitidoMATA030 - Não PermitidoMATA030 - NegadoSim, 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.

05. DOCUMENTAÇÕES RELACIONADAS

1. Quais as configurações e os tipos de acessos disponíveis?

4. Controle por Privilégios