2014-10-28 103 views
0

我希望得到一個字段的值在fields_view_get方法的OpenERP 7.0。如何獲取fields_view_get中字段的值?

我試過如下: 1送字段的值在上下文屬性如下:

< field name="employee_id" context="{'employee_id':employee_id}" /> 

,並在fields_view_get我得到它如下:

print "employee_id in the context value is %s"%(context.get('employee_id', False)) 

但它始終是context.get(...)返回False。所以我嘗試了以下內容:

2 - 對我在上下文發送字段的值的字段的onchange方法如下:

def onchange_employee_id(self, cr, uid, ids, employee_id): 
return {'context': {'employee_id': employee_id}} 

,並在fields_view_get我得到它如下:

print "employee_id in the context value is %s"%(context.get('employee_id', False)) 

但同樣的事情總是context.get(..)返回False。

我怎樣才能得到一個字段的fields_view_get功能的價值?

+0

請指定將EMPLOYEE_ID所屬的對象? – 2014-10-29 14:53:22

+0

@Baiju KS:謝謝你的回覆。 我在名爲'Travel'的自定義對象中使用employee_id。 – 2014-11-06 08:12:35

+0

試試這個代碼onchange_employee_id:返回{ '值':{ '僱員標識':EMPLOYEE_ID}} – 2014-11-06 12:51:09

回答

0

也許這個答案對你也有些晚了,但也許有人會覺得它有用。

如果你只需要在表格視圖中的動態視圖,你應該寫一個樹視圖,你可以把選定的記錄ID的情況下......所以通過上下文ID,您可以閱讀領域。

但fields_view_get是不是太容易了。不要忘記更新返回字典(兩個非常重要的鍵:字段,拱門)。 如果你想使用不可見或只讀標籤,你應該使用類似attrs的修飾符標籤。

實施例:

def fields_view_get(self, cr, uid, view_id=False, view_type='tree', context=None, toolbar=False, submenu=False): 
    fields = self.read(cr, uid, context['working_id'], []) 
    actualView = super(ModelName, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu) 

    # you can write default view in xml and dynamic complete with some field in this method 
    actualView['fields'].update({'field_name':{'type': 'text', 'string': 'Name'}}) 
    arch = minidom.parseString(actualView['arch']) 

    #for example: triggered to <newline/> field 
    newlineField = arch.getElementByTagName('newline').item(0) 
    element = arch.createElement('field_name') 
    element.setAttribute('name', 'Name') 
    newlineField.insertBefore(element, 0) 

    actualView['arch'] = arch.toxml("utf-8") 
    return actualView