将一些参数从操作传递到表单视图

Pass some parameters from the action to a form view

具体说明,我在base.view_partner_form。我在那里插入了一个新页面,如下所示:

<record id="view_partner_get_Emails" model="ir.ui.view">
    <field name="name">res.partner.property.form.inherit</field>
    <field name="model">res.partner</field>
    <field name="inherit_id" ref="base.view_partner_form" />
    <field name="arch" type="xml">
        <page name="internal_notes" position="before">
            <page string="Emails">
                <field name="mail_message_lines" mode="tree" style="overflow:hidden;">
                    <tree string="Emails">
                        <field name="date" />
                        <field name="subject" />
                        <field name="partner_ids" />
                        <field name="cc" />
                        <field name="email_from" />
                        <field name="body" style="height: 40px; overflow:hidden;" />
                    </tree>
                </field>
            </page>
        </page>
    </field>
</record>

此页面包含我在 mail.message table 上插入的一些电子邮件(mail.message 和 res.partner 之间的多对多关系)

点击任何电子邮件,mail.view_message_form 打开,我也修改过(将一些字段设置为只读)。

我的问题如下:当我单击 res.partner 表单中的电子邮件时,我希望将该合作伙伴的 ID 传递到新表单的上下文中。如何实现?

您的目的将通过在那里定义内联表单视图来解决。

<page string="Emails">
    <field name="mail_message_lines" mode="tree" style="overflow:hidden;">
        <tree string="Emails">
            <field name="date" />
            <field name="subject" />
            <field name="partner_ids" />
            <field name="cc" />
            <field name="email_from" />
            <field name="body" style="height: 40px; overflow:hidden;" />          
        </tree>
        <form string="Emails">
            <field name="date" readonly="1" />
            <field name="subject" readonly="1" />
            <field name="partner_ids" readonly="1" />
            <field name="cc" />
            <field name="email_from" />
            <field name="body" style="height: 40px; overflow:hidden;" />
        </form>
   </field>
</page>

无需传递参数来设置字段只读/不可见,但是您可以直接在内联视图中执行此操作。

再看一个答案。

我猜对了:您要自动填充 partner_ids?尝试在上下文中设置当前打开的伙伴,例如:

<field name="mail_message_lines" mode="tree" style="overflow:hidden;" context={'default_partner_ids':[active_id]}>...</field>