Creación SP: DetalleDeduccionesMensuales

 Fecha: Domingo 14 de junio de 2026

Hora de inicio: 9:00 a.m.

Hora de finalización: 10:20 a.m.

Total de horas trabajadas: 1 h 20 min

El objetivo de esta sesión fue desarrollar el SP DetalleDeduccionesMensuales, encargado de consultar las deducciones aplicadas a un empleado durante un periodo mensual específico. Este procedimiento corresponde al requerimiento R05 y se ejecuta cuando el empleado selecciona el total de deducciones de una planilla mensual.


Actividades realizadas

9:00 a.m. – 9:25 a.m.

Validación de la planilla mensual

Primero definí los parámetros de entrada necesarios:

  • Identificador de la planilla mensual.
  • Identificador del usuario que realiza la consulta.
  • Dirección IP desde donde se ejecuta.

Antes de consultar las deducciones agregué una validación para comprobar que la planilla mensual recibida existe en la tabla PlanillaMensual.

Si la planilla no existe, se activa la bandera de error, y se crea una descripción indicando que la consulta no pudo realizarse. La operación se registra en la bitácora tanto cuando es exitosa como cuando se recibe un identificador inválido.

Img. 1: Parámetros, validación de la planilla mensual y registro de la consulta en la bitácora.

9:25 a.m. – 10:00 a.m.

Consulta de las deducciones mensuales

La consulta principal parte de la tabla DeduccionMensual, que contiene los montos acumulados de las deducciones aplicadas durante cada periodo mensual.

Esta tabla se relaciona con:

  • TipoMovimiento, para obtener el nombre del movimiento.
  • EmpXTipoDed, para identificar la deducción asociada al empleado.
  • TipoDeduccion, para obtener el nombre específico de la deducción.
  • EXTDPorcentual, para mostrar el porcentaje cuando se trata de una deducción porcentual.

Utilicé LEFT JOIN en las tablas relacionadas con la deducción porque no todas las deducciones tienen información porcentual. Por ejemplo, una deducción de monto fijo puede tener el porcentaje en NULL y aun así debe aparecer en el resultado.

La consulta se filtra mediante el identificador de la planilla mensual recibido y los resultados se ordenan alfabéticamente por el nombre del tipo de movimiento.


Img. 2: Consulta principal y relaciones utilizadas para obtener las deducciones mensuales.

 

10:00 a.m. – 10:20 a.m.

Resultado de la sesión

Durante esta sesión se completó el procedimiento almacenado DetalleDeduccionesMensuales.

El procedimiento permite validar la existencia de la planilla mensual, consultar las deducciones correspondientes al periodo, mostrar su nombre, porcentaje y monto, registrar la consulta en la bitácora y almacenar cualquier error inesperado en DBError.

Este procedimiento fue relativamente sencillo, ya que la tabla DeduccionMensual contiene los montos previamente acumulados y no fue necesario realizar cálculos adicionales.

Una vez terminadas las pruebas, el procedimiento retornó correctamente la información esperada y quedó listo para conectarse con la vista de detalle de deducciones del requerimiento R05.

Buenas prácticas y aprendizajes

  • Validar la planilla antes de realizar la consulta evita trabajar con identificadores incorrectos.
  • LEFT JOIN permite mostrar deducciones de monto fijo aunque no tengan un porcentaje asociado.
  • Utilizar los acumulados mensuales ya almacenados evita recalcular las deducciones a partir de los movimientos semanales.
  • Las consultas exitosas y fallidas deben quedar registradas para mantener la trazabilidad del sistema.

 

Comentarios

Entradas más populares de este blog

Creación del repositorio y estructura básica del proyecto