跳至內容
選單
此問題已被標幟
2 回覆
6843 瀏覽次數

I have a domain to filter table2 from table1's value: Is there a way that I can get the values of table1 to filter table2's many2one, during creation of record?

頭像
捨棄
作者

Hi Charlie,

Please bare with my english =)

Thank you for that information, yes they are related and I used to browse record from models using that method. I attached a screenshot for your reference.

image description

作者

Just solve it myself =)

You may explain how you resolved your issue as an answer and accept your own answer. :)

作者 最佳答案

All right, below is my solution but im pretty sure there is a better way to do this:

#Declare as public def get_allotment_id(allot_id): a = {'allotment_id':allot_id} return a

allotment = []

#Under BOM class #I defined on_change function class bom(osv.osv): .... ....

def onchange_allotment(self, cr, uid, ids, allot_id, context=None): if allot_id: x = get_allotment_id(allot_id)['allotment_id'] if len(allotment) > 0: allotment.pop()
allotment.append(x)

return {'value': {'contingency':0.00}} #just return any value in some field

# class bom_lines(osv.osv): .... ....

def _get_allot_id(self, cr, uid, context): if allotment: return allotment[0] else: raise osv.except_osv('', 'Please select allotment for this BOM.')
_columns = { 'allotment_id': fields.many2one('res.allotments', 'Allotment'), 'category_id': fields.many2one('res.allotment.category', 'Category', domain="[('allot_id','=',allotment_id)]", required=True), } .....

_defaults = { 'allotment_id': _get_allot_id,

頭像
捨棄
最佳答案

Hello,

Does records are in relation table1's and table2's?

If yes then you able to us browse method and access all relations fields.

or do self.pool.get('tablex').browse(...., ids,...) and implement logic.

Note: In term of openerp table refer as model. so instead of table use model word when you working with openerp model/class.

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
3
9月 20
72454
1
9月 19
3620
2
9月 23
10215
1
4月 22
3081
1
7月 20
6064