Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过OpenERP-7中的按钮调用树视图_Python_Xml_Openerp_Openerp 7 - Fatal编程技术网

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

Python 通过OpenERP-7中的按钮调用树视图,python,xml,openerp,openerp-7,Python,Xml,Openerp,Openerp 7,我想知道如何通过按钮调用(不同记录的)树视图。因为返回表单视图很容易,但当我尝试对树视图执行完全相同的操作时,它只显示一个列表 场景是我有一个搜索产品表单。现在,当生成搜索时,字段中会填充一个记录域 我想添加一个按钮来调用树视图,显示该域中存在的记录。我给按钮添加了一个函数,但它显示了列表中的所有记录,甚至没有显示域中的记录 我尝试通过单击按钮调用以下函数,但它不符合我的需要: def views(self,cr,uid,ids,context=None): for id in ids:

我想知道如何通过按钮调用(不同记录的)树视图。因为返回表单视图很容易,但当我尝试对树视图执行完全相同的操作时,它只显示一个列表

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

我想添加一个按钮来调用树视图,显示该域中存在的记录。我给按钮添加了一个函数,但它显示了列表中的所有记录,甚至没有显示域中的记录

我尝试通过单击按钮调用以下函数,但它不符合我的需要:

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,
          }
我需要一些指导来指出我的错误。多亏了大家

试试这个

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,
   }

我已经通过对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,
               }

现在工作正常了。谢谢大家

谢谢我尝试了,但出现了错误:“非db操作字典应提供多个视图模式或单个视图模式以及可选的视图id。获得了操作的视图模式['tree'、'form']和视图id 220{'target':'current','view_type':'form','res_model':'product.product','view_id':220,'nodestroy':True,'view_mode':'tree,form','flags':{},'type':'ir.actions.act_window'}'我得到了树状视图,但它向我显示了所有记录。它没有显示域中的记录。搜索产品是5条记录。它应该显示5条记录的树状视图,但它向我显示了所有记录,因为我们对
resu id
进行了评论,或者您可以使用域来限制所有产品。那么在resu id上,我可以为您提供什么r域。因为如果设置res\u id:my\u id,它仍然会显示所有内容。比如首先搜索您想要的产品id并存储在变量
product\u id
中,然后在
域中给出它。
例如
'domain':['id','in',product\u id]