how to add current year in the sequence of a quotaion form name?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
2
回复
10082
查看
Hello
you can use SO%(y)s in the prefix field to include the current year ...
You can check the legend :
Legend (for prefix, suffix)
This will be the best method to add Year in Sequence.
Thanks.
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)
# ====================================================================================
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
Thanks for your response.
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
3
10月 19
|
3460 | ||
|
5
5月 21
|
21064 | ||
|
4
3月 15
|
6543 | ||
|
0
4月 25
|
2291 | ||
|
0
7月 24
|
1582 |