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 如何获取选定的记录的主要内容,如果未能解决你的问题,请参考以下文章

如何从 django 的表中获取选定行的记录?

创建 Visual Studio 扩展时如何获取源代码管理历史记录窗口中的选定项目?

odoo14-实际使用

如何在 Odoo 14 中隐藏过滤器

如何通过辅助功能 API 获取当前选定文本的全局屏幕坐标。

如何使用 type='json' 在 Odoo 控制器中获取 JSON 数据?