2013-03-25 115 views
3

當我們保存一條記錄時,OpenERP給出了一個序列號。我已經完成該module.as當我創建一個工人,然後加載僱員號碼爲EMP001,EMP002。OpenERP得到下一個序列號

我的要求是這樣的。當我要創建一個新員工時,需要將下一個序列號顯示爲只讀字段。例如: 如果我要創建第9名員工,那麼需要在我的emp域中顯示EMP009。上傳到以下位置 https://github.com/priyankahdp/openerp/tree/openerp

我目前的代碼現在,它SORTED 下面我補充說

_defaults = { 
    'register_no': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'bpl.worker'), 
    } 
+1

你的意思是你想讓你的領域只讀。我對嗎?如果是這樣,那麼在py文件的字段聲明代碼中寫入'readonly = True'。 – 2013-03-25 12:21:22

+0

@Arya 感謝您的評論。 是readonly.but如何加載表單加載下一個數字? – 2013-03-25 12:26:06

+1

當創建方法被調用時,您可以填充它。 – 2013-03-25 12:31:02

回答

1

你可以讓你的領域爲readonly

'register_no': fields.char('Register No', size=32, help='Register No', readonly=True), 

,並提到,在_default

請檢查現有模塊,如sale.py他們如何獲取下一個銷售訂單編號的默認順序。

http://bazaar.launchpad.net/~openerp/openobject-addons/trunk/view/head:/sale/sale.py

+1

感謝Lafada。, 在sale.py哪一行。? – 2013-03-25 12:43:44

+0

嗨安妮。正如Arya所說,你可以在'create'方法中做同樣的事情。但是如果你想在創建該命令之前顯示,那麼你可以在'_default'中返回它,請檢查'_get_default_shop'它將如何在'_default'中使用。我可以編寫代碼,但如果你嘗試,那麼你會知道下次如何使用它。您也可以查看@ Arya的選項「def create」。 – Nilesh 2013-03-26 04:53:17

+1

謝謝,問題排序,我發佈在下面我的問題:-) – 2013-03-26 05:08:05