Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
3 ตอบกลับ
4070 มุมมอง

I wrote the following code to check if stage_id does not have a record, then stage_id.fold = True, where did I go wrong, please help, thanks

@api.onchange('stage_id')
def _onchange_stage_id(self):
res = super(CrmLead, self)._onchange_stage_id()
for r in self.env['crm.stage'].search([]).ids:
if not self.search('stage_id', '=', r.id):
self.r.fold = True
return res
อวตาร
ละทิ้ง
ผู้เขียน

Dương Đường . thank you, but for me it doesn't work, can you sp me me by email? tienentrust@gmail.com

คำตอบที่ดีที่สุด

You're looping through IDs list not objects by using:

self.env['crm.stage'].search([]).ids
So this line:
if not self.search([('stage_id', '=', r.id)])
Should be:
if not self.search([('stage_id', '=', r)])
อวตาร
ละทิ้ง
ผู้เขียน คำตอบที่ดีที่สุด

thank you, my statement is probably wrong somewhere:

bug: File "d:\odoo-training\code\takara\takara_crm\models\crm_lead.py", line 22, in _onchange_stage_id

    if not self.search([('stage_id', '=', r.id)]):
AttributeError: 'int' object has no attribute 'id'

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hello vu van tien,

You write the wrong syntax of a search method when you check if condition.
Please Update this code.

@api.onchange('stage_id')
def _onchange_stage_id(self):
res = super(CrmLead, self)._onchange_stage_id()
for r in self.env['crm.stage'].search([]).ids:
if not self.search([('stage_id', '=', r.id)]):
self.r.fold = True
return res

Hope this could help ...

อวตาร
ละทิ้ง

Thanks for the help, I had to use js to deal with it

Related Posts ตอบกลับ มุมมอง กิจกรรม
2
ส.ค. 25
1604
0
พ.ค. 25
807
0
ส.ค. 24
1106
2
มี.ค. 24
1365
CMR - Lead - Oportunidades แก้ไขแล้ว
1
ก.ค. 22
2701