Manual Configuración Nómina
Este manual ha sido contribuído por Carlos Ruiz.
Patrocinado por:
- Global Quality Systems & Solutions (GlobalQSS)
- DoubleClick Sistemas (Empresa Líder de la Localización Venezuela)
Contents
- 1 Conceptos
- 2 Contabilización Conceptos
- 3 Escribir Reglas de Nomina:
- 3.1 Variables disponibles:
- 3.2 Funciones que puede invocar:
- 3.2.1 getConcept(String)
- 3.2.2 getConcept(String, int, int)
- 3.2.3 getConcept(String, int, int, int)
- 3.2.4 getConcept(String, Timestamp, Timestamp)
- 3.2.5 getConceptGroup(String)
- 3.2.6 getList(String, double, String)
- 3.2.7 getAttribute(String)
- 3.2.8 getAttribute(String,Timestamp)
- 3.2.9 getAttributeDate(String)
- 3.2.10 getAttributeString(String)
- 3.2.11 getDays(Timestamp, Timestamp)
- 3.2.12 getMonths(Timestamp, Timestamp)
- 3.2.13 setConcept(String, double)
- 3.2.14 setConcept(String, double, boolean)
- 3.2.15 Cualquiera de los métodos getters de la clase MHRProcess
- 3.2.16 Cualquiera de las clases disponibles para Java y Adempiere
- 3.3 Valores a retornar:
Conceptos
Constantes (por empresa / vigencia)
Conceptos que se definen por empresa durante una vigencia específica (ej: salario mínimo)
Para definir un concepto que sea constante debe definirse en la ventana Catálogo de Conceptos de Nómina:
Tipo: Información
Empleado: No
Registrado: No
El resto de campos se diligencian como se requiera.
El valor correspondiente se configura en la pestaña de Atributos Empleado
Se obtienen en las fórmulas utilizando los métodos getAttribute
Atributos (por empleado / vigencia)
Conceptos que se definen por empleado durante una vigencia específica (ej: salario)
Para definir un concepto que sea atributo debe definirse en la ventana Catálogo de Conceptos de Nómina:
Tipo: Concepto
Empleado: Si
Registrado: No
El resto de campos se diligencian como se requiera.
Se obtienen en las fórmulas utilizando los métodos getAttribute
Novedades (por empleado / proceso nómina / día)
Conceptos que se capturan cada proceso de nómina asociados a novedades de un empleado (ej: número de horas extras trabajadas en un día)
Para definir un concepto que sea novedad debe definirse en la ventana Catálogo de Conceptos de Nómina:
Tipo: Concepto
Empleado: No
Registrado: Si
El resto de campos se diligencian como se requiera.
Y debe definirse un atributo (no importan los valores, pero debe existir un registro asociado en la pestaña Atributos Empleado)
Se obtienen en las fórmulas utilizando los métodos getConcept
Reglas
Conceptos que definen reglas (rutinas de cálculo escritas en un lenguaje como beanshell en la tabla de Reglas - AD_Rule).
Para definir un concepto que sea regla debe definirse en la ventana Catálogo de Conceptos de Nómina:
Tipo: Regla
Tipo de Columna: solo se debe usar Monto o Cantidad
Empleado: No
Registrado: No
El resto de campos se diligencian como se requiera.
Y debe definirse un atributo donde se relaciona con la regla a ejecutar.
Contabilización Conceptos
Los conceptos que se van a contabilizar deben ser marcados para que se ingresen a la tabla de movimientos (pagado, desplegado o impreso).
Se debe ingresar la naturaleza de la cuenta Débito o Cŕedito (Natural no se utiliza). Luego se deben definir las cuentas contables asociadas a este concepto, así:
Si el concepto es naturaleza Débito entonces la cuenta débito a definir es el gasto correspondiente de nómina y la cuenta crédito la CxP, esta cuenta crédito se usará únicamente si el concepto se marca como balanceando.Si el concepto es naturaleza Crédito entonces la cuenta crédito a definir es la que corresponda al descuento realizado y la cuenta débito dependerá del tipo de descuento, esta cuenta débito se usará únicamente si el concepto se marca como balanceando.
Si a uno o más conceptos no se les marca el campo Balanceando, entonces el proceso de contabilización balancea estos conceptos contra la cuenta correspondiente al cargo configurado en la nómina.
Escribir Reglas de Nomina:
Variables disponibles:
No se deben copiar los objetos para modificarlos, sino clonarlos, por ejemplo si para un cálculo se debe modificar _From, se debe copiar la variable así:
Timestamp fromclone = (Timestamp) _From.clone();
Variable | Tipo | Descripción |
process | MHRProcess | instancia del objeto "Proceso Nomina" |
_Process | int | identificador del proceso -> HR_Process_ID |
_Period | int | identificador del período del proceso -> HR_Period_ID |
_Payroll | int | identificador de la nómina del proceso -> HR_Payroll_ID |
_Department | int | identificador del departamento del proceso -> HR_Department_ID |
_From | Timestamp | fecha inicio del periodo de nomina |
_To | Timestamp | fecha fin del periodo de nomina |
_DateStart | Timestamp | fecha ingreso del contrato del empleado |
_DateEnd | Timestamp | fecha final del contrato del empleado, si nulo 2999-12-31 |
_Days | int | número de días entre la fecha inicial y final del período (incluyendo los dos extremos) |
_C_BPartner_ID | int | identificador del tercero del empleado -> C_BPartner_ID |
Funciones que puede invocar:
getConcept(String)
retorna doble el monto del concepto
parametros codigo del concepto
getConcept(String, int, int)
retorna doble el monto del concepto
parametros codigo del concepto, periodo desde, periodo hasta
getConcept(String, int, int, int)
retorna doble el monto del concepto
parametros codigo del concepto, codigo de la nomina, periodo desde, periodo hasta
getConcept(String, Timestamp, Timestamp)
retorna doble el monto del concepto
parametros codigo del concepto, fecha desde, fecha hasta
getConceptGroup(String)
retorna doble la suma de los conceptos en esa categoria
parametros codigo de la categoria del concepto
getList(String, double, String)
retorn doble
parametros codigo de la lista, monto, nombre de la columna a obtener
getAttribute(String)
retorna doble el monto del atributo
getAttribute(String,Timestamp)
retorna doble el monto del atributo en la fecha especificada
parametros codigo del concepto y fecha1
getAttributeDate(String)
retorna fecha del atributo
parametros codigo del concepto
getAttributeString(String)
retorna texto del atributo
parametros codigo del concepto
getDays(Timestamp, Timestamp)
retorna los dias entre dos fechas
parametros fecha1 y fecha2
getMonths(Timestamp, Timestamp)
retorna los meses entre dos fechas
parametros fecha1 y fecha2
setConcept(String, double)
parametros codigo del concepto, valor a escribir en doble
setConcept(String, double, boolean)
parametros codigo del concepto, valor a escribir en doble, flag registrado
Cualquiera de los métodos getters de la clase MHRProcess
Todos los métodos get.... de la clase MHRProcess pueden ser utilizados directamente, por ejemplo: get_TrxName(), getCtx(), getC_BPartner(), getHR_Payroll(), getValue(columnname), getDocumentNo(), etc.
Cualquiera de las clases disponibles para Java y Adempiere
En caso que la clase no se encuentre en java.math o java.sql se debe importar el package correspondiente.
Valores a retornar:
Para retornar valores se debe usar la variable result de tipo double, este valor será escrito en la tabla de movimientos (HR_Movement) en el campo monto o cantidad dependiendo del tipo de concepto.
También se puede usar la variable description de tipo String, el valor que se asigne a esta variable será escrito en el campo Description de la tabla de movimiento.