Home

Série 1

Páginas filhas
  • Usando a função Posicione

O objetivo deste guia rápido é auxiliar a utilização da função Posicione() na criação de colunas no browse das rotinas e nos relatórios do sistema.

 

A função:

O propósito da função POSICIONE() é buscar o conteúdo de um campo em uma determinada tabela do sistema, através de uma chave de pesquisa.

A sintaxe da função é a seguinte:

POSICIONE(cAlias, nOrdem, cChave, cCampo) , onde:

cAlias: Tabela onde está sendo buscado o valor.

nOrdem: Índice utilizado para a pesquisa.

cChave: Chave com as informações necessárias para se localizar na cAlias o registro onde o conteúdo (campo) que será retornado se encontra.

cCampo: Nome do campo onde se encontra do conteúdo que se deseja retornar.

 

Utilização no Browse:

Para exemplificar a função mostrada acima, vamos utilizá-la para preencher o conteúdo de uma nova coluna que será criada na rotina de Contas a Receber. O conteúdo desta coluna será o telefone da pessoa.

1 - Para criar uma nova coluna, clique em “Configurar” no browse da rotina (No exemplo, contas a receber).

 

 

2 - Em seguida Clique em “Colunas > Incluir” e preencha os dados à direita.

 

Sobre as informações que serão preenchidas:

Título -  Nome da coluna a ser inserida, no exemplo será “Telefone”.

Dados - Fórmula utilizando o posicione (será explicada no passo 3).

Tipo - Tipo do campo. No exemplo será tipo Função.

Máscara - Máscara do campo retornado na fórmula, no exemplo a máscara será “@!”.

Alinhamento - Alinhamento do conteúdo na coluna. No exemplo, será alinhamento à esquerda.

Largura: Largura da coluna. No exemplo, largura 10.

Título -  Nome da coluna a ser inserida, no exemplo será “Telefone”.

Dados - Fórmula utilizando o posicione (será explicada no passo 3).

Tipo - Tipo do campo. No exemplo será tipo Função.

Máscara - Máscara do campo retornado na fórmula, no exemplo a máscara será “@!”.

Alinhamento - Alinhamento do conteúdo na coluna. No exemplo, será alinhamento à esquerda.

Largura: Largura da coluna. No exemplo, largura 10.

3 - Preencheremos o campo “Dados” com a função “Posicione()”, citada acima, para que ela retorne o telefone cadastrado na rotina de Cadastro de Pessoas.

Criação da fórmula:

Sabemos que o cadastro da pessoa está na tabela SA1, portanto este será o nosso cAlias.

POSICIONE(“SA1”, ...

 

O próximo passo é informar o índice utilizado para a realização da busca, para isso, imprima os índices da tabela SA1 na rotina de Impressão de dicionário.

 

 

 

Observe que são apresentados todos os índices da tabela SA1 e suas respectivas chaves de busca:

 

 

 

Para o exemplo, utilizaremos o índice 1, que contém a chave A1_FILIAL + A1_PESSOA. Desta forma, nossa fórmula já possui o cAlias e o nOrdem preenchidos:

POSICIONE(“SA1”, 1, ...

Sabemos que estamos procurando o telefone da pessoa informada na rotina de contas a receber, portanto, passaremos no próximo parâmetro uma informação que possuímos (SE1->E1_PESSOA) para a realização da busca. O índice 1 solicita a filial + pessoa, porém, iremos informar apenas a pessoa, visto que em posiciones realizados dentro do sistema, não é necessário informar a filial.

Sendo assim, nossa fórmula fica da seguinte maneira:

POSICIONE(“SA1”, 1, SE1->E1_PESSOA, ...

Por último, devemos preencher o parâmetro cCampo, que é o conteúdo da SA1 que queremos que o posicione() retorne, o campo “A1_FONE”.

Desta forma, finalizamos a nossa fórmula, com todos os parâmetros preenchidos:

POSICIONE(“SA1”, 1, SE1->E1_PESSOA, “A1_FONE”)


4 - A fórmula criada, será informada no campo “Dados”, na criação do browse.

5 - Em seguida, clique em confirmar.

6 - No passo seguinte clique em Salvar e confirme.

7 - Observe que a coluna foi criada e o seu conteúdo retorna exatamente o número de telefone informado no cadastro da pessoa:

Browse (SE1):

 

Cadastro da pessoa (SA1):

 

 

Utilização em relatórios:

Agora mostraremos outro exemplo de utilização da rotina, desta vez em um relatório. Vamos utilizar o mesmo POSICIONE() criado no exemplo acima para imprimir uma coluna com o telefone da pessoa no relatório de Títulos a receber.

 1 - O relatório alterado neste exemplo se encontra no seguinte caminho: Financeiro\Consulta\Títulos a receber.

 2 - Ao acessar o relatório (personalizável – Treport), acesse Ações relacionadas\Personalizar.

 3- Em seguida, selecione a seção em que será criada uma nova coluna (no exemplo, a seção títulos) e clique em Células.

 

A fórmula utilizada para criar uma nova coluna será a mesma que criamos anteriormente:

POSICIONE(“SA1”, 1, SE1->E1_PESSOA, “A1_FONE”)

Lembrando que a chave que estamos informando, poderá mudar, de acordo com a área em que estamos trabalhando no momento, ou seja, se este fosse um relatório de títulos a pagar, o parâmetro passado na chave seria SE2->E2_PESSOA.

 

Para saber em qual área o relatório é trabalhado, verifique na seção Células:

4 - Para incluirmos a fórmula, selecionaremos a opção fórmula e avançaremos.

5 - Na tela seguinte, informe o seu POSICIONE() e confirme.

6 - Em seguida, verifique que a coluna foi adicionada, bastando apenas preencher as suas informações à direita.

7 - Verifique que o preenchimento dessas informações é igual ao preenchimento que fizemos no exemplo anterior, ao incluir uma coluna no browse:

8 - Em seguida, clique em Salvar e dê um nome para este seu novo layout.

9 - Após criar o novo modelo, clique em OK, selecione o modelo antes da impressão e imprima o relatório.

10 - Verifique que a coluna foi criada e o conteúdo retornado está correto:

Relatório:

Cadastro de Pessoa (SA1):

 






 

  • Sem rótulos