Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
906 Zobrazení

Is there a way, thru an automated action or something similar, to automatically set Project task deadlines 2 weeks after the set planned start date located in the project card, three dots, settings, planned date?


 



Avatar
Zrušit

Yes, you can automate this in Odoo using an Automated Action!

You want an automation that:

  • Watches the Project Task model.
  • When a task’s Planned Start Date is set or updated,
  • It automatically sets the Deadline to 2 weeks (14 days) after the start date.

Here's how you can do it step-by-step:

  • Go to:
    Settings > Technical > Automation > Automated Actions
  • Create a New Automated Action:
    • Name: Set Task Deadlines Based on Project Planned Date
    • Model: Project (project.project)
    • Trigger: On Update
    • Trigger Fields: Planned Date (date_start)
    • Action To Do: Execute Python Code


if record.date_start:

    for task in record.task_ids:

        task.date_deadline = record.date_start + timedelta(days=14)

Important:

  • This updates all tasks under the project when you change the project's start date.
  • It will overwrite existing deadlines of tasks — unless you add conditions to skip tasks with already set deadlines (optional — I can show you that if needed).

    I hope it will help you. If you need more help, feel free to contact meme at bitlevelcode@gmail.com

Autor

Here is a screenshot of the automated action:

Autor Nejlepší odpověď

Based on Mukesh's wonderful guidance, we were able to get this resolved by doing the following:

In the screenshot you shared, I noticed that you selected "Update the record" in the "Action to Do" field. Please change it to "Execute Python Code" instead.

I'm attaching a screenshot for your reference. Kindly review it and let me know once you've completed the testing.

Also, please update the code with the following:


if record.date_start: for task in record.task_ids: task.write({'date_deadline': record.date_start + datetime.timedelta(days=14)})


Avatar
Zrušit
Nejlepší odpověď

Okay. You write the automation action in the wrong way.

If possible, contact me at bitlevelcode@gmail.com

I'll try my best to solve your problem. Thanks

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
kvě 25
860
1
led 23
2901
1
dub 20
2436
2
zář 23
2923
1
dub 21
4433