2014-10-28 4 views
0

openerp 7.0의 fields_view_get 메소드에서 필드 값을 가져 오려고합니다. 1은 다음과 같은 컨텍스트 속성에 필드의 값을 보내 :fields_view_get에서 필드의 값을 가져 오는 방법은 무엇입니까?

< 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를 반환합니다.
def onchange_employee_id(self, cr, uid, ids, employee_id): 
return {'context': {'employee_id': employee_id}} 

과 fields_view_get에

나는 다음과 같은 그것을 얻을 : 다음과 같이 내가 맥락에서 필드의 값을 보내 필드의 onchange를 방법에

2 : 그래서 다음을 시도

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

항상 동일한 context.get (..)은 False를 반환합니다.

fields_view_get 함수에서 필드 값을 가져 오는 방법은 무엇입니까?

+0

은 employee_id입니다가 속한 객체를 지정하세요? –

+0

@Baiju KS : 답장을 보내 주셔서 감사합니다. 'Travel'이라는 사용자 지정 개체에서 employee_id를 사용합니다. –

+0

onchange_employee_id에서이 코드를 시도하십시오. return { 'value': { 'employee_id': employee_id}} –

답변

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 
관련 문제