Para realizar operaciones, puedes utilizar campos numericos con contenidos iniciales. En la formula del contenido inicial puedes poner la operacion para calcular el iva o los descuentos
El comando If… else… supongo que será igual que en tu anterior lenguaje…
If (la condición que sea)
entonces esto
elseif (otra condión)
entonces esto otro…
else
condición final
Lo que si tienes que tener en cuenta es no meter ninguna instrucción entre el If y el else (ni siquiera un rem). Si quieres meter comentarios hazlo dentro de la rama del if o del else…
If (la condición que sea)
rem comentario
entonces esto
else
rem comentario
esto otro…
El comando IF ELSE se puede utilizar dentro del contenido de un campo o es mejor utilizar el comando Choose para poder seleccionar entre un valor o otro, es decir según el valor de una casilla de selección el campo numérico puede tener un valor x o un valor igual a cero (0)
IF ELSE es una instrucción de Proceso, que solo puede ser utilizada en procesos y además genera un Subproceso.
Choose es una función básica, solo accesible desde el editor de fórmulas.
Para determinar el contenido de un campo solo puedes hacer uso del editor de fórmulas. Choose devolverá un valor u otro dependiendo de una sola condición.
Para ejecutar un IF ELSE tendrás que usar en el editor de fórmulas una Función de proceso, en la que ya podrás utilizar Instrucciones de proceso.
En tu caso, la casilla de Verificación debe fijar el valor de una Variable Local del formulario. Para fijar el contenido del Campo de la Tabla debes hacerlo desde un Evento del formulario. Ten en cuenta que la Fórmula de un Campo Tipo fórmula se resuelve en la capa de datos, en un contexto donde solo tiene acceso a los campos de la misma tabla y a variables globales.
Otra solución es que la Casilla de verificación del formulario fije el valor de un campo booleano de la misma Ficha donde está la Fórmula.