La Calculadora

Conceptos básicos

Para abrir este diálogo modal, pulsamos la tecla F9, siempre que estemos en modo Edición, en cualquier campo de entrada numérico o alfanumérico al pie de una lista, en cualquier ventana.

Contiene una línea en la que se pueden introducir expresiones con funciones en lenguaje JavaScript estándar, que operen con los datos que se encuentran dentro de los campos, o transcribir el total de la operación efectuada, para múltiples líneas de la lista. La documentación que aparece en la ventana nos indica las variables que podemos usar para acceder a las campos y líneas, anteriores y posteriores.

El campo de entrada reconoce dos partes diferenciadas; la primera especifica un operador que nos dará la forma que afecta la línea de comandos al campo activo; se admiten seis operadores: suma, producto, diferencia, división, exponente y asignación. Si no se especifica, se considera que es el igual (=), o sea, asignar el valor resultante de la expresión al campo. Detrás puede ir cualquier expresión con sintaxis y funciones JavaScript en una sola línea (no se admiten, varias líneas separadas por punto y coma (;).

La expresión puede incluir una variable llamada a?? (el valor del campo actual), e i??que representa el número de la línea actual, además del valor de los campos abiertos por la derecha del que estamos operando (a1?? a2?? a3??..) o los abiertos por el lado izquierdo (a_1?? a_2?? a_3??..).

A efecto de operar con datos de varias columnas, sólo se tienen en cuenta los campos visibles ??engan posibilidad de edición o no?? Ejemplo:  si tenemos en pantalla visibles los campos: Código, Resumen, Precio, Fecha, Cantidad; si nos situamos con la calculadora en el campo Precio, el contenido de la misma línea en el campo Cantidad se puede referenciar como '2' y el de Código como ??'_2'.

IMPORTANTE: se pueden combinar todas las variables que se desee, como '=a_1+b3'

La segunda parte, opcional y separada por un espacio en blanco, permite especificar sobre cuántas líneas a partir de la seleccionada, se realizará la misma operación.

Ejemplos

Se pueden operar fechas, tratándolas como si fuesen números (en su formato interno: AAAAMMDD) o mejor aún, con la función de suma y resta de fechas fecmas(). Ésta posibilidad es muy útil cuando se trata de cambiar una serie muy grande de fechas de forma automática, por ejemplo, poniendo en la calculadora ??00??i+??7??8 pondrá en las ocho líneas de concepto siguientes a la actualmente seleccionada (si son las únicas que se muestran en pantalla), fechas desde el 10/01/97 al 10/08/97. También se puede operar en campos alfanuméricos (código, resumen, ...) para de la misma forma, modificar o introducir datos masivamente.

Se pueden realizar operaciones masivas de sustitución de códigos mediante el formato de series explicado en los campos de edición: con el formato "00A1++" 100 situado en la primera línea de una lista de conceptos, tomará el primer código libre de la serie 00A1 y los irá incrementando en uno, cambiando las 100 líneas siguientes a la actualmente seleccionada.

Se pueden ??limpiar ??los campos de fechas de 10 líneas con la expresión: ??? 10, y los campos numéricos de importes, mediciones, etc. con ??? 10 o 0 10 (ambas son válidas).

Al recuperar con una variable (como a1 ó a_1) un campo referencia a concepto (como el Ascendiente, por ejemplo), el valor devuelto es una cadena con el formato "codigo · resumen", por lo que para asignarlo a otro campo de referencia tenemos que poner en la expresión algo como: =a_2.split("·")[0] para que sólo inserte el código.