我在产品级别添加了一个智能按钮。从视图中可以在每个产品上看到该按钮。当我点击该按钮时,我想打开该特定产品的采购订单。
这是我点击按钮的方法。
def view_purchase_order(self):
action = self.env["ir.actions.actions"]._for_xml_id("purchase.purchase_rfq")
print(self, "SELFFFFFFFFFFFFFFFFFFFF")
tree_view = [(self.env.ref('purchase.purchase_order_tree').id, 'tree')]
action['views'] = tree_view
action['res_id'] = self.id
return action
我在自定义视图中继承了 product.template
。
我已经在 ID
中设置了该产品的 action['res_id']
,但我仍然收到所有采购订单记录。
谁能帮助我如何获得特定产品的采购订单?
答案 0 :(得分:0)
self
代表记录集。所以你可以通过 id 获取它。
例如,self.id
答案 1 :(得分:0)
你也可以试试这个
def view_purchase_order(self):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'name': 'Purchase Orders',
'view_mode': 'tree, form',
'res_model': 'purchase.order',
'domain': [('order_line.product_id', '=', self.id)],
'context': "{'create': False}"
}
答案 2 :(得分:0)
从您的最后一条评论来看,Long
看起来您在 Error
上,因此要获得 template
访问权限,您需要像这样设置域。
您可以采用 Adam 解决方案,尝试更改此行,
product