在OpenERP-7中将值从一种形式传递到另一种形式

时间:2014-08-12 11:22:56

标签: python forms openerp

我的表单中有一个按钮。通过那个按钮我称之为另一种形式。我试图将形式'A'的值传递给形式为'B'的字段。我正在使用return打开表单。我尝试使用context.update来设置形式'B'的字段值。但价值观没有通过。我也没有任何错误。我的python代码如下:

def creates(self,cr,uid,ids,context):
     for id in ids:
         deg_obj=self.pool.get('deg.form').browse(cr,uid,id)
         my_id=int(deg_obj.my_products)
     prr= int(deg_obj.categg_temp)
     pch= int(deg_obj.categ_temps)
     cch= int(deg_obj.categ_temp2)
     return{
              'view_type': 'form',
              'view_mode': 'form',
              'res_model': 'product.product',
              'context': context.update({'pr': prr}),
              'type': 'ir.actions.act_window',
              'nodestroy':False,
              'target': 'inline',
              }

我真的需要帮助。因为我已经了解到这一点,我们必须使用context.update,但我不在这里我错了。 PLz指导我这个。 此致

2 个答案:

答案 0 :(得分:2)

您有一个表单'A',其中包含字段'Afield_name',并且您希望将该值加载到字段'Bfield_name'以形成'B'。除了上下文之外,你所做的一切都是正确的。上下文中的键应为'default _'+ your_field_name

def creates(self,cr,uid,ids,context):
     for id in ids:
         deg_obj=self.pool.get('deg.form').browse(cr,uid,id)
         my_id=int(deg_obj.my_products)
         prr= int(deg_obj.Afield_name)

     return{
              'view_type': 'form',
              'view_mode': 'form',
              'res_model': 'product.product',
              'context': context.update({'default_Bfield_name': prr}),
              'type': 'ir.actions.act_window',
              'nodestroy':False,
              'target': 'current',
              }

答案 1 :(得分:1)

在返回

之前更新上下文
def creates(self,cr,uid,ids,context):
 for id in ids:
     deg_obj=self.pool.get('deg.form').browse(cr,uid,id)
     my_id=int(deg_obj.my_products)
 prr= int(deg_obj.categg_temp)
 pch= int(deg_obj.categ_temps)
 cch= int(deg_obj.categ_temp2)
 context.update({'default_pr': prr})
 return{
          'view_type': 'form',
          'view_mode': 'form',
          'res_model': 'product.product',
          'context': context,
          'type': 'ir.actions.act_window',
          'nodestroy':False,
          'target': 'inline',
          }