在many2one树视图上添加默认过滤器-OpenErp自定义模块

时间:2019-01-10 10:57:38

标签: xml odoo

我已经在XML中添加了这一行:

<field name="context">{"search_default_current_year": 1}</field>

但这仅适用于它自己的视图。我想要的是即使在many2one视图中也将其设置为默认值。有办法吗?

修改后的代码: 搜索视图:

<record id="urdhershpenzim_filter" model="ir.ui.view">
        <field name="name">urdhershpenzim.select</field>
        <field name="model">urdher.shpenzim</field>
        <field name="type">search</field>
        <field name="arch" type="xml">
            <search string="Kerko Urdhershpenzimi">
                   <group>
                    <filter name="draft" icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/>
                    <filter name="confirmed" icon="terp-check" string="Konfirmuar" domain="[('state','=','confirmed')]"/>
                    <filter name="cancel" icon="gtk-cancel" string="Anulluar" domain="[('state','=','cancel')]"/>
                       <separator orientation="vertical"/>
                       <filter name="current_year" icon="terp-gtk-media-pause" string="Current Year" domain="['|',('date','&gt;=',time.strftime('%%Y-01-01')),('date','=',False)]" help="Current year"/> <!--commprog-orjada-->
                       <separator orientation="vertical"/>
                   <field name="name"/>
                       <field name="institucion_id"/>
                       <field name="furnitor_id"/>
                       <field name="tipi"/>
                       <field name="date"/>
                </group>
                   <newline/>
                   <group expand="0" string="Group By..." groups="base.group_extended">
                    <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
                </group>
           </search>
        </field>
    </record>

操作:

<record id="action_urdhershpenzimi" model="ir.actions.act_window">
        <field name="name">Urdhershpenzimi</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">urdher.shpenzim</field>
        <field name="view_type">form</field>
        <field name="view_model">tree,form</field>
        <field name="domain">[('institucion_lloji','=',True)]</field>
        <field name="context">{"search_default_current_year":1}</field>
        <field name="search_view_id" ref="urdhershpenzim_filter"/>
    </record>

1 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但我认为您的问题是:

  

如何强制“某些字段”始终具有相同的域?

答案是,您可以在字段定义上设置#include <iostream> using namespace std; struct Person { char name[50]; string address; int phone_number; }; int main() { Person psn1; cout <<"Enter the Name of Person: "; cin.get(psn1.name, 50); cout <<"Enter the Address of Person: "; cin >> psn1.address; cout <<"Enter the Phone Number of Person: "; cin >> psn1.phone_number; cout <<"Dear "<<psn1.name<<"your informations is saved successfully. Please review the information once."<<endl; cout<<"Name: "<<psn1.name<<endl; cout<<"Address: "<<psn1.address<<endl; cout<<"Phone Number: "<<psn1.phone_number<<endl; cout<<"Thank You"; } 值(在Python中)。


正如您所说,下面的domain起作用,但仅用于限制该字段在一个特定视图上的选项。

context

从您发布的搜索视图中,我们可以确定过滤器将以下域应用于该字段。域基本上说“仅允许选择<field name="context">{"search_default_current_year": 1}</field> 值为今年1月1日或之后未选择日期的记录。

date

正如我提到的,可以在该字段的Python定义上应用同一域,并且该字段将在所有地方应用该域。

<filter name="current_year"
        domain="['|',('date','&gt;=',time.strftime('%%Y-01-01')),('date','=',False)]"/>

您可能需要对日期的format命令进行一些更改,但是想法是相同的。

请确保查看FieldsDomains上的Odoo文档以获取更多详细信息。