Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
2785 Tampilan

Hi, Odoo cannot generate a CRM opportunity automatically when a sales quotation is generate?  I saw a thread here about developer mode (which we activated) but I cannot see how to do this.  Thank you.  


Thank you.  

Avatar
Buang
Jawaban Terbai

Hello Premier Property Management Co. Ltd.

Please find code in comment. 

I hope this will help you.

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

Avatar
Buang

When you can create a sale order create an opportunity in the order
from "Other Info --> Opportunity" so you can be added exiting lead to link this order,
or create a new one for this sale order.

Or, you can create an automatic opportunity so add the below example.

class SaleOrderInherit(models.Model):
_inherit = 'sale.order'

def create(self, vals)
""" Generate opportunity automatically when order is saved """
res = super(SaleOrderInherit, self).create(vals)
if res.partner_id:
opportunity_id = self.env['crm.lead'].create({
'name': res.name + "Opportunity",
'partner_id': res.partner_id,
})
res.opportunity_id = opportunity_id.id
return res

Penulis

Thank you. Is this custom code or standard functionality? We are using Odoo online, and do not want to custom code anything because then we lose support. Thanks. I am in the "Other info" tab of the quote screen, but I cannot see where to link this quote or to create an opportunity.

Jawaban Terbai

Hi,

In Odoo, you can generate a CRM opportunity automatically when a sales quotation is created by using the 'sale.order' model's 'create' method and the 'crm.lead' model.Here is an example of a new function that creates a CRM opportunity when a sales quotation is created:

class SaleOrder(models.Model):
_inherit = 'sale.order'

@api.model
def create(self, vals):
# Create a new opportunity
opportunity = self.env['crm.lead'].create({
'name': vals.get('name', ''),
'partner_id': vals.get('partner_id', False),
})
# Link the opportunity to the quotation
vals['opportunity_id'] = opportunity.id
quotation = super(SaleOrder, self).create(vals)
return quotation

In this example, when a new quotation is created, a new opportunity is created with the name of the quotation and the customer of the quotation. The opportunity is linked to the quotation using the opportunity_id field.

Regards

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
1
Jul 23
1248
1
Jun 23
1774
3
Mar 15
9113
0
Mar 15
2869
1
Mar 15
5722