2016-03-26 93 views
0

在odoo 9之後,我添加了一個創紀錄的規則對模型mrp.production爲:不能確認銷售訂單將記錄規則

['|', ('user_id', '=', user.id), ('user_id', '=', False)] 

這將顯示用戶只屬於他們的MO。現在,當我試圖確認銷售訂單,然後將創建在該銷售訂單我收到一個訪問錯誤的線MO:

The requested operation cannot be completed due to security restrictions. Please contact your system administrator. 

(Document type: mrp.production, Operation: read) 

診斷我越發現,這是造成由於missing_ids 。看看this

在此之前,我已經在openerp 7中使用了相同的解決方案,並且在確認SO時沒有任何訪問錯誤仍然正常工作。

回答

0

最後我找到了這個問題的原因。

在opernep /插件/ MRP/procurement.py有其使用SUPERUSER_ID創建從採購生產訂單線

production_obj.create(cr, SUPERUSER_ID, vals, context=dict(context, force_company=procurement.company_id.id)) 

我不知道他們爲什麼改變它使用SUPERUSER_ID。可能是爲了讓非mrp用戶或外部用戶創建mrp命令,即使他們沒有權限。順便說一句,我沒有這樣的要求,我已經解決了我的問題,用uid替換這個SUPERUSER_ID。

0

從哪個用戶開始嘗試?我認爲你正在嘗試使用管理員登錄,並且您編寫了只有該記錄的用戶才能訪問該安全規則的安全規則。我認爲這是問題。

相關問題