Добавление фильтра по умолчанию в древовидном представлении – пользовательский модуль OpenErp

Мне нужно добавить фильтр по умолчанию для древовидного представления моего модуля.

Я видел пример кода в openerp, как этот:

<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" /> 

Это в модуле purchase , сгруппированном по partner_id , в качестве примера.

Теперь у меня есть настраиваемый модуль, который мне нужно иметь фильтр по умолчанию, когда вы нажимаете на его меню.

И этот фильтр должен показывать все записи, которые не «истекли», или которые не передали фактическую дату, когда я просматриваю записи в модуле.

У меня есть это поле в моем настраиваемом модуле:

 'Fecha_de_Vence': fields.date( 'Fecha de Vencimiento', required=True, select=True, ), 

Это поле, которое мне нужно взять в качестве фильтра для всех записей в этом модуле.

Прямо сейчас, в «расширенном поиске», я могу добавить, например, Fecha de Vencimiento не более actual date , ну, мне нужно, чтобы это было как фильтр по умолчанию.

Кто-нибудь может пролить свет на то, как получить это по умолчанию в xml-представлении openerp?

  • Каков наилучший способ изменить текст, содержащийся в файле XML, используя Python?
  • Как эту функцию можно переписать для реализации OrderedDict?
  • Как создать arrayType для WSDL в Python (используя пенообразование)?
  • конвертировать xml в python dict
  • Можно ли указать ElementTree для сохранения порядка атрибутов?
  • Доступ к атрибуту XMLNS с помощью Python Elementree?
  • Python 2.7: тип объекта «ElementTree» не имеет атрибута «register_namespace»
  • есть ли что-нибудь, чтобы преобразовать xml -> yaml напрямую?
  • 2 Solutions collect form web for “Добавление фильтра по умолчанию в древовидном представлении – пользовательский модуль OpenErp”

    Вам нужен поиск и контекстная запись в act_window:

     <record id="search_xxx_filter" model="ir.ui.view"> <field name="name">module.class.select</field> <field name="model">module.class</field> <field name="arch" type="xml"> <search string="Search xxx"> <field name="Fecha_de_Vence" string="Fecha de Vencimiento" filter_domain="[(1,'=',1)]"/> <separator/> <filter string="Fecha de Vencimiento" name="type_date" domain="[(1,'=',1)]" help="..."/> <separator/> <group expand="0" string="Group By..."> <filter string="Assigned to" domain="[]" context="{'group_by' : 'user_id'}" /> <filter string="Status" domain="[]" context="{'group_by': 'state'}"/> <filter string="Priority" domain="[]" context="{'group_by': 'priority'}"/> </group> </search> </field> </record> <record id="module_class_act" model="ir.actions.act_window"> <field name="name">xxx</field> <field name="res_model">module.class</field> <field name="view_type">form</field> <field name="context">{"search_default_type_date":1}</field> <field name="view_id" ref="module_class_tree-view"/> </record> 

    Я оставил записи в группе, чтобы вы могли видеть, как они выглядят, но вам нужно либо удалить их, либо настроить их так, чтобы они соответствовали вашим данным. Кроме того, module и class слов должны быть заменены вашими данными.

    Итан

    Вот как я решил это, без вашего совета это было бы невозможно:

     <record id="solvencia_search" model="ir.ui.view"> <field name="name">solvencia.solvencia.select</field> <field name="model">solvencia.solvencia</field> <field name="arch" type="xml"> <search string="Solvencias"> <field name="Fecha_de_Vence" string="Fecha de Vencimiento" filter_domain="[('Fecha_de_Vence','=',((context_today()-datetime.timedelta(days=10)).strftime('%%Y-%%m-%%d')))]"/> <separator/> <filter string="Fecha de Vencimiento" name="type_date" domain="[('Fecha_de_Vence','=',((context_today()-datetime.timedelta(days=10)).strftime('%%Y-%%m-%%d')))]" help="..."/> <separator/> <group expand="0" string="Group By..."> <filter string="Assigned to" domain="[]" context="{'group_by' : 'Fecha_de_Vence'}" /> <filter string="Status" domain="[]" context="{'group_by': 'Fecha_de_Emision'}"/> <filter string="Priority" domain="[]" context="{'group_by': 'nsol'}"/> </group> </search> </field> 

    И context в act_window :

     <record id="action_solvencia_solvencia" model="ir.actions.act_window"> <field name="name">Solvencias</field> <field name="res_model">solvencia.solvencia</field> <field name="view_type">form</field> <field name="context">{"search_default_type_date":1}</field> <field name="view_mode">tree,form</field> <field name="view_id" ref="solvencia_solvencia_tree"/> <field name="nsol" /> <field name="Fecha_de_Emision" /> <field name="Fecha_de_Vence" /> <field name="ministerio" /> <field name="ins_em" /> <field name="cod_ver" /> <field name="cadidate" /> <field name="observa" /> </record> 

    Отлично работает, большое спасибо!

    Python - лучший язык программирования в мире.