我有一個在!python塊中創建的記錄,通過調用一個從Crm Lead創建銷售訂單的函數。現在我想在新創建的銷售訂單上測試工作流程。有沒有辦法將新的sale_order的id傳遞迴YAML,這樣我就可以使用!工作流指令了?將記錄ID從!python傳遞到Odoo/OpenERP測試中的YAML
回答
您可以在!python
塊內將ID保存爲ir.model.data
,並且該塊對其他塊可見。
這是一個示範創建由AA蟒蛇塊一組,並從記錄塊將用戶添加到它:
-
Create an external id 'test_group_id'
-
!python {model: res.groups}: |
from openerp import SUPERUSER_ID
obj_id = self.create(cr, uid, {'name':'Test Group'}, context=context)
imd_values = {'module':'base', 'model': model._name, 'name': 'test_group_id', 'res_id': obj_id}
id = self.pool['ir.model.data'].create(cr, SUPERUSER_ID, imd_values, context=context)
assert obj_id == ref('test_group_id'), 'saved reference should be equal'
assert id, 'external id should be saved'
-
The identifier 'test_group_id' should be visible from other "python" tags
-
!python {model: res.groups}: |
assert ref('test_group_id'), 'External Id should exists'
-
Create user 'Test User' to include it in 'test_group_id'
-
!record {model: res.users, id: res_users_test, view: False}:
company_id: base.main_company
name: Test User
login: testuser
password: testuser
-
Include the user in the referenced group. Then 'test_group_id' is visible from "record" tags.
-
!record {model: res.users, id: res_users_test}:
groups_id:
- base.test_group_id
我必須補充一點,這個解決方案只適用於'external id'('xml_id')對於這個測試是唯一的。 'yaml_import.py'中'process_record'的實現使用'get_id'來解析對外部id(帶有別名'ref')的引用。 'get_id'方法首先查找名爲'id_map'的緩存,該緩存不能從'!python'標記的代碼中訪問。 可以從!python標記訪問的環境變量在'process_python'方法的'code_context'字典中定義。 – yucer
我假設你不想修改yaml_import.py代碼,否則你可以在'code_context'中包含'process_python':'{'yaml':self}'並用'yaml.id_map ['test_group_id']擴展我的代碼。 = id' – yucer
- 1. 將標記ID從PHP傳遞到javascript
- 2. 將數據傳遞到從測試類
- 3. 將數據加載到帶有記錄ID的android列表視圖並傳遞確切的記錄ID onListItemClick
- 4. 從Excel傳遞輸入到測試類
- 5. 從華廷測試記錄
- 6. 將選項傳遞給Python測試腳本中的鼻子
- 7. 如何從單元測試中的測試中傳遞UserIdentity
- 8. 將ID值傳遞到URL
- 9. 揹包將文件上傳到基於記錄ID的目錄
- 10. 簡單的coldfusion傳遞記錄id到JS函數?
- 11. 將記錄作爲函數結果從Delphi DLL傳遞到C++
- 12. 在python中從sys.argv傳遞目錄名
- 13. 將參數從C#傳遞到Python
- 14. 如何將值從Python傳遞到flex
- 15. 將信息從html傳遞到python
- 16. PySide:將數據從QML傳遞到Python
- 17. 將值從php傳遞到python
- 18. 將代碼從PHP傳遞到python
- 19. 將ByteArray從Python傳遞到C函數
- 20. 將變量從Python傳遞到Bash
- 21. 通過鏈接到Visualforce詳細頁面傳遞記錄ID
- 22. Python - 通過HTML記錄測試結果
- 23. 傳遞記錄FFI
- 24. 要傳遞JQuery中DIV標記的ID
- 25. 將日誌記錄添加到jenkins的測試結果中
- 26. 將機器人框架的測試編號傳遞給python
- 27. 在py.test測試中記錄
- 28. 如何將id從javascript傳遞到codeigniter中的引導模型?
- 29. 如何將數據庫記錄從Controller傳遞到CakePHP中的視圖
- 30. 將變量傳遞給YAML數組
如果您發佈的代碼,我能適應我的樣本,以銷售訂單,客戶關係管理鉛和'!工作流程'標籤。 – yucer