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