Comprendo que los procesos de inicialización y finalización de planilla, reciben el parámetro @sessionId, el cual identifica al procesamiento actual de planilla, de tal manera que la siguiente instrucción indica si el empleo ha sido seleccionado para participar en dicho cálculo de planilla: sal.empleado_en_gen_planilla(@sessionId, inn_codemp) = 1 De tal manera que cuando se recalculan las cuotas de los descuentos cíclicos, por ejemplo, se utilizaría esta instrucción para determinar qué cuotas se eliminan para volver a recalcularlas, y así no afectar las cuotas de los empleos que no han sido seleccionados para el actual cálculo de planilla. Por lo que mis consultas son, con base a su experiencia, las siguientes: ¿es suficiente usar esta instrucción? ¿cuáles son las instrucciones que en conjunto les permiten procesar a los empleos seleccionados y eliminar los datos de aquellos empleos que ya no participan en planilla (por estar retirados o suspendidos, por ejemplo)? |
Para fines del filtro de empleados a procesar, si es suficiente utilizar la función Ahora bien, es importante eliminar información "huérfana" que queda en las tablas de ingresos, descuentos y reservas, cuando suceden cosas como: empleado trasladado entre empresas o tipos de planilla, retiros, suspensiones u otra manera que quede información del empleado que ya no es válida. En el caso de uno de los clientes que te mencioné arriba, ellos tienen como parte del proceso administrativo de verificación, el cuadre del número total de empleados pagados (tomado de la transferencia de salario al banco) contra el número de empleados con salario calculado en planilla. Si este número no cuadra, puede deberse a información "huérfana". Para eso, se configuró un procedimiento almacenado que elimina la información de un empleado en particular, para un período de planilla en particular. Por otro lado, el proceso de finalización de planilla, al final verifica si existe información huérfana de cálculo de salarios para eliminarla. |