Árvore de páginas

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

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