Árvore de páginas

Versões comparadas

Chave

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


Elaborar Fórmulas

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

...

Procedimentos

Para elaborar fórmulas:

Indicação de um campo de outro arquivo

...


  • Fórmulas:

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.

...


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