El 29/06/17 a les 06:19, Elmer Steven Salazar Arias ha escrit:
He creado un objeto para el contexto:
class CustomersContext(ModelView, Workflow, ModelSQL):

Si solo lo vas a mostrar en esta pantalla no hace falta que sea ni Workflow, ni ModelSQL.

     'Customers Context'
     __name__ = 'crm.customers.context'
     range_months = fields.Selection([
         ('current', 'Current Month'),
         ('two_last', '2 Last Months'),
         ('three_last', '3 Last Months'),
         ('six_last', '6 Last Months'),
         ('nine_last', '9 Last Months'),
         ('all', 'All Year'),
     ], 'Range Months')
     company = fields.Many2One('company.company', 'Company', required=True)
     salesman = fields.Many2One('company.employee', 'Salesman')
     subdivision = fields.Function(fields.Many2One('country.subdivision',
         'State'), 'get_subdivision', searcher='search_subdivision')
     @classmethod
     def __setup__(cls):
         super(CustomersContext, cls).__setup__()
         cls._buttons.update({
             'current_month': {
                 'invisible': False,
             },
             'two_last_month': {
                 'invisible': False,
             },
             'three_last_month': {
                 'invisible': False,
             },
         })


     @fields.depends('range_months')
     def on_change_range_months(cls):
         print 60 * "*"
         print "Cambio el combo de Customers"
         print cls.range_months
         pool = Pool()
         Party =  pool.get('party.party')
         context = Transaction().context
         parties= Transaction().context.get('parties')
         print parties
         print 60 * "*"
         pass

y la vista xml correspondiente:
<?xml version="1.0"?>
<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="8">
     <label name="range_months"/>
<field name="range_months"/>
<label name="salesman"/>
<field widget='selection' name="salesman"/>
</form>

y la llamada:
         <record model="ir.ui.view" id="customers_context_view_form">
             <field name="model">crm.customers.context</field>
             <field name="type">form</field>
             <field name="name">customers_context_form</field>
         </record>

         <record model="ir.ui.view" id="customer_view_tree">
             <field name="model">party.party</field>
             <field name="type">tree</field>
             <field name="name">customer_tree</field>
         </record>

         <record model="ir.action.act_window" id="act_customer_form">
             <field name="name">Customers</field>
             <field name="res_model">party.party</field>
             <field name="context_model">crm.customers.context</field>
         </record>


Esto me genera una vista como la que adjunto.

Me he quedado estancado por que no se como obtener el listado de registros de parties y como aplicarle un filtro y volver a mostrar el nuevo listado filtrado.
Si alguien me da una mano estaré muy agradecido.

Debes sobreescribir el search del party.party para que te aplique el filtro segun los valores del contexto. Mucho mas no te puedo decir porqué no se lo que estas intentado realizar.

UN saludo,

--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk

Responder a