Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
3 Odgovori
5739 Prikazi

hello,

i want to change the sale quotation numbers easily like in odoo V8, how it's possible ?

  • Screen odoo v9 : http://hpics.li/f3699e2

  • Screen odoo v8 : http://hpics.li/35a8a30

Thanks in advance,

Have a nice day.

Avatar
Opusti
Best Answer

- activate the developer mode

- go to "Settings/Sequences & Identifiers/Sequences"


Avatar
Opusti
Avtor

Thanks for this tips but there is no way to change it like in Version 8 ? (module or tips)

What exactly is your problem, creating different sequences for quotations and sales orders or creating a sequence in the style of your example? If it is the latter, please see my amended answer

Best Answer

It will help you

override create function in model sale.order

from openerp import models 
import datetime


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

    def create(self, cr, uid, vals, context=None):
        if context is None:
            context = {}
        if vals.get('name', '/') == '/':
            vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'sale.order', context=context) or '/'
        # ================== ADDITIONAL LINES ================================================
        now = datetime.datetime.now()
        vals['name'] = vals['name'].replace('SO', now.year) # GIVE YEAR FOR EXAMPLE
        # ====================================================================================
        if vals.get('partner_id') and any(f not in vals for f in ['partner_invoice_id', 'partner_shipping_id', 'pricelist_id', 'fiscal_position']):
            defaults = self.onchange_partner_id(cr, uid, [], vals['partner_id'], context=context)['value']
            if not vals.get('fiscal_position') and vals.get('partner_shipping_id'):
                delivery_onchange = self.onchange_delivery_id(cr, uid, [], vals.get('company_id'), None, vals['partner_id'], vals.get('partner_shipping_id'), context=context)
                defaults.update(delivery_onchange['value'])
            vals = dict(defaults, **vals)
        ctx = dict(context or {}, mail_create_nolog=True)
        new_id = super(sale_order, self).create(cr, uid, vals, context=ctx)
        self.message_post(cr, uid, [new_id], body=_("Quotation created"), context=ctx)
        return new_id
Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
2
mar. 24
3324
1
mar. 15
5101
1
mar. 15
4216
0
avg. 25
4080
1
nov. 23
2410