Python 2.7 如何通过odoo 10中的关联菜单按钮打开销售订单列表视图
我想在单击上下文按钮时打开任何客户的销售订单列表视图。为此,我获取终端上的所有ID,但不获取列表视图。那么,如何打开客户销售订单列表(sales)。为此,我的代码如下 Python代码: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_
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',
即使在树状视图中显示记录,也最好使用表单类型。