我如何制作和附加按钮动作

时间:2017-04-22 06:35:58

标签: openerp odoo-10

你好我在我的Odoo 10表格上创建了​​一个按钮" SET geprint"现在我想将一个动作附加到按钮上。如果按下按钮,布尔geprint的值必须更改为1.如何才能实现此目的?

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

enter image description here

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

enter image description here enter image description here

2 个答案:

答案 0 :(得分:0)

您可以通过以下方法来实现。

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

    <button name="validate" string="Validate" type="object" states="draft" class="oe_highlight"/> 
    
    @api.multi
    def validate(self):
        self.write({})
        return True
    
    1. 对于列表视图,您需要创建新向导,其中您可以从列表视图中选择记录数并在列表视图中操作选择您的向导名称项
    2. 例如:

      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="{}"/>
      

      源模型操作菜单中,您可以选择向导链接,在向导中,您将在上下文中获得active_ids

      active_ids表示所有列表视图选定记录,基于您可以使用选择性记录执行任何操作。

      这可能会对你有帮助。

答案 1 :(得分:0)

进行服务器操作(设置 - &gt;技术 - &gt;服务器操作) Save the action if you want you can add the action to the action menu

在搜索链接中的操作编号后,请参阅图片(我的电话号码是638) enter image description here

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

进入编辑formview并添加以下代码

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