我想在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 :(得分: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