How to search with functional fields?
my code
'calculate_next_visit' : fields.function( 
     __get_next_visit,
    method=True,
    type='char',
    store=True,
    string="Calculo de próxima visita"),
 def __get_next_visit(self, cr, uid, obj, name, args, context):
      print 'something'
      res = {}
      for v in self.browse(cr, uid, obj):
         diagnosis = map(lambda x:x.upper(),v.diagnosis)
         if 'PAP' in diagnosis or 'P.A.P' in diagnosis:
           # more code....
            res[v.id] = True
      return res
and my view:
<record id="search_visit_filter" model="ir.ui.view">
      <field name="name">Visitas</field>
      <field name="model">visit</field>
      <field name="arch" type="xml">
        <search string="Search xxx">
            <filter domain="[('calculate_next_visit','=',True)]" string="Visitas Próximas a la fecha"/>
        </search>
      </field>
    </record>
When select filter, never print "something"
Somebody Help me?
THE SOLUTION
'calculate_next_visit' : fields.function(
         _next_visit,
         fnct_search=_search_next_visit,
         method=True, 
         type='char', 
         multi=True,
         string="Calculo de próxima visita", 
      ),
set fnct_search parameter, and implement that.
def _search_next_visit(self, cr, uid, obj, name, args, context=None):
      res = []
      ids = obj.search(cr,uid,[]) # ids of visits
      for v in self.browse(cr, uid, ids): # foreach visit
         diags = [d.name.upper() for d in v.diagnosis]
         if "PAP" in diags:
            res.append(v.id)
      return [('id','in',res)]
important return type of fnct_search
and my search view...
<group expand="0" string="Agrupar por...">
            <filter string="Próximas Visitas" domain="[('calculate_next_visit','=',True)]" context="{'group_by':'next_visit'}" />
</group>
check documentation for fnct_search functions
 
                        
@ Bruno , i have the same problem as you . You already found the answer right ? did you change __get_next_visit method as well ?