duracion odoo

Hola, en este articulo quiero compartir el siguiente código que muestra la duración entre dos fechas, es útil cuando deseamos saber la duración en horas de un curso o practica, esta función la coloque en un modulo para llevar el control de horas en un curso de conducción, obviamente no es desarrollado por mi, gracias a introdoo y a sus vídeos que explican bastante bien los conceptos de desarrollo.

dentro del articulo dejare el link a su canal de youtube y el vídeo donde explica paso a paso como realizar la función, de todas maneras el código quedara acá para que ustedes puedan copiarlo y incorporarlo a su proyecto.
Primero hay que crear dos campo de fechas inicio y termino, luego un campo el cual llame duración donde se mostrara el tiempo en horas y donde se ejecuta la función.

Tres campos para realizar la duración:

date_start = fields.Datetime(string='Fecha Inicio')
date_stop = fields.Datetime(string='Fecha Termino')
duration = fields.Float(string='Duración', compute='_compute_duration', help='Duración en Horas')

Obviamente ustedes le colocan el nombre que deseen, esta es la función que utilice la cual funciona bien.

@api.depends("date_start", "date_stop")
def _compute_duration(self):
duration = 0.0
for rec in self:
if rec.date_start and rec.date_stop:
start = fields.Datetime.from_string(rec.date_start)
end = fields.Datetime.from_string(rec.date_stop)
delta = end - start
duration = delta.total_seconds() / 3600
rec.duration = duration

Les comparto el vídeo para que no vaya a buscarlo directamente a youtube, espero que sea de utilidad para ustedes así como lo fue para mi, mas códigos para odoo en el blog


Premium Hosting
Necesitas un hosting te recomiendo PREMUIMHOSTING, buenos planes y muy buen rendimiento te dejo un código de descuento 75FOL1BB41FG
Scroll al inicio