Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Fórmulas - CFGX019

Visão Geral do Programa

A fórmula pode ser criada a partir de uma expressão matemática comum ou de uma expressão ADVPL (Advanced Protheus Language) ou ainda, se preferir, através da execução de uma userfunction (função do usuário) que utiliza variáveis de memória disponíveis pelo Sistema durante sua execução. As variáveis existem apenas no momento da execução da userfunction associada à fórmula, assim, é necessário criar uma userfunction vazia, relacioná-la no cadastro de fórmulas e depois alterá-la para incluir linhas de programa.

...

Fórmulas

...

- CFGX019

Objetivo da tela:

Permite que o usuário, em pontos diferentes do Sistema, utilize fórmulas para o preenchimento de campos.

...

As fórmulas utilizadas devem obrigatoriamente ser escritas em sintaxe AdvPL para que o Sistema possa interpretá-las

.

  • Indicação de um campo de outro arquivo

Fórmula:
SE1->E1_Valor = valor da moeda 1 do arquivo SE1- Arquivo de Títulos a Receber.


  • Operação entre campos ou partes fixas (alfanumérica)

Utilizado para montar um dado com a junção de informações que estão em campos diferentes ou com uma parte considerada fixa. Seu complemento é referenciado pelo nome de um campo.

Fórmulas:
CONTA CONTÁBIL = SA1->A1_CONTA + SE1-> E1_NATUREZ

HISTÓRICO = “Referente a pagamento de duplicata” + SE1->E1_NUM


  • Operações matemáticas, com e sem condição, são utilizadas na obtenção de um valor representado em vários campos, assim como uma informação cujas fórmulas matemáticas devem ser aplicadas sobre um determinado campo.

Operações matemáticas, com e sem condição, são utilizadas na obtenção de um valor representado em vários campos, assim como uma informação cujas fórmulas matemáticas devem ser aplicadas sobre um determinado campo.

Fórmulas:

PREÇO DE VENDA =

IIF(DAY(Dbase)=15,B1_PRV2*0,10,B1_PRV1)

TOTAL DE COMISSÃO PAGA A UM TÍTULO =

(SE1->E1_COMIS1+SE1->E1_COMIS2+SE1->E1_COMIS3+ SE1->E1_COMIS4 + SE1->COMIS5)

Operação com a UserFunction e campos do Sistema.


Aplicação Prática

Utilização do campo Fórmula Prazo do cadastro de produtos para criar uma UserFunction.

1. Crie uma userfunction para o cálculo do prazo de entrega.

Exemplo:

UserFunction FORMPRZ()

Return

2. No Cadastro de Fórmulas, é necessário associar uma userfunction a uma fórmula para o cálculo do prazo de entrega:

Código

001

Descrição

Fórmula prazo de entrega

Fórmula

EXECBLOCK("FORMPRZ",.F.,.F.)

Nesse momento, a userfunction é executada para teste (validação). Se apresentar alguma inconsistência, o sistema não permite a gravação da fórmula.

3. Após o cadastramento da fórmula, é necessário alterar a userfunction para definir a forma do cálculo do prazo de entrega.

Exemplo:

UserFunction FORMPRZ()

// O prazo de entrega mínimo válido para cada 100 peças é o período informado no

// campo Entrega

Return Max((QUANTIDADE/100)*SB1->B1_PE,SB1->B1_PE)

4. Informe no campo Prazo Entrega o código da fórmula cadastrada, neste caso "001".

5. A variável QUANTIDADE utilizada no exemplo da UserFunction FORMPRZ() existirá na execução da função criada e associada à fórmula do prazo.


Tabelas utilizadas

  • SM4 – Fórmula
  • SUO – Campanhas
  • SU5 – Contatos
  • SU7 – Operadores
  • SUS – Prospects
  • SUV – Atendentes In/Out


Conteúdos Relacionados:

Configurando Consultas.