通过按钮在OpenERP-7中调用树视图

3 投票
2 回答
3993 浏览
提问于 2025-04-18 16:22

我想知道怎么通过一个按钮来调用不同记录的树形视图。返回表单视图很简单,但当我尝试做同样的事情来显示树形视图时,它只显示了一个列表。

我的场景是,我有一个搜索产品的表单。现在,当搜索生成时,某个字段里会填充一组记录。

我想添加一个按钮,点击后能显示这个组里所有的记录的树形视图。我给按钮添加了一个功能,但它却显示了所有记录的列表,根本没有只显示这个组里的记录。

我尝试通过点击按钮来调用以下功能,但并没有达到我的需求:

def views(self,cr,uid,ids,context=None):
    for id in ids:
        deg_obj=self.pool.get('deg.form').browse(cr,uid,id)
        my_id=int(deg_obj.my_products)
    return{
          'view_type': 'tree',
          'view_mode': 'tree',
          'res_model': 'product.product',
          'res_id':my_id,
          'context': context,
          'type': 'ir.actions.act_window',
          'readonly':True,
          }

我需要一些指导来找出我的错误。感谢大家!

2 个回答

1

试试这个,

def views(self,cr,uid,ids,context=None):
    view_ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'product', 'product_product_tree_view')
    view_id = view_ref and view_ref[1] or False

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

    #this will return product tree view and form view. 
    return {
       'type': 'ir.actions.act_window',
       'name': _('Product'),
       'res_model': 'product.product',
       'view_type': 'form',
       #'res_id': my_id, # this will open particular product,
       'view_id': view_id,
       'view_mode': 'tree',
       'target': 'current',
       'nodestroy': True,
   }
3

我已经通过以下修改解决了我Python代码中的问题。

def views(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)
     ss= int(deg_obj.categ_temp2)   
     domain = [('categ_id','=',ss)]
     return {
         'type': 'ir.actions.act_window',
         'name': _('Product'),
         'res_model': 'product.product',
         'view_type': 'form',
         'view_mode': 'tree,form',
         'target': 'current',
         'domain': domain,
               }

现在一切正常了。谢谢大家!

撰写回答