Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何在OpenERP7中将变量传递给搜索视图?_Xml_Search_View_Openerp_Openerp 7 - Fatal编程技术网

Xml 如何在OpenERP7中将变量传递给搜索视图?

Xml 如何在OpenERP7中将变量传递给搜索视图?,xml,search,view,openerp,openerp-7,Xml,Search,View,Openerp,Openerp 7,我在res.partner表单中创建了一个按钮,它调用一个操作 此操作将打开其他不同型号的树视图,res.partner.link.category(带有partner\u id、link\u category\u id、type、日期和观察值等字段)---此表是res.partner与另一个名为link.category的表之间的关系--- 我还为res.partner.link.category创建了一个搜索视图 我现在需要的是:如果我正在查找合作伙伴,并单击按钮,请查看res.partne

我在res.partner表单中创建了一个按钮,它调用一个操作

此操作将打开其他不同型号的树视图,
res.partner.link.category
(带有
partner\u id
link\u category\u id
type
日期
观察值等字段)---此表是
res.partner
与另一个名为
link.category
的表之间的关系---

我还为
res.partner.link.category
创建了一个搜索视图

我现在需要的是:如果我正在查找合作伙伴,并单击按钮,请查看
res.partner.link.category
树状视图,其中仅包含我在单击时查看的具有该
partner\u id的记录。在这种情况下,我如何使用上下文

如何将该上下文(带有partner_id)传递到搜索视图?我尝试了很多东西,但都没能达到我的目标

以下是按钮的代码:

<button name="%(res_partner_extended.action_view_history_res_partner_link_category)d"
    string="View whole history" type="action" context="{'default_partner_id': active_id}"/>

这就是它所呼吁的行动:

<record id="action_view_history_res_partner_link_category"
    model="ir.actions.act_window">
    <field name="name">View whole history</field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">res.partner.link.category</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree</field>
    <field name="context">{'default_partner_id': context.get('default_partner_id', False)}</field>
    <field name="view_id" ref="res_partner_link_category_history_tree_view" />
    <field name="target">current</field>
</record>

纵观历史
ir.actions.act\u窗口
res.partner.link.category
形式
树
{'default\u partner\u id':context.get('default\u partner\u id',False)}
现在的
树状视图:

<record id="res_partner_link_category_history_tree_view" model="ir.ui.view">
    <field name="name">res.partner.link.category.history.tree</field>
    <field name="model">res.partner.link.category</field>
    <field name="type">tree</field>
    <field name="arch" type="xml">
        <tree string="Link categories" create="false">
            <field name="partner_id" />
            <field name="link_category_id" />
            <field name="type" />
            <field name="date" />
            <field name="observations" />
        </tree>
    </field>
</record>

res.partner.link.category.history.tree
res.partner.link.category
树
以及“搜索”视图:

<record id="res_partner_link_category_history_search_view" model="ir.ui.view">
    <field name="name">res.partner.link.category.history.search</field>
    <field name="model">res.partner.link.category</field>
    <field name="type">search</field>
    <field name="arch" type="xml">
        <search>
            <filter name="partner_id" string="Current partner" domain="[('partner_id','=',context.get('default_partner_id', False))]"/>
        </search>
    </field>
</record>

res.partner.link.category.history.search
res.partner.link.category
搜索

有人能帮我吗?

尝试在按钮打开的
操作中添加域:

<field name="domain">[('partner_id','=',active_id)]</field>
[('partner\u id','=',active\u id)]
如果您想在搜索中触发默认过滤器,则在按钮上的上下文中,通过默认设置为true的过滤器名称的值,这将在打开窗口时触发应用的默认fitelr。示例代码:

<button name="%(res_partner_extended.action_view_history_res_partner_link_category)d"
    string="View whole history" type="action" context="{'search_default_partner_id': 1}"/>


希望这会有所帮助。

这在@firebug中有效!多谢各位!但是不可能将该域的活动id传递到筛选器的域?@forvas:这是可能的,但这很棘手,您可能需要越过
def字段查看\u get