Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
2121 Lượt xem

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Tác giả

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 :)

Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Tác giả

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