2017-12-11 1 views
1

ツリービューでは、フィールド「コード」があり、コードが910で始まるときにレコードのみをフィルタリングしたいので、デフォルトのフィルタにする必要があります。 私は文脈で演奏しようとしましたが、それほど多くはありません。私はコードでフィルタすることができますが、どのように私はそこにこの910を追加することができます。部分的な番号のデフォルトフィルタ

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

更新。

<record id="project_proposal_view_search" model="ir.ui.view"> 
    <field name="name">project.part.search</field> 
    <field name="model">project.proposal</field> 
    <field name="arch" type="xml"> 
     <search> 
      <field name="name"/> 
      <field name="project_id"/> 
      <field name="code"/> 
      <filter name="code" string="Starts with 910" domain="[('code','ilike', '910')]"/> 
     </search> 
    </field> 
</record> 

class ProjectProposal(models.Model): 
    _name = 'project.proposal' 
    _inherit = ['mail.thread'] 

    code = fields.Char(compute='_compute_code') 

@api.multi 
    @api.onchange('project_id', 'object', 'stage_id', 'part_template_id') 
    def _compute_code(self): 
     for r in self: 
      code = [] 
      if r.project_id: 
       code.append(r.project_id.code or '') 
      if r.object: 
       code.append(r.object or '') 
      if r.stage_id: 
       code.append(r.stage_id.code or '') 
      if r.part_template_id: 
       code.append(r.part_template_id.code or '') 
      r.code = '-'.join(code) 

答えて

2

コードフィールドの種類についてお知らせください。それはあなたがコンテキストでアクションを使用しているようだchar.also型のようです。

ので、あなたが使用しようとしているフィルタコード定義する必要があり、{ "search_default_codeを":1}

<filter name="code" string="starts with 910" domain="[('code','ilike', '910')]" /> 

ますので、その

<!-- FILTERS FOR YOUR MODEL --> 
<record id="filter_model_name" model="ir.ui.view"> 
    <field name="name">FILTER NAME</field> 
    <field name="model">MODEL.NAME</field> 
    <field name="arch" type="xml"> 
     <search string="MODEL NAME"> 
      <filter name="code" string="starts with 910" domain="[('code','ilike', '910')]" /> 
     </search> 
    </field> 
</record> 
<!-- FILTERS FOR YOUR MODEL --> 

してくださいのようなものを定義することになりますフィールド定義が次のようになっていることを確認してください

code = fields.Char(compute='_compute_code', store=True) 
+0

正解ですが、もっと説明しようとします。彼はどこにフィルターを置いたのですか? – Cherif

+0

私の質問にはより多くのコードがあり、yeasタイプはcharです。問題はそれがフィルタリングされていないということです。フィルターの有無にかかわらず、結果はツリー表示で同じになります。 – Chaban33

+0

モジュールをアップグレードしたことを確認してください。設定→技術→シーケンスと識別子→外部識別子 – kerbrose