Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 2.7 如何通过odoo 10中的关联菜单按钮打开销售订单列表视图_Python 2.7_Odoo_Odoo 10 - Fatal编程技术网

Python 2.7 如何通过odoo 10中的关联菜单按钮打开销售订单列表视图

Python 2.7 如何通过odoo 10中的关联菜单按钮打开销售订单列表视图,python-2.7,odoo,odoo-10,Python 2.7,Odoo,Odoo 10,我想在单击上下文按钮时打开任何客户的销售订单列表视图。为此,我获取终端上的所有ID,但不获取列表视图。那么,如何打开客户销售订单列表(sales)。为此,我的代码如下 Python代码: sale_order_count = fields.Integer(compute='_compute_sale_order_count', string='# of Sales Order') def _compute_sale_order_count(self): ir_

我想在单击上下文按钮时打开任何客户的销售订单列表视图。为此,我获取终端上的所有ID,但不获取列表视图。那么,如何打开客户销售订单列表(sales)。为此,我的代码如下

Python代码:

sale_order_count = fields.Integer(compute='_compute_sale_order_count', string='# of Sales Order')

    def _compute_sale_order_count(self):

            ir_model_data = self.env['ir.model.data']

            try:

                view_id = ir_model_data.get_object_reference('sale', 'view_order_tree')[1]

            except ValueError:

                view_id = False

            record_id = self.env['sale.order'].search([('partner_id', '=', self.ren9.id)]).ids

            print "viewssss:::", view_id, record_id

            if not record_id:

                print "Not found"

            else:

                print "return,,", record_id[0]

                return {

                    'view_type': 'tree',

                    'view_mode': 'tree',

                    'views': [(view_id, 'tree')],

                    'res_model': 'sale.order',

                    'view_id': view_id,

                    'type': 'ir.actions.act_window',

                    'res_id': record_id,

                    'target': 'new',

                }
 <div name="button_box" position="inside">

                        <button class="oe_stat_button" type="action" name="_compute_sale_order_count"

                                icon="fa-usd">

                            <field string="Sales" name="sale_order_count" widget="statinfo"/>

                        </button>

                    </div>
     def _view_sale_orders(self):
        ir_model_data = self.env['ir.model.data']
        try:
           tree_id = ir_model_data.get_object_reference('sale', 'view_order_tree').id
           form_id = ir_model_data.get_object_reference('sale', 'view_order_form').id
        except ValueError:
            view_id = False

        partner_id = self.ren9.id
        return {
            'name': _('Sale Orders'),
            'type': 'ir.actions.act_window',
            'domain': [('partner_id', '=', partner_id)],
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'sale.order',
            'view_id': False,
            'views': [(tree_id, 'tree'),(form_id, 'form')],
            'target': 'current',
            'context': ctx,
        }
 <div name="button_box" position="inside">

       <button class="oe_stat_button" type="object" name="_view_sale_orders" icon="fa-usd">

        <field string="Sales" name="sale_order_count" widget="statinfo"/>

     </button>

   </div>
XML代码:

sale_order_count = fields.Integer(compute='_compute_sale_order_count', string='# of Sales Order')

    def _compute_sale_order_count(self):

            ir_model_data = self.env['ir.model.data']

            try:

                view_id = ir_model_data.get_object_reference('sale', 'view_order_tree')[1]

            except ValueError:

                view_id = False

            record_id = self.env['sale.order'].search([('partner_id', '=', self.ren9.id)]).ids

            print "viewssss:::", view_id, record_id

            if not record_id:

                print "Not found"

            else:

                print "return,,", record_id[0]

                return {

                    'view_type': 'tree',

                    'view_mode': 'tree',

                    'views': [(view_id, 'tree')],

                    'res_model': 'sale.order',

                    'view_id': view_id,

                    'type': 'ir.actions.act_window',

                    'res_id': record_id,

                    'target': 'new',

                }
 <div name="button_box" position="inside">

                        <button class="oe_stat_button" type="action" name="_compute_sale_order_count"

                                icon="fa-usd">

                            <field string="Sales" name="sale_order_count" widget="statinfo"/>

                        </button>

                    </div>
     def _view_sale_orders(self):
        ir_model_data = self.env['ir.model.data']
        try:
           tree_id = ir_model_data.get_object_reference('sale', 'view_order_tree').id
           form_id = ir_model_data.get_object_reference('sale', 'view_order_form').id
        except ValueError:
            view_id = False

        partner_id = self.ren9.id
        return {
            'name': _('Sale Orders'),
            'type': 'ir.actions.act_window',
            'domain': [('partner_id', '=', partner_id)],
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'sale.order',
            'view_id': False,
            'views': [(tree_id, 'tree'),(form_id, 'form')],
            'target': 'current',
            'context': ctx,
        }
 <div name="button_box" position="inside">

       <button class="oe_stat_button" type="object" name="_view_sale_orders" icon="fa-usd">

        <field string="Sales" name="sale_order_count" widget="statinfo"/>

     </button>

   </div>

对于终端上打印的4份销售订单:

sale_order_count = fields.Integer(compute='_compute_sale_order_count', string='# of Sales Order')

    def _compute_sale_order_count(self):

            ir_model_data = self.env['ir.model.data']

            try:

                view_id = ir_model_data.get_object_reference('sale', 'view_order_tree')[1]

            except ValueError:

                view_id = False

            record_id = self.env['sale.order'].search([('partner_id', '=', self.ren9.id)]).ids

            print "viewssss:::", view_id, record_id

            if not record_id:

                print "Not found"

            else:

                print "return,,", record_id[0]

                return {

                    'view_type': 'tree',

                    'view_mode': 'tree',

                    'views': [(view_id, 'tree')],

                    'res_model': 'sale.order',

                    'view_id': view_id,

                    'type': 'ir.actions.act_window',

                    'res_id': record_id,

                    'target': 'new',

                }
 <div name="button_box" position="inside">

                        <button class="oe_stat_button" type="action" name="_compute_sale_order_count"

                                icon="fa-usd">

                            <field string="Sales" name="sale_order_count" widget="statinfo"/>

                        </button>

                    </div>
     def _view_sale_orders(self):
        ir_model_data = self.env['ir.model.data']
        try:
           tree_id = ir_model_data.get_object_reference('sale', 'view_order_tree').id
           form_id = ir_model_data.get_object_reference('sale', 'view_order_form').id
        except ValueError:
            view_id = False

        partner_id = self.ren9.id
        return {
            'name': _('Sale Orders'),
            'type': 'ir.actions.act_window',
            'domain': [('partner_id', '=', partner_id)],
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'sale.order',
            'view_id': False,
            'views': [(tree_id, 'tree'),(form_id, 'form')],
            'target': 'current',
            'context': ctx,
        }
 <div name="button_box" position="inside">

       <button class="oe_stat_button" type="object" name="_view_sale_orders" icon="fa-usd">

        <field string="Sales" name="sale_order_count" widget="statinfo"/>

     </button>

   </div>
viewssss::506[101,100,99,98]

返回,101


提前感谢,

请尝试以下内容

Python代码:

sale_order_count = fields.Integer(compute='_compute_sale_order_count', string='# of Sales Order')

    def _compute_sale_order_count(self):

            ir_model_data = self.env['ir.model.data']

            try:

                view_id = ir_model_data.get_object_reference('sale', 'view_order_tree')[1]

            except ValueError:

                view_id = False

            record_id = self.env['sale.order'].search([('partner_id', '=', self.ren9.id)]).ids

            print "viewssss:::", view_id, record_id

            if not record_id:

                print "Not found"

            else:

                print "return,,", record_id[0]

                return {

                    'view_type': 'tree',

                    'view_mode': 'tree',

                    'views': [(view_id, 'tree')],

                    'res_model': 'sale.order',

                    'view_id': view_id,

                    'type': 'ir.actions.act_window',

                    'res_id': record_id,

                    'target': 'new',

                }
 <div name="button_box" position="inside">

                        <button class="oe_stat_button" type="action" name="_compute_sale_order_count"

                                icon="fa-usd">

                            <field string="Sales" name="sale_order_count" widget="statinfo"/>

                        </button>

                    </div>
     def _view_sale_orders(self):
        ir_model_data = self.env['ir.model.data']
        try:
           tree_id = ir_model_data.get_object_reference('sale', 'view_order_tree').id
           form_id = ir_model_data.get_object_reference('sale', 'view_order_form').id
        except ValueError:
            view_id = False

        partner_id = self.ren9.id
        return {
            'name': _('Sale Orders'),
            'type': 'ir.actions.act_window',
            'domain': [('partner_id', '=', partner_id)],
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'sale.order',
            'view_id': False,
            'views': [(tree_id, 'tree'),(form_id, 'form')],
            'target': 'current',
            'context': ctx,
        }
 <div name="button_box" position="inside">

       <button class="oe_stat_button" type="object" name="_view_sale_orders" icon="fa-usd">

        <field string="Sales" name="sale_order_count" widget="statinfo"/>

     </button>

   </div>
XML代码:

sale_order_count = fields.Integer(compute='_compute_sale_order_count', string='# of Sales Order')

    def _compute_sale_order_count(self):

            ir_model_data = self.env['ir.model.data']

            try:

                view_id = ir_model_data.get_object_reference('sale', 'view_order_tree')[1]

            except ValueError:

                view_id = False

            record_id = self.env['sale.order'].search([('partner_id', '=', self.ren9.id)]).ids

            print "viewssss:::", view_id, record_id

            if not record_id:

                print "Not found"

            else:

                print "return,,", record_id[0]

                return {

                    'view_type': 'tree',

                    'view_mode': 'tree',

                    'views': [(view_id, 'tree')],

                    'res_model': 'sale.order',

                    'view_id': view_id,

                    'type': 'ir.actions.act_window',

                    'res_id': record_id,

                    'target': 'new',

                }
 <div name="button_box" position="inside">

                        <button class="oe_stat_button" type="action" name="_compute_sale_order_count"

                                icon="fa-usd">

                            <field string="Sales" name="sale_order_count" widget="statinfo"/>

                        </button>

                    </div>
     def _view_sale_orders(self):
        ir_model_data = self.env['ir.model.data']
        try:
           tree_id = ir_model_data.get_object_reference('sale', 'view_order_tree').id
           form_id = ir_model_data.get_object_reference('sale', 'view_order_form').id
        except ValueError:
            view_id = False

        partner_id = self.ren9.id
        return {
            'name': _('Sale Orders'),
            'type': 'ir.actions.act_window',
            'domain': [('partner_id', '=', partner_id)],
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'sale.order',
            'view_id': False,
            'views': [(tree_id, 'tree'),(form_id, 'form')],
            'target': 'current',
            'context': ctx,
        }
 <div name="button_box" position="inside">

       <button class="oe_stat_button" type="object" name="_view_sale_orders" icon="fa-usd">

        <field string="Sales" name="sale_order_count" widget="statinfo"/>

     </button>

   </div>

但是
视图id
不是空的,它是
506
并且更改
视图类型:'form',
即使在树状视图中显示记录,也最好使用表单类型。