odoo10如何自定義自動生成單據編號


1.在已有的model中穿件一個字段name
class qingjiadan(models.Model):
_name = 'qingjia.qingjiadan'

name = fields.Char(string='編號', readonly=True)
2.創建qingjia_apply_data.xml文件並放入data文件夾下,並且在__manifest.py__文件中加入這個xml文件

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="seq_qingjia_apply" model="ir.sequence">
<field name="name">請假單編號</field>
<field name="code">qingjia.qingjiadan</field>
<field name="prefix">QJSQ%(year)s%(month)s%(day)s</field>
<field name="padding">3</field>
</record>
</data>
</odoo>

3.model中加入如下方法

@api.model
def create(self, vals):
if not vals.get('name'):
vals['name'] = self.env['ir.sequence'].next_by_code('qingjia.qingjiadan') or '/'
print vals['name']

return super(qingjiadan, self).create(vals)

單據編號格式為QJSQ + 年月日 + 三位數的順序編號
QJSQ20170102001
QJSQ20170102002
QJSQ20170102003




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM