As fórmulas utilizadas devem obrigatoriamente ser escritas em sintaxe AdvPL para que o Sistema possa interpretá-las.
Procedimentos
Para elaborar fórmulas:
SE1->E1_Valor = valor da moeda 1 do arquivo SE1- Arquivo de Títulos a Receber.
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.
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.
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.
Utilização do campo Fórmula Prazo do cadastro de produtos para criar uma UserFunction.
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.