Las fórmulas que se utilizarán deben obligatoriamente escribirse en sintaxis AdvPl para que el sistema pueda interpretarlas.



Procedimento

Cómo elaborar fórmulas:

Indicación de un campo de otro archivo

  • Fórmula:

SE1->E1_Valor = valor de la moneda 1 del archivo SE1- Archivo de títulos por cobrar.

Operación entre campos o partes fijas (alfanumérica)

Se utiliza para elaborar un dato reuniendo la información que está en campos diferentes o donde existe una parte considerada fija. Su complemento se identifica por el nombre de un campo.

  • Fórmulas:

CUENTA CONTABLE = SA1->A1_CONTA + SE1-> E1_NATUREZ

HISTORIAL = “Referente al pago de título de crédito” + SE1->E1_NUM


Operaciones matemáticas con o sin condición, utilizadas para obtener un valor representado en varios campos o una información donde se deben aplicar fórmulas matemáticas sobre un determinado campo.

  • Fórmulas

PRECIO DE VENTA =

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

TOTAL DE COMISIÓN PAGADA A UN TÍTULO =

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

Operação con la UserFunction y campos del sistema.


Aplicación práctica

Utilización del campo Fórmula plazo del archivo de productos para crear una UserFunction.

  1. Cree una userfunction para el cálculo del plazo de entrega. Ejemplo:

UserFunction FORMPRZ()

Return

2. En el Archivo de Fórmulas, es necesario vincular una userfunction a una fórmula para calcular el plazo de entrega:

Código

001

Descripción

Fórmula plazo de entrega

Fórmula

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

En este momento la userfunction se ejecuta como prueba (validación). Si existe alguna inconsistencia, el sistema no permite grabar la fórmula.

3. Después de registrar la fórmula, es necesario modificar la userfunction para definir la forma de cálculo del plazo de entrega. Ejemplo:

UserFunction FORMPRZ()

// El plazo de entrega mínimo válido para cada 100 piezas, es el período informado en el

// campo Entrega

Return Max((QUANTIDADE/100)*SB1→B1_PE,SB1→B1_PE)

4. Informe en el campo Plazo de Entrega el código de la fórmula registrada, en este caso "001".

5. La variable CANTIDAD utilizada en el ejemplo de la UserFunction FORMPRZ() existirá cuando se ejecute la función creada y vinculada a la fórmula del plazo.