General

¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

0

Campos Relacionados

Avatar
Inma Sánchez

Buenas!!

Tengo un dilema que no se por donde atacarlo, a ver si alguien sabe orientarme:

Tengo un campo one2Many, timesheet_ids, que procede de account.analytic.line y necesito que su contenido aparezca en el timesheet_ids de project.task. El asunto es que el timesheet_ids de project.task procede también, lógicamente, de account.analytic.line.

No se como puedo intentar relacionar los dos one2Many, imagino que se hará utilizando un related (no se si se podría con un onchange)

Avatar
Descartar
1 Respuesta
1
Mejor respuesta

Por completar la pregunta y que se entienda (corrígeme si me equivoco):
- Tienes un modelo (helpdesk.ticket) relacionado con project.task y con account.analytic.line, y a su vez project.task está relacionado con account.analytic.line. Quieres que si en tu ticket, se establece una tarea, los partes de tiempo (los account.analytic.line) se asocien también a esa tarea.

Al igual que en helpdesk.ticket, tienes un campo en account.analyic.line que es task_id, cuando cambias el task_id de helpdesk.ticket, o cuando cambias los timesheet_ids de tu ticket, debes asegurarte de que todos las líneas de timesheet_ids (account_analytic_line asociados al ticket) se actualicen al campo task_id correspondiente.
Puedes hacerlo con una api.constrains('task_id','timesheet_ids') en helpdesk.ticket, dentro de ese método (que se ejecutará cada vez que se modifique uno u otro campo, te aseguras de que todas las líneas de timesheet_ids que tengas se correspondan con el task_id establecido, y si no es así, lo modificas.

Un onchange en el task_id de helpdesk.ticket que al modificar la tarea compruebe si hay ya líneas en timesheet_ids y lance un warning para avisar de que si continúas modificarás los partes de tiempo existentes (asociandolos a otra tarea) tampoco estaría de más para evitar cambios inadvertidos para el usuario.

Avatar
Descartar

Su respuesta

Intente dar una respuesta sustancial. Si desea hacer un comentario sobre la pregunta o la respuesta, utilice la herramienta de comentarios. Recuerde que siempre puede revisar sus respuestas , no es necesario responder dos veces a la misma pregunta. No olvide votar , ayuda a seleccionar las mejores preguntas y respuestas