> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://e-sueldos.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 📘 C. Cálculos Auxiliares en e-Sueldos

## **1. Introducción y Definición Teórica**
En el ecosistema de e-Sueldos, un **Cálculo Auxiliar (Hoja 3)** es una unidad lógica de procesamiento intermedio. Su función es la **abstracción**: permite definir datos o cálculos una sola vez y reutilizarlos en toda la liquidación.
Para dominar el sistema, es fundamental entender que un Auxiliar puede comportarse de **tres formas distintas**. No todos son fórmulas matemáticas; algunos son simples datos fijos y otros son "puentes" hacia otras partes del sistema.
Las 3 funciones básicas son:
1. **Fórmula:** Realiza cálculos lógicos o matemáticos (SI/ENTONCES).
2. **Constante:** Almacena un valor fijo (parámetro).
3. **Vínculo a Acumulador:** "Trae" un valor totalizado desde la Hoja de Acumuladores.
## **2. Los 3 Tipos de Comportamiento (Detalle)**
### **Tipo 1: El Auxiliar "Fórmula" (Lógica y Cálculo)**
Es el uso más tradicional. El auxiliar procesa variables (L, N, R) mediante operadores matemáticos y lógica condicional.
* **Función:** Resolver cálculos complejos (Promedios, Topes, Proporcionales) o actuar como **Selector** (elegir entre un dato manual N o uno automático).
* **Configuración:** Se utilizan las columnas *Condición*, *Algoritmo Verdadero* y *Algoritmo Falso*.
* **Ejemplo (Selector):** *Días Básicos (Cód. 7)*. Si hay Novedad manual (N[1]>0), úsala; si no, calcula 30 - Faltas.
### **Tipo 2: El Auxiliar "Constante" (Parámetro Fijo)**
Se utiliza para definir un número fijo que se repetirá en muchas fórmulas. El auxiliar no calcula nada, solo "sostiene" un valor.
* **Función:** Centralizar parámetros legales o de convenio.
* **Configuración:** Se deja la *Condición* para  configuraciones manuales (opcional) y se pone el número fijo en *Algoritmo Falso*.
* **Ejemplo:** Divisor Horas Comercio (Cód. 8)  . Valor fijo: 200.
### **Tipo 3: El Auxiliar "Vínculo a Acumulador" (El Puente)**
Este es un caso especial y muy potente. Aquí el auxiliar **NO tiene fórmula propia**. Su única función es ir a la **Hoja de Acumuladores (4)**, buscar el resultado de una suma masiva y traer ese valor a la Hoja de Auxiliares para que puedas usarlo o visualizarlo.
* **Función:** Exponer un total (ej. "Total de Días de Vacaciones Gozadas en el año") para usarlo en una validación o control.
* **Comportamiento:** El sistema ignora los campos de *Algoritmo* y mira la configuración de vinculación interna (columna *Acumulador Asignado* en la interfaz).
* **Caso Práctico (Tu Ejemplo):**
* **Auxiliar:** Cód. 1 - VACACIONES DIAS.
* **Configuración:** Está vinculado al **Acumulador 41 (Vacaciones)**.
* **Resultado:** Si el Acumulador 41 suma 14 días (basado en el historial del empleado), el A[1] valdrá 14.
* **Uso:** Ahora puedes usar A[1] dentro de una fórmula para restar días restantes, algo que no podrías hacer directo con el Acumulador.
## **3. Anatomía de un Auxiliar: Atributos y Configuración "World Class"**
Para configurar un auxiliar robusto, profesional y libre de errores, debes dominar cada uno de sus atributos. A continuación, se detalla la especificación técnica de las columnas de la planilla Calculo Auxiliares (3):
| **Atributo (Columna)** | **Definición Técnica** | **Estrategia World Class (Tip de Experto)** |
| **Cod (Código)** | Identificador numérico único del auxiliar (A[Cod]). Es la llave primaria en la base de datos de fórmulas. | **Planifica tu rango:** No uses números al azar. Agrupa por temas (ej: 100-199 para Antigüedad, 200-299 para Adicionales). Esto facilita la lectura y mantenimiento futuro. |
| **Items (Detalle)** | Nombre descriptivo del auxiliar. Es la etiqueta visible para el liquidador. | **Naming Convention:** Usa nombres estandarizados y en mayúsculas. Evita "Auxiliar 1". Usa: CALCULO_ANTIGUEDAD_BASE o PARAMETRO_TOPE_DNU. |
| **Condición** | Expresión lógica que devuelve Verdadero o Falso. Determina qué camino toma el motor de cálculo. | **El Poder del Vacío:** Si dejas este campo vacío, el sistema asume TRUE (Verdadero). Úsalo para fórmulas directas que no requieren condicionales. |
| **Algorit. Verdadero** | Fórmula matemática o valor que se ejecuta si la Condición es TRUE (o está vacía). | **Simplicidad:** Si la fórmula es muy larga, divídela en dos auxiliares anidados. Es mejor tener 2 auxiliares legibles que 1 monstruoso e imposible de depurar. |
| **Algorit. Falso** | Fórmula matemática o valor que se ejecuta si la Condición es FALSE. | **El "Fallback":** Este es tu valor por defecto. Úsalo para definir qué pasa en el "peor escenario" (ej. si no hay datos, devolver 0 para evitar errores de división). |
| **Clase / Tipo** | Identificador interno del motor que define el comportamiento del dato (Numérico, Texto, Acumulador). | **Imitación Segura:** No inventes clases. Si creas un auxiliar nuevo, busca uno existente que haga lo mismo y **copia su Clase**.• A: Para vincular Acumuladores.• F: Para Fórmulas estándar.• 4, 6, 12: Valores internos comunes. |
| **Valor** | Campo especial utilizado principalmente cuando la Clase es 'A' (Acumulador). | **El ID del Destino:** Si configuras un auxiliar puente, aquí colocas el ID del Acumulador de la Hoja 4 que deseas leer (ej. 41). |
## **4. Lógica del Motor: El Flujo de Decisión**
El motor evalúa qué hacer basándose en cómo llenaste los campos:
1. **¿Es Tipo Acumulador (Clase A)?**
* **SÍ:** Ignora fórmulas. Va a la Hoja 4, busca el Acumulador vinculado (definido en *Valor*) y trae su total. (Fin del proceso).
* **NO:** Continúa al paso 2.
2. **Evalúa Condición:**
* **¿Verdadera?** Ejecuta *Algoritmo Verdadero*.
* **¿Falsa?** Ejecuta *Algoritmo Falso* (Aquí reside el valor de la **Constante** si es un auxiliar fijo).
## **5. Referencia de Variables (Sintaxis)**
| Variable | Nombre | Descripción |
| N[x] | Novedad | Valor variable mensual (ej. N[1]). |
| L[x] | Legajo | Dato fijo del empleado (ej. L[10]). |
| A[x] | Auxiliar | Referencia a otro auxiliar. |
| R[x] | Resultado | Valor final ($) de un concepto. (Cuidado con el orden de cálculo). |
| Acumulador | (Implícito) | No existe una variable Acum[x] directa en fórmulas. Debes usar un Auxiliar Tipo 3 como puente para acceder a ellos. |
## **6. Buenas Prácticas de Ingeniería de Fórmulas**
1. **Modularidad (Principio DRY):** "Don't Repeat Yourself". Si escribes la misma lógica (ej. L[10] / 30) en tres conceptos diferentes, extraerla a un Auxiliar (A[ValorDia]). Si la ley cambia el divisor a 25, solo corriges un lugar.
2. **Puentes Claros:** Si usas un Auxiliar como vínculo a acumulador (Tipo 3), nómbralo explícitamente para evitar confusión. Ej: AUX_TOTAL_VACACIONES_ACUM.
3. **Validación de Tipos:** No intentes sumar peras con manzanas. Si un auxiliar devuelve días (número entero), no lo uses directamente en un campo que espera pesos ($) sin multiplicarlo antes por un valor monetario.
4. **Documentación en el Nombre:** Dado que no hay campo de comentarios, usa el campo Items para ser descriptivo. PLUS_ZONA_DESFAVORABLE es infinitamente mejor que AUX_ZONA.os correctos.