Skip to Content
Menu
This question has been flagged
2 Replies
1343 Views

Hello.


Sorry if it's a basic question, I'm new to ODOO and to Python. I'm having trouble with automated actions (ODOO 12.0+e-20181025). I created an automated actions, set it to execute python code with the following code: (the logic is to write current datetime into a field when field team_id is == 160)

if model\\\\.helpdesk\\\\.team\\\\.id:
if\\\ record\\\.team_id:
\\\ \\\ \\\ ​if\\\ record\\\.team_id\\\ ==\\\ 160:
\\\ \\\ \\\ \\\ \\\ \\\ ​cs_handling_time\\\ =\\\ datetime.datetime.now()
​record.write({'x_studio_cs_handling_time': cs_handling_time})



When I update a ticket matching all the conditions, the field cs_handling_time is not updated. If I remove the IF logic, it works just fine. Does pyhton code in odoo's automated actions has a different if logic?


P.S: I input the logic of checking team_id in the python code because I will need multiple team_id, so I cannot put it in the "before update domain" or "apply on" field

Avatar
Discard
Best Answer

Hi  Nathan,

First, make sure that the module 'base_automation' is installed in your instance. 

If it's installed, go to the "Settings" menu. Activate Developer Mode and

Goto "Settings" -> "Technical" -> "Automation" -> "Automated Actions."

Click on the "Create" button to create a new automated action.




Hope it helps,

Kiran K

Avatar
Discard
Author

Hello Kiran!

Thanks for your response.

Yes, the module "base_automation" is installed. The screenshot I gave was actually from the automated actions page.

I found out that I'm missing something important, and you showed it to me in your screenshot. In my code, I used "record.team_id == 160", but in the screenshot you used "record.team_id.id == 1". When I fixed my code into record.team_id.id, it works now. Thanks a lot!

Cheers,
Nathan

I'm glad to hear that it helps you :)

Best Answer

Hello. Try the same code but remove the first line.

so u'll have the code bellow

if record.team_id:

cs_handling_time =datetime.datetime.now()
​ ​ ​record.write({'x_studio_cs_handling_time': cs_handling_time})

But u are not on automate actions record , rather on action server 

So go to Automate actions and write the code. U must have this window

Regards !

My whatsApp number for assistance : +225 05 45 14 53 91

Avatar
Discard
Author

Hi Abdul!

Thanks for your response.

I did write my code in the action server actually. The issue was the if logic in my python code. I actually resolved it after missing an important parameter in my code. Thanks for your answer!

Cheers,
Nathan