Cálculo de nóminas modificadas antes de confirmación - Odoo 8

1,003 views
Skip to first unread message

Alejandro Perez

unread,
Nov 28, 2014, 7:35:44 AM11/28/14
to odoo-ar...@googlegroups.com
[Odoo-8]

Estimados, 

Estoy intentando realizar algunas modificaciones (agregar incentivos, bonos, etc) en las nóminas de algunos empleados antes de imprimirlas pero al momento de hacer save, solo el total para la fila es calculado y no así el total con respecto a las otras reglas. 
Hay alguna forma de hacer estas modificaciones?

Esto es mas o menos lo que estoy intentando:

El cálculo de Net es de tipo python y va a tener el siguiente total: 

result = categories.BASIC  - categories.DED + categories.ALW

Bono es de tipo ALW, tiene un importe_fijo=1 y cantidad=0 (para aplicarlo cuando lo necesite en la cantidad que necesite en unidades, en el ejemplo: 1000).

Lo que estoy haciendo es generar las nóminas para el mes, editar la nómina de un empleado, y en la cantidad de Bono cambiar el 0 por 1000 ya que quiero que para ese mes, el trabajador tenga ese bono. 
Si guardo el cambio, en el total de Bono, se puede ver que el número cambió, sin embargo, el Total de Net sigue calculando como si Bono siguiera en 0 (8000-960+0=7040) y no como especificado en la modificación (8000-960+1000=8040).

Ahora, al hacer click en "Calcular hoja" para que calcule nuevamente el Net con los nuevos valores de Bono, la hoja vuelve a su estado original (Bono > cantidad > 0) eliminando el bono que asigné al hacer save.

Ahora mi pregunta concreta: 
Como harían ustedes para asignar un bono (que no tiene un importe fijo y que solo se aplica de vez en cuando) a un trabajador especifico para una nómina?

[Odoo-8]

Muchas gracias por su tiempo y respuestas
Saludos

Alejandro

Gustavo Orrillo

unread,
Nov 28, 2014, 8:04:38 AM11/28/14
to odoo-ar...@googlegroups.com
modificando en ofrma manual la nomina? es decir, en forma manual le agregaria el concepto, porque si es calculado de forma extraordinaria...

my two cents,

--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de odoo trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito al grupo "odoo-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a odoo-argentin...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a odoo-ar...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Alejandro Perez

unread,
Nov 28, 2014, 8:11:04 AM11/28/14
to odoo-ar...@googlegroups.com
Hola Gustavo, 
Al hacer la modificación manual del Total, y luego confirmar, las modificaciones son ignoradas y los campos vuelven a sus números originales.. 

Gustavo Orrillo

unread,
Nov 28, 2014, 8:31:19 AM11/28/14
to odoo-ar...@googlegroups.com
en la base de demo que viene con OpenERP hay algun ejemplo?

Alejandro Perez

unread,
Nov 28, 2014, 9:15:07 AM11/28/14
to odoo-ar...@googlegroups.com
Hay un ejemplo con el que se puede trabajar en el demo: "Roger Scott"
Habría que generar las nóminas para este empleado y hacer la modificación en allowance en la nómina generada.

Analia Gomez Benitez

unread,
Nov 30, 2014, 5:24:55 PM11/30/14
to odoo-ar...@googlegroups.com
Alejandro:

           Quizás te convendría incluir en la estructura salarial la regla "BONO". Creando la regla como importe fijo cantidad 1 importe fijo 0.

Nosotros lo utilizamos en la versión 7, pero quizás te ayude.

Probalo y nos comentas.

Saludos,

Cdora. Analía Gomez Benitez
Resp. de Adm y Finanzas
Tel. 011 4730 1870

Andres Schemper

unread,
Dec 1, 2014, 12:53:23 PM12/1/14
to odoo-ar...@googlegroups.com
Hola Alejandro,

También podrías verificar el número de secuencia del Concepto de liquidación "Bono" en definición de reglas salariales, fijate que tenga un número menor al número de secuencia del "Neto".

saludos!

Andrés

Alejandro Perez

unread,
Dec 1, 2014, 1:40:27 PM12/1/14
to odoo-ar...@googlegroups.com, analia...@eynes.com.ar
Hola Analia, eso es lo que estuve intentando hacer hasta ahora, el problema es que el cálculo posterior no se dá, igualmente al momento de registrarse los asientos en la parte contable el cálculo es el original (con importe 0) y no el modificado.. 

Andres Schemper

unread,
Dec 1, 2014, 4:31:15 PM12/1/14
to odoo-ar...@googlegroups.com, analia...@eynes.com.ar
Alejandro,

Si se trata de un Bono no habitual y no fijo, podrías crear una regla "BONO" con categoria=Allowance, tipo= Código python,  result = ((inputs.IMP_BONO.amount) 

Luego en la liquidación deberías informar la novedad en la parte de "Otras Entradas" con  
código= IMP_BONO y el importe que desean abonar.

Saludos

Andres

Alejandro Perez

unread,
Dec 2, 2014, 10:02:09 AM12/2/14
to odoo-ar...@googlegroups.com, analia...@eynes.com.ar
Hola Darío, ahora lo intento y te aviso que tal me fue.
Igualmente te comento que acabo de quitar la linea 318 de addons/hr_payroll/hr_payroll.py, lo cual resuelve parcialmente el problema, ya que deja de calcularme los valores como si no hubiera editado nada. 

La función queda de esta manera: 

def hr_verify_sheet(self, cr, uid, ids, context=None):
    # self.compute_sheet(cr, uid, ids, context)
    return self.write(cr, uid, ids, {'state': 'verify'}, context=context)

Lo que hace esto es no re-calcular (a partir de la función de las reglas) cuando se da click en "Confirmar". Lo que quedaría fuera hacer el cálculo con los valores guardados y no con el cálculo de las reglas.

Igualmente Andres, si puedo solucionar este problema con tu consejo facilitaría un montón las cosas. 
Gracias! Comento el avance en un rato mas..

Saludos
Alejandro

Alejandro Perez

unread,
Dec 3, 2014, 8:07:00 AM12/3/14
to odoo-ar...@googlegroups.com, analia...@eynes.com.ar
Andres, te comento que usar inputs resuelve mi problema de manera óptima y sin necesidad de hacer cambios en el código, muchas gracias por tus consejos y tu tiempo!

Saludos cordiales
Alejandro

Andres Schemper

unread,
Dec 7, 2014, 8:58:43 AM12/7/14
to odoo-ar...@googlegroups.com, analia...@eynes.com.ar
Buenísimo Alejandro, seguimos en contacto!

Andrés
Reply all
Reply to author
Forward
0 new messages