我想根據Selection
字段爲模型創建不同的序列。在對象上創建多個序列-Odoo v8
現在我只有一個序列是這樣的:
@api.model
def create(self, vals):
if vals.get('name', 'New') == 'New':
vals['name'] = self.env['ir.sequence'].next_by_code('mrp.worksheet.contract') or '/'
return super(mrp_worksheet_contract, self).create(vals)
name = fields.Char('Reference', required=True, index=True, copy=False, readonly='True', default='New')
_defaults = {
'name': lambda self, cr, uid, context: self.pool.get('ir.sequence').next_by_code(cr, uid, 'mrp.worksheet.contract') or '',
}
但會發生什麼,如果我想基於這樣一個字段創建多個序列:
type_prod = fields.Selection([
('budgeted','Budgeted'),
('nonbudgeted','Non Budgeted'),
('direct','Direct Order'),
], string='Type of Order', index=True,
track_visibility='onchange', copy=False,
help=" ")
我有我的xml聲明的序列:
<openerp>
<data noupdate="1">
<!-- Sequences for contracts -->
<record id="seq_type_contract_code" model="ir.sequence.type">
<field name="name">contract sequence</field>
<field name="code">mrp.worksheet.contract</field>
</record>
<record id="seq_contract_code" model="ir.sequence">
<field name="name">contract sequence</field>
<field name="code">mrp.worksheet.contract</field>
<field name="prefix">10G-</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
</data>
</openerp>
我想我會在我的xml中有多個序列,但我找不到任何關於如何使用多個依賴於Selection
字段的示例。
任何想法?
編輯
我有這樣的模型,其中有一個序列name
場,我想要的東西,是,這取決於您選擇在這個領域
type_prod = fields.Selection([
('budgeted','Budgeted'),
('nonbudgeted','Non Budgeted'),
('direct','Direct Order'),
], string='Type of Order', index=True,
track_visibility='onchange', copy=False,
help=" ")
該選項來創建相同的記錄但是具有不同的順序,例如,如果用戶選擇budgeted
那麼它將是BO000
,並且如果nonbudgeted
被選擇,則創建相同的記錄但是具有不同的順序,它將是NBO000
並且如果direct
然後DO000
你意思取決於選擇是,當用戶選擇一個值,你從特定的順序分隔值!你能解釋一下嗎 – Cherif
嗨,謝謝你,編輯我的問題,請檢查一下,謝謝你。 – NeoVe