Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
1485 Vizualizări

Hello,


I run a parts sales business among others.


I would like to add the ''New Quote'' function in the Helpdesk module in order to avoid converting to a lead, converting to an opportunity which then generates an opportunity in CRM.


We have a large sales team that uses CRM in an excellent way and I do not want to go through CRM for the sale of parts.


Has anyone already done this or do you have a better way to do it?


Thanks for your advice


Danny

Imagine profil
Abandonează
Cel mai bun răspuns

Hello douellette@procepack.com,


To Connect Quotation to help desk ticket. Please follow below points.


1) Create a seperate module and create 2 new .py file.

   

   i) Add below snippet code in helpdek_ticket.py file.

//Code 1 in comment//


   ii) Add below snippet code in sale_order.py file.

//Code 2 in comment//


2) create a new xml file and add below code of snippet.

//Code 3 in comment//


3) Do not forget to add the dependancy for sales and helpdesk in __manifest__.py file.


4) One user will click on "New Quotation" button, Quotation will be created and user will

   be redirected to the form view of newly create quotation.


5) Check below screenshot for the connection between helpdesk ticket and sale order



Hope this helps.

   

If you need any help in customization feel free to contact us.


Thanks & Regards,

Email:  odoo@aktivsoftware.com           

Skype: kalpeshmaheshwari

Imagine profil
Abandonează

Code 1:
# -*- coding: utf-8 -*-

from odoo import models, fields
from odoo.exceptions import ValidationError

class HelpdeskTicket(models.Model):
_inherit = 'helpdesk.ticket'

sale_id = fields.Many2one('sale.order', 'Sale Order', copy=False)

def action_create_quote(self):
"""Create a new quote from the helpdesk ticket."""
# Create a new sale order
if not self.partner_id :
raise ValidationError('Customer is required to create a new Quotation')

sale_order = self.env['sale.order'].create({
'partner_id': self.partner_id.id,
'date_order': fields.Datetime.now(),
'state': 'draft',
'ticket_id': self.id,
})
self.sale_id = sale_order.id
return {
'name': 'Quote',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale.order',
'res_id': sale_order.id,
'type': 'ir.actions.act_window',
'target': 'current',
}

Code 2:
# -*- coding: utf-8 -*-

from odoo import models, fields

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

ticket_id = fields.Many2one('helpdesk.ticket', "Helpdesk Ticket", copy=False)

Code 3 :
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="view_helpdesk_ticket_form_inherit" model="ir.ui.view">
<field name="name">helpdesk.ticket.form.inherit.quote</field>
<field name="model">helpdesk.ticket</field>
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_view_form"/>
<field name="arch" type="xml">
<xpath expr="//header" position="inside">
<button name="action_create_quote" type="object"
class="btn-primary" string="New Quotation"
invisible="sale_id != False"/>
</xpath>
<xpath expr="//field[@name='email_cc']" position="after">
<field name="sale_id" readonly="1"/>
</xpath>
</field>
</record>

<record id="view_sale_order_form_inherit" model="ir.ui.view">
<field name="name">sale.order.form.inherit.quote</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='payment_term_id']" position="after">
<field name="ticket_id" readonly="1"/>
</xpath>
</field>
</record>
</data>
</odoo>

Autor

Thank you very much Jainesh, I appriciate.

Related Posts Răspunsuri Vizualizări Activitate
1
mai 25
1269
0
mar. 25
1557
0
nov. 24
948
0
oct. 24
1503
1
sept. 24
1633