Otros descuentos de Nomina (1, 2) - [listar] 🧾 Descripción Obtiene y lista los otros descuentos de nómina registrados para un empleado en un año y mes específicos. El servicio consulta la información en el ERP (Doctype: Otros Descuentos Nomina ) y devuelve únicamente los registros que coinciden con el mes y año enviados. Permite también filtrar por todos los meses del año enviando "TODOS" en el parámetro month . 🚀 Endpoint POST /listar-descuentos 📥 Parámetros (Request Body) { "employee" : "EMP-0001" , "year" : "2024" , "month" : "Marzo" } Campos requeridos: Campo Tipo Obligatorio Descripción employee string ✔️ Sí Código del empleado year string ✔️ Sí Año a filtrar month string ✔️ Sí Mes a filtrar. Si se envía "TODOS" devuelve todos los meses del año. 🔐 Seguridad Requiere token válido del ERP. La comunicación se realiza mediante ServiceErp() , usando cabeceras internas de autenticación. 🧠 Flujo del Servicio (Resumen real) Valida que el parámetro employee exista. Valida que el parámetro year exista. Consulta al ERP: GET Otros Descuentos Nomina / ?f ields=[ "table_22" ] Verifica que exista información. Recorre la tabla interna table_22 (donde vienen los descuentos mensuales): Compara: item.mes == mes enviado item.ano == año enviado Si month == "TODOS" , ignora el filtro del mes. Para cada coincidencia arma un objeto con: motivo monto año mes creation (en formato "d de Mes" ) Si no hay coincidencias, retorna "Sin Descuentos". Si hay registros, los devuelve ordenados por creación. 📤 Response 200 – Ejemplo exitoso { "valor" : true , "data" : [ { "motivo" : "Adelanto" , "monto" : 150.00 , "mes" : "Marzo" , "anio" : "2024" , "creation" : "05 de Marzo" } , { "motivo" : "Descuento EPS" , "monto" : 35.00 , "mes" : "Marzo" , "anio" : "2024" , "creation" : "12 de Marzo" } ] } ⚠️ Respuestas de Error 1. Falta employee { "valor" : false , "msn" : "Falta employee" } 2. Falta año { "valor" : false , "msn" : "Ingrese un año" } 3. El ERP no devuelve información { "valor" : false , "msn" : "Sin Descuentos" , "error" : [ ] } 4. No existen descuentos para el filtro solicitado { "valor" : false , "msn" : "Sin Descuentos" } 🗃 Estructuras usadas (Schemas) Otros Descuentos Nomina Campos usados: { "table_22" : [ { "motivo" : "string" , "monto" : "float" , "mes" : "string" , "ano" : "string" , "creation" : "datetime" } ] } 🧩 Pseudocódigo if employee is null → error if year is null → error otros_desc = GET Otros Descuentos Nomina / employee if no data → error foreach item in table_22: if (mes = = month AND ano = = year ) OR ( month = = "TODOS" AND ano = = year ): agregar item a lista if lista vacía → error return lista formateada