我如何制作并将动作附加到按钮

How do i make and attache action to button

您好,我已经在我的 Odoo 10 表单上创建了一个按钮 "SET geprint" 现在我想为该按钮附加一个动作。如果我按下按钮,布尔 geprint 的值必须更改为 1。我怎样才能使这成为可能?

如果可能的话,我还想在列表视图中创建那个按钮来更新多条记录。 谢谢你的帮助

我试过你的代码,但我现在收到以下错误 (要更新的名称字段是 x_geprint) 按钮代码:

您可以通过以下方法完成。

  1. 在表单视图中创建 对象类型的按钮 。你可以给按钮type="object",之后当你点击按钮时系统会调用python方法您可以在其中编写代码。

例如:

<button name="validate" string="Validate" type="object" states="draft" class="oe_highlight"/> 

@api.multi
def validate(self):
    self.write({})
    return True
  1. 对于列表视图,您需要创建新的向导,您可以在其中select列表视图中的记录数 并在列表视图中 Action select 您的向导名称项目.

例如:

from openerp import models, fields, api, _

class test(models.TransientModel):
    _name = 'test.test'


<act_window name="Name String" res_model="wizard.model"
    src_model="source.model" view_mode="form" view_type="form"
    target="new" multi="False" 
    id="your_id"
    view_id="view_id"           
    context="{}"/>

源模型操作菜单中你可以select向导link并且在向导中您将在上下文中得到 active_ids

active_ids 表示所有列表视图 selected 记录,基于此你可以对 selective 记录进行任何操作.

这可能对您有所帮助。

进行服务器操作(设置->技术->服务器操作)

之后在你的link中搜索行动号码请看图片(我的号码是638)

然后转到要添加按钮的表单。在我的示例中,它是 stock.move

进入编辑窗体视图并添加以下代码

<button name="638" string=" Set geprint" type="action" />