[removed]

Autor [removed]
Data de criação Sep 1, 2021
Última edição Modificado há 3 anos

Estrutura do CFG

A estrutura do CFG na versão mais recente é formada pelo seguinte modelo.


Versao=1 Nome=... SQLPADRAO=SELECT ... FILTROINI= OrderByPadrao=... TALBELAATIVA=... COL00=... COL... IDB=2 ITF=0 MD5=99999999999999999999999999999999

Versao

Esse campo é utilizado para controlar o padrão da estrutura do CFG, hoje temos duas versões a 0 e a versão 1, a diferença entre elas é que a versão 1 suporta a utilização das variáveis que descrita no tópico a seguir.

Nome

Utilizado para exibir na aba ao abrir o CFG, esse nome não pode ser o mesmo em mais de um CFG.

SQLPADRAO

SQL para ser executado e efetuar a consulta na grid, o sistema altera esse SQL para efetuar o filtro, paginação e ordenação, além de outras opções da grid como somar coluna.

FILTROINI

Esse campo ficou obsoleto não recomendamos mais sua utilização, é utilizando como filtro padrão da grid é o mesmo que colocar a expressão de filtro direto no WHERE do SQL.

OrderByPadrao

Esse campo ficou obsoleto não recomendamos mais sua utilização, é utilizando como ordenação padrão da grid é o mesmo que colocar na expressão ORDEY BY do SQL.

TALBELAATIVA

Tem de ser colocado as tabelas que são utilizadas no SQL separadas por ; exemplo: TALBELAATIVA=servico;contrato;gruposervico;

Esse campo está obsoleto não utilizamos mais ele no sistema, a ideia inicial dele era disponibilizar ao usuário a possibilidade de incluir qualquer campo dessa tabela, mas devido a complexidade e possíveis problemas não foi utilizado.

COL00

Esse campo define as colunas do CFG, tem de iniciar com COL e seguindo pelo índice da coluna no SQL, lembrando que a primeira coluna do SQL equivale ao índice 0.

Cada coluna tem várias configurações, cada configuração é separada da outra pelo caractere ;. cada coluna tem 9 configurações que são definidas pelo índice.

Abaixo a configuração equivalente a cada posição:

  1. Expressão SQL que vai ser exibida, por exemplo cotacao.data.

    Se no query o valor que for exibido nessa coluna for resultante de uma expressão diferente do campo de uma tabela essa expressão tem de ser colocada completa sem o alias, por exemplo: (case cotacao.Situacao when 0 then "Em Andamento" WHEN 1 THEN "Aprovado" END)

  2. Descrição da coluna que vai ser exibida para o usuário.

  3. Define se a coluna vai ser visível ou não, podendo receber o valor True ou False.

  4. Valor número decimal que define a largura da coluna para o usuário, se o usuário alterar pela grid o tamanho esse valor alterado no CFG nesse local, a separação de decimal é o caractere vírgula.

  5. Define o formato do valor a se exibido

    Apesar de pouco utilizado é muito útil, por exemplo se for colocado R$#,##0.00 e o valor do banco for 62014,59 o que vai ser exibido para o usuário é R$62.014,59

    Esse formato também pode ser a aplicado a

  6. Define a forma de pesquisa no campo, utilizado bloquear certos tipos de pesquisa para não travar o sistema, podendo assumir os seguintes valores:

    0 - Valor padrão o usuário pode filtrar pelo campo usando todas as opções.

    1 - Com esse valor o usuário só vai pode utilizar a opção de =, não vai pode filtrar os registros dessa coluna por outros operadores ficando conforme a imagem abaixo

    2 - Define que esse campo só vai poder receber filtros com base em outra lista essa lista é configurada conforme cada tipo de campo, pode ser vista sua utilização no menu 730 - Registros de Despesas, conforme as imagens abaixo:

    Ao colocar a opção igual a 2 vai aparecer um botão igual ao mostrado na imagem a cima, ao clicar nele vai abrir a tela abaixo:

    Todos os registros selecionados na imagem da tela acima vão ser filtrados na coluna.

    Esse recurso é útil para evitar lentidões ao invés de pesquisar pelo nome do fornecedor é pesquisado pelo código que é muito mais rápido.

    Esse recurso é algo novo, no momento da escrita desse documento estava implementado somente para busca de produto, para verificar quais estão implementados para utilização é necessário abrir o formulário FrmCadastro na função AcionarBuscaPersonalizada e visualizar quais estão.

  7. Esse campo faz parte da configuração anterior ele define qual o nome do campo que vai ser realizado a pesquisa, por exemplo: fornecedor.codigo. As opções implementadas podem ser encontradas no formulário FrmCadastro na função AcionarBuscaPersonalizada.

  8. Essa configuração é utilizado somente nos CFGs de busca que forem utilizados na tela da imagem acima, ela define se a coluna vai estar visível nessa tela de busca, mas não afeta as outras telas de busca que usam o mesmo CFG, podendo receber o valor True ou False.

IDB

Utilizado para guardar o último campo que foi pesquisado pelo usuário, quando ele abrir a busca vai manter o campo anterior filtrado através do dessa opção, fica gravado nela o index do combol.

É utilizado na grid principal e nas grid de busca de registro

ITF

Utilizado para guardar o último tipo de filtro na pesquisa de CFGs de busca, guarda o index da opção selecionada, local de utilização:

MD5

Campo gerado automaticamente pelo autenticador da engenharia, ele é usado para validar se não houve alteração no SQL depois que a Atlanta autenticou, se houver alteração o sistema não utiliza o CFG.

Variáveis

Abaixo as variáveis que podem ser utilizados no SQL.

Para utilização dessas variáveis a versão do CFG tem de ser a versão 1 ou superior.

Variáveis Obrigatórias

Pelo menos uma variável de cada bloco acima tem de ser usada para funcionar a ordenação, filtro e paginação da grid.
  • $WhereClause: Exemplo de uso SELECT * FROM fornecedor $WhereClause

  • $WhereExpression: Exemplo de uso SELECT * FROM fornecedor WHERE $WhereExpression fornecedor.ativo = ‘Sim‘


  • $OrderByClause: Exemplo de uso SELECT * FROM fornecedor $OrderByClause

  • $OrderByExpression: Exemplo de uso SELECT * FROM fornecedor ORDER BY $OrderByExpression, fornecedor.codigo


  • $LimitClause: Exemplo de uso SELECT * FROM fornecedor $LimitClause

Variáveis Auxiliares

  • $EmpresaUsuario: Lista de código de empresa que o usuário tem acesso, exemplo: 1,2,3,4,5.

  • $SetorUsuario: Lista de código de setor que o usuário tem acesso, exemplo: 1,2,3,4,5.

  • $EstoqueUsuario: Lista de código de estoque que o usuário tem acesso, exemplo: 1,2,3,4,5.

  • $TerminalUsuario: Lista de código de terminal que o usuário tem acesso, exemplo: 1,2,3,4,5.

  • $ContratoUsuario: Lista de código de contrato que o usuário tem acesso, exemplo: 1,2,3,4,5.

  • $CentroOperacionalUsuario: Lista de código de centro operacional que o usuário tem acesso, exemplo: 1,2,3,4,5.

  • $CodigoUsuario: Código do usuário.

Todas variáveis podem ser usadas mais de uma vez, exemplo: SELECT codigo, (SELECT COUNT(*) FROM fornecedor $WhereClause) as TotalFornecedor FROM fornecedor $WhereClause