Я решил свое требование: я использую мастер, только для поиска: Python код:
class plan_web_wallet_wizard(osv.osv_memory):
_name = 'plan.web.wallet.wizard'
_description = 'Web Wallet Wizard'
contract_id = fields.Many2one('plan.partner.contract', 'Plan Partner', Contract')
partner_id = fields.Many2one('res.partner',related='contract_id.partner_id')
plan_car_id = fields.One2many('plan.car',
related='contract_id.schedule_pay_ids')
@api.one
@api.depends('partner_id', 'ident_num')
def count_bidding_1(self):
bidding_obj = self.env['plan.bidding']
for record in self:
bidding_id = bidding_obj.search([('contract_id', '=', record.contract_id.id)])
if bidding_id:
self.count_bidding = len(bidding_id)
@api.onchange('partner_id')
def onchange_partner_id(self):
contract_obj = self.env['plan.partner.contract']
for record in self:
contract_id = contract_obj.search([('partner_id', '=', record.partner_id.id)])
if contract_id:
for contract in contract_id:
self.contract_id = contract.id
contract.calculate_summary()
@api.onchange('ident_num')
def onchange_ident_num(self):
contract_obj = self.env['plan.partner.contract']
for record in self:
contract_id = contract_obj.search([('ident_num', '=', record.ident_num)])
if contract_id:
for contract in contract_id:
self.contract_id = contract.id
XML-файл:
<form string="wallet" name="wallet">
<sheet name="web_wallet" string="Web Wallet">
<h1 class="text-center" name="wellcome">
<label string="Wellcome Web Wallet"/>
</h1>
<br/>
<group name="search_contract" col="4">
<field name="partner_id" string="Customer" options="{'no_create_edit': True, 'no_open':True}"
domain="[('customer','=',1),('partner_state','=','adherent')]"/>
<field name="ident_num" string="RUC/CC" placeholder="Search identification number"/>
<field name="contract_id" string="Contract" domain="[('ident_num','=',ident_num)]"
options="{'no_create_edit': True, 'no_open':True}"/>
</group>
<notebook name="web_wallet">
<page name="contract_summary" string="Contract Summary">
<h1 name="string" class="text-center">
<label string="Contract Summary"/>
</h1>
</page>
<page name="web_paids" string="Contract Paids">
<h1 name="string" class="text-center">
<label string="Pagos Programados"/>
</h1>
<group name="paids">
<field name="plan_car_id" mode="tree" nolabel="1" readonly="1">
<tree string="List Paid Quotas" editable="false" readonly="1"
colors="blue:state=='draft';black:state=='done';gray:state=='cancel'">
<field readonly="1" name="plan_payment_number"/>
<field readonly="1" name="date_to"/>
<field readonly="1" name="name"/>
<field readonly="1" name="state"/>
<field readonly="1" name="contract_id"/>
<field readonly="1" name="partner_id" invisible="1"/>
<field readonly="1" name="inscription_quota" sum="Inscription" string="C.Ins."/>
<field readonly="1" name="capital_quota" sum="Capital" string="C.Cap."/>
<field readonly="1" name="administrative_quota" sum="Administrative" string="C.Adm."/>
<field readonly="1" name="monthly_quota" sum="Monthly" string="C.Mensual"/>
<field readonly="1" name="total_iva" sum="IVA" string="IVA"/>
<field readonly="1" name="total_quota" sum="Total" string="Total"/>
<field readonly="1" name="pay_type"/>
<field readonly="1" name="company_id" invisible="1"/>
<field readonly="1" name="plan_run_id" invisible="1"/>
</tree>
</field>
</group>
</page>
</notebook>
</sheet>
<footer>
<button special="cancel" string="Cerrar" class="oe_link"/>
</footer>
</form>
Изображение это представление: ![Only search view](https://i.stack.imgur.com/jHiNN.png)