Xml 从“更多”按钮更改工作流状态

Xml 从“更多”按钮更改工作流状态,xml,python-2.7,odoo-8,odoo,Xml,Python 2.7,Odoo 8,Odoo,我想通过“更多”按钮更改某些发票的状态。因此,当我从树视图中选择一些发票并从“更多”按钮下选择一个按钮“全部取消”时 请提供任何帮助您必须使用服务器操作来完成此操作。将下一个代码添加到自定义模块中的XML文件: <record id="change_state_action" model="ir.actions.server"> <field name="name">Change invoice state</field> <field

我想通过“更多”按钮更改某些发票的状态。因此,当我从树视图中选择一些发票并从“更多”按钮下选择一个按钮“全部取消”时


请提供任何帮助

您必须使用服务器操作来完成此操作。将下一个代码添加到自定义模块中的XML文件:

<record id="change_state_action" model="ir.actions.server">
    <field name="name">Change invoice state</field>
    <field name="model_id" ref="model_account_invoice"/>
    <field name="state">code</field>
    <field name="code">
action = self.your_method_to_change_state(cr, user.id, context.get('active_ids', []), context=context)
    </field>
</record>

<record id="change_state_option" model="ir.values">
    <field name="name">Change invoice state</field>
    <field name="key2" eval="'client_action_multi'"/>
    <field name="model" eval="'account.invoice'"/>
    <field name="value" eval="'ir.actions.server,%d'%change_state_action"/>
</record>

您必须使用服务器操作才能做到这一点。将下一个代码添加到自定义模块中的XML文件:

<record id="change_state_action" model="ir.actions.server">
    <field name="name">Change invoice state</field>
    <field name="model_id" ref="model_account_invoice"/>
    <field name="state">code</field>
    <field name="code">
action = self.your_method_to_change_state(cr, user.id, context.get('active_ids', []), context=context)
    </field>
</record>

<record id="change_state_option" model="ir.values">
    <field name="name">Change invoice state</field>
    <field name="key2" eval="'client_action_multi'"/>
    <field name="model" eval="'account.invoice'"/>
    <field name="value" eval="'ir.actions.server,%d'%change_state_action"/>
</record>

非常感谢,这正是我需要的!您知道如何在树状视图中循环检查所有选中的记录吗?因此,我可以在所有选定记录中编写类似于I的内容:I.write{'state':'draft'}您将在Python方法的变量self中接收所有选定记录。你可以在我写给你的同时将write应用于所有记录,如果你想以同样的方式修改每条记录。但如果没有,你将能够做:对于self中的selected_record:selected_record.do_what_you_want谢谢这正是我所需要的!您知道如何在树状视图中循环检查所有选中的记录吗?因此,我可以在所有选定记录中编写类似于I的内容:I.write{'state':'draft'}您将在Python方法的变量self中接收所有选定记录。你可以在我写给你的同时将write应用于所有记录,如果你想以同样的方式修改每条记录。但如果没有,您将能够在self:selected\u record.do\u随心所欲中执行:for selected\u record