duracion odoo

Calcular duración entre dos fechas

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