odoo 14 如何获取选定的记录
Posted
技术标签:
【中文标题】odoo 14 如何获取选定的记录【英文标题】:odoo 14 how to get selected recored 【发布时间】:2021-07-20 17:36:38 【问题描述】:我想创建一个包含销售、产品和库存数据的 Excel 文件
例如:
|消费者[关键] |国家 |产品 |库存单位 |销售单位 |
我想我知道如何创建文件但不确定如何获取信息
我在动作 [sales] 中添加了一个按钮,以便用户可以过滤然后选择记录
但不是不知道如何将记录选择到我的函数中
能否请教一下如何操作
<record id="test_report" model="ir.actions.act_window">
<field name="name">test report</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">test_report.test_sales_inv_pro</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="binding_model_id" ref="sale.model_sale_order" />
<field name="binding_view_types">list</field>
<field name="view_id" ref="sale_report_wizard"/>
</record>
<record id="sale_report_wizard" model="ir.ui.view">
<field name="name">test report wiz</field>
<field name="model">test_report.test_sales_inv_pro</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form>
<footer>
<button name="fun_test" string="Print" type="object" class="oe_highlight"/>
</footer>
</form>
</field>
</record>
class test_sales_inv_pro(models.TransientModel):
_name = 'test_report.test_sales_inv_pro'
@api.model
def fun_test(self):
active_ids = self.env.context.get('active_ids', [])
_logger.warning(active_ids)
当我尝试这段代码时,我得到了
You are not allowed to create 'Change the state of sale order' (test_report.test_sales_inv_pro) records.
【问题讨论】:
【参考方案1】:您可以获取所选记录的 ID,并使用这些 ID 浏览记录。 这些记录 id 可以在 env 对象内的上下文字典中找到。
sale_obj = self.env['sale.order']
active_ids = self.env.context.get('active_ids', [])
sales = sale_obj.browse(active_ids)
【讨论】:
嗨 Tiki,我添加了更多信息,我需要向导吗 这样的事情可以为我工作吗***.com/questions/66788053/… 我按照您在链接中的建议将其与您的答案相结合,但没有得到 id 我想我必须发送一个 args:[]以上是关于odoo 14 如何获取选定的记录的主要内容,如果未能解决你的问题,请参考以下文章