تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
1144 أدوات العرض

I am trying to make an automation using studio's automations, I am doing it with the execute code action, what I want it to do is see if a many2one field exists, if it does delete that record. How do I do it only in studio (v18)? See this code snippet:

# Check if the record has a partner_id if record.partner_id: client = record.partner_id # Attempt to find a lead linked to the client # Need to verify if the lead exists and delete it # Unsure how to proceed with checking and deletion in Studio

الصورة الرمزية
إهمال
أفضل إجابة

You can get the opportunities from the field client.opportunity_ids. If you want to get all leads, you need to search for them:

# Check if the record has a partner_id
if record.partner_id:
client = record.partner_id
# Attempt to find a lead linked to the client
lead_ids = record.env['crm.lead'].search([('partner_id', '=', client.id)])
# Check if any leads found
if lead_ids:
lead_ids.unlink()

Note that the check if lead ids were found is not necessary and you can directly call unlink on the recordset:

record.env['crm.lead'].search([('partner_id', '=', client.id)]).unlink()

If you do not want to delete the leads, I suggest to archive them:

if lead_ids:
lead_ids.write({'active': False})
الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
يناير 25
1118
0
فبراير 17
3606
1
فبراير 25
1279
4
مايو 24
2801
0
نوفمبر 23
1603