Procesos y fórmulas

Configuración > Nómina > Procesos y fórmulas

EL PROCESO DE SUELDO NORMAL viene definido desde el modelo estándar y le permitirá realizar el cálculo de remuneraciones de forma mensual.



 

Esta aplicación despliega un determinado conjunto de fórmulas (cálculos) estos componen un proceso. Este proceso tiene como objetivo cumplir con una necesidad determinada dentro del módulo nómina.

Ejemplo:

 

La ilustración muestra el proceso de sueldo mensual, en este ejemplo el proceso tiene 36 fórmulas (Defontana entrega configurado este proceso con 26 fórmulas),no hay límite definido de fórmulas a insertar en un determinado proceso.

Cada fórmula es un cálculo que cumple con una necesidad dentro de este proceso.

Ejemplo: Cálculo de horas extras.

(0.0077777 x sueldo base) x número de horas extras

Dentro de las opciones de esta aplicación, están las siguientes:

  • Editar : Este botón cumple dos funciones dependiendo del elemento a seleccionar.
  •  Nuevo: Este botón cumple dos funciones dependiendo del elemento a seleccionar.
  •  Eliminar: Elimina un proceso o una fórmula dependiendo de la selección previa que se efectúe.
  • Contraer / Expandir: Permite mostrar u ocultar todos los Procesos y Fórmulas existentes


 


Ficha de proceso de cálculo

Esta aplicación determina el orden secuencial de ejecución de cada fórmula.

Donde:

Información

Código           :  Es el código del proceso creado o editado.

Descripción    : Es la descripción del proceso creado o editado.

Fórmulas Disponibles

En este cuadro están todas las fórmulas que dispone el sistema.

Fórmulas Proceso

Este cuadro determinará el orden de ejecución de las fórmulas que componen un proceso. 

  • Nuevo : Crea un proceso.
  • Editar: Edita un proceso existente.
  • Grabar: Almacena un proceso.
  • Traer: Desde los datos descripción y código el sistema puede cargar un proceso existente.

 

Ficha fórmula de cálculo

La ficha de fórmula de cálculo permite personalizar los cálculos que necesita dependiendo de las necesidades que tiene la empresa.

Formato:

Identificación

Código: Corresponde al código de la fórmula. Este dato es designado por el usuario.

Descripción: Corresponde a la descripción de la fórmula. Este dato es designado por el usuario.

Sentencias

Línea        : Es una línea de código del lenguaje de programación de fórmulas Defontana. Corresponde a un punto de ubicación dentro de la secuencia de la fórmula.

Sentencia : Es una orden o instrucción que ejecuta el lenguaje de programación de fórmulas Defontana.

La sintaxis está conformada por los siguientes comandos:

  • Coment.    : Esta intrucción permite colocar dentro de la secuencia de sentencias un comentario.
  • Hacer        : Esta instrucción permite ejecutar una acción dentro de un línea.
  • Si              : Esta instrucción ejecuta de forma condicional una o un grupo de instrucciones, dependiendo del valor de un expresión.
  • Fin del si   : Esta instrucción detiene la ejecución de la instrucción Si
  • Ir a            : Esta instrucción provoca un salto automático dentro de la secuencia de sentencias.
  • Salir          : Esta instrucción finaliza la secuencia de sentencias.

Variables: Una variable es un espacio reservado para almacenar un valor que corresponde a un tipo de dato.
 
  • Igual a: Esta constante ordena a guardar el valor resultante de la operación en la variable.
  • Los otros datos corresponden a parámetros de cálculos o a un valor numérico separados por un operador aritmético.

Ejemplo

Suponga que tiene los siguientes parámetros en la aplicación "Pocesos y formulas"

- P_CANT: Cantidad. Parámetro de tipo numérico.

- P_PUNIT: Precio unitario. Parámetro de tipo numérico.

- P_SUBTOT: Subtotal. Parámetro de tipo numérico configurado como de resultado.

 

Con estos parámetros se construye una planilla y se realiza el siguiente ingreso:

 

 

 Recuerde que P_SUBTOT no se puede ingresar por la planilla porque es de resultado.

 

La idea es realizar el cálculo P_CANT x P_UNIT y asignar el resultado a P_SUBTOT. Para esto creamos la siguiente fórmula:

 

Hacer P_SUBTOT = P_CANT * P_PUNIT


 

El sistema reconocerá que el primer parámetro (el que recibe el resultado) pertenece a una planilla de ingreso y repetirá esa sentencia tantas veces como movimientos se hayan ingresado, en este caso tres veces. Cada vez que procesa una línea el sistema verifica si los otros dos parámetros pertenecen a la planilla. Si el parámetro es de planilla entonces usa el valor correspondiente al movimiento procesado; y si el parámetro no es de planilla entonces toma el valor fijo asignado.

 

En el ejemplo, la sentencia quedará internamente de la siguiente forma:

 

Hacer P_SUBTOT = 12 * 1350 (Para el movimiento 1)

 

Hacer P_SUBTOT = 10 * 2300 (Para el movimiento 2)

 

Hacer P_SUBTOT = 25 * 1000 (Para el movimiento 3)

 

Al finalizar la ejecución del proceso de cálculo, se asignará cada uno de los valores resultados al parámetro P_SUBTOT correspondiente. De esta manera, cuando vuelva a recuperar la matriz podrá visualizar el resultado del cálculo de la siguiente forma:

 

 

Ahora, suponga que con la misma planilla quiere ejecutar la siguiente sentencia:

 

Si P_CANT <= 10 Entonces

 

Hacer P_SUBTOT = P_CANT * P_PUNIT

 

Fin Si

En este caso el sistema detecta que cualquiera de los dos valores de la condición sea de planilla. 10 es un valor fijo, pero P_CANT es un parámetro de planilla. Cuando esto se cumpla el sistema repetirá toda la sentencia SI con su contenido tantas veces como movimientos se hayan ingresado. En este caso 3.

Cuando el sistema detecta que el contenido de la sentencia SI tiene parámetros de planilla, no lo repite, si no que hace uso del valor que corresponde al movimiento procesado.

En el ejemplo, la sentencia quedará internamente de la siguiente forma:

Si 12 <= 10 Entonces (Para el movimiento 1)

Hacer P_SUBTOT = 12 * 1350

Fin Si

Si 10 <= 10 Entonces (Para el movimiento 2)

Hacer P_SUBTOT = 10 * 2300

Fin Si

Si 25 <= 10 Entonces (Para el movimiento 3)

Hacer P_SUBTOT = 25 * 1000

Fin Si

En este caso, cuando la sentencia SI se procese para el movimiento 1 y 3 no se cumplirá la condición y no se ejecutará la sentencia HACER y P_SUBTOT tendrá el valor 0. La planilla se verá de la siguiente forma: