【问题标题】:How to redirect from one form view to another in odoo?如何在odoo中从一个表单视图重定向到另一个?
【发布时间】:2015-09-08 13:02:52
【问题描述】:

即使出现按钮,它也不会将我重定向到任何地方。我希望第一个按钮重定向到包含折扣的 sale.order 表单视图(id 605),第二个按钮重定向到不包含的 sale2.order 表单视图(id 575)商品有任何折扣。我应该在 python 代码中做任何事情还是只修改我的 xml 代码?

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

    <record id="view3_order_form" model="ir.ui.view">
        <field name="name">sale3.order.form</field>
        <field name="model">sale.order</field>
        <field name="arch" type="xml">
            <form string="Sales Order">
                <h1>Selection Panel</h1>
                    <button name="redirection1" string="Discount" type="action" class="oe_highlight"/>
                    <button name="redirection2" string="No Discount" type="action" class="oe_highlight"/>
            </form>
        </field>
    </record>

    <record id="action3_orders" model="ir.actions.act_window">
        <field name="name">Sales3 Orders</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">sale.order</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
    </record>

    <record id="redirection1" model="ir.actions.act_window">
        <field name="name">Redirection_to_discount</field>
        <field name="res_model">sale.order</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="res_id">605</field>
        <field name="target">current</field>
    </record>

    <record id="redirection2" model="ir.actions.act_window">
        <field name="name">Redirection_to_no_discount</field>
        <field name="res_model">sale.order</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="res_id">575</field>
        <field name="target">current</field>
    </record>

</data>
</openerp>

【问题讨论】:

    标签: openerp odoo openerp-7 openerp-8


    【解决方案1】:

    动作按钮的name 实际上应该是动作的数字ID,而不是动作的名称。当然,实际上使用这个名字会好得多。为此,请使用 printf 语法 - %(action_name)d 而不是 action_name。这样,名称稍后将替换为数字 id:

    <button name="%(redirection1)d" string="Discount" type="action" class="oe_highlight"/>
    <button name="%(redirection2)d" string="No Discount" type="action" class="oe_highlight"/>
    

    【讨论】:

    • 嘿,我收到此错误,完整性错误操作无法完成,可能是由于以下原因: - 删除:您可能正在尝试删除一条记录,而其他记录仍在引用它 - 创建/更新: 未正确设置必填字段
    • 这似乎与此问题无关。请尝试在 Odoo 的数据库管理器中创建一个新数据库。
    • 我在销售模块中尝试这个,我创建了一个新的表单视图,只有这两个按钮作为元素,并为此赋予较低的优先级数字,以便始终加载此表单,但它给了我这个错误,因为其他表单视图中有一些必需(强制)字段,例如名称,不能为空。当我在这里没有提到它时,我不明白为什么它会寻找其他形式。
    • 视图中有哪些字段并不重要。数据模型本身仍然需要这些必填字段,当您单击表单中的任何按钮时,Odoo 会尝试保存这些字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 2016-04-02
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多