25.03.26
This commit is contained in:
@@ -253,6 +253,13 @@ class Purchase(metaclass=PoolMeta):
|
|||||||
__name__ = 'purchase.purchase'
|
__name__ = 'purchase.purchase'
|
||||||
|
|
||||||
btb = fields.Many2One('back.to.back',"Back to back")
|
btb = fields.Many2One('back.to.back',"Back to back")
|
||||||
|
bank_accounts = fields.Function(
|
||||||
|
fields.Many2Many('bank.account', None, None, "Bank Accounts"),
|
||||||
|
'on_change_with_bank_accounts')
|
||||||
|
bank_account = fields.Many2One(
|
||||||
|
'bank.account', "Bank Account",
|
||||||
|
domain=[('id', 'in', Eval('bank_accounts', []))],
|
||||||
|
depends=['bank_accounts'])
|
||||||
from_location = fields.Many2One('stock.location', 'From location', required=True,domain=[('type', "!=", 'customer')])
|
from_location = fields.Many2One('stock.location', 'From location', required=True,domain=[('type', "!=", 'customer')])
|
||||||
to_location = fields.Many2One('stock.location', 'To location', required=True,domain=[('type', "!=", 'supplier')])
|
to_location = fields.Many2One('stock.location', 'To location', required=True,domain=[('type', "!=", 'supplier')])
|
||||||
shipment_in = fields.Many2One('stock.shipment.in','Purchases')
|
shipment_in = fields.Many2One('stock.shipment.in','Purchases')
|
||||||
@@ -292,6 +299,25 @@ class Purchase(metaclass=PoolMeta):
|
|||||||
def get_company_info(self,name):
|
def get_company_info(self,name):
|
||||||
return (self.company.party.name == 'MELYA')
|
return (self.company.party.name == 'MELYA')
|
||||||
|
|
||||||
|
@fields.depends('party', '_parent_party.bank_accounts')
|
||||||
|
def on_change_with_bank_accounts(self, name=None):
|
||||||
|
if self.party and self.party.bank_accounts:
|
||||||
|
return [account.id for account in self.party.bank_accounts]
|
||||||
|
return []
|
||||||
|
|
||||||
|
@fields.depends(
|
||||||
|
'company', 'party', 'invoice_party', 'payment_term', 'lines',
|
||||||
|
'bank_account', '_parent_party.bank_accounts')
|
||||||
|
def on_change_party(self):
|
||||||
|
super().on_change_party()
|
||||||
|
if self.party and self.party.bank_accounts:
|
||||||
|
party_bank_accounts = list(self.party.bank_accounts)
|
||||||
|
if (not self.bank_account
|
||||||
|
or self.bank_account not in party_bank_accounts):
|
||||||
|
self.bank_account = party_bank_accounts[0]
|
||||||
|
else:
|
||||||
|
self.bank_account = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default_wb(cls):
|
def default_wb(cls):
|
||||||
WB = Pool().get('purchase.weight.basis')
|
WB = Pool().get('purchase.weight.basis')
|
||||||
|
|||||||
@@ -79,4 +79,8 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<field name="analytic_dimensions" colspan="4"/>
|
<field name="analytic_dimensions" colspan="4"/>
|
||||||
</page>
|
</page>
|
||||||
</xpath>
|
</xpath>
|
||||||
</data>
|
<xpath expr="/form/notebook/page[@id='info']/label[@name='invoice_party']" position="before">
|
||||||
|
<label name="bank_account"/>
|
||||||
|
<field name="bank_account"/>
|
||||||
|
</xpath>
|
||||||
|
</data>
|
||||||
|
|||||||
Reference in New Issue
Block a user