25.03.26
This commit is contained in:
@@ -214,12 +214,19 @@ class Lot(metaclass=PoolMeta):
|
||||
if self.sale_line:
|
||||
return self.sale_line.sale.id
|
||||
|
||||
class Sale(metaclass=PoolMeta):
|
||||
__name__ = 'sale.sale'
|
||||
|
||||
btb = fields.Many2One('back.to.back',"Back to back")
|
||||
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')])
|
||||
class Sale(metaclass=PoolMeta):
|
||||
__name__ = 'sale.sale'
|
||||
|
||||
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')])
|
||||
to_location = fields.Many2One('stock.location', 'To location', required=True,domain=[('type', "!=", 'supplier')])
|
||||
shipment_out = fields.Many2One('stock.shipment.out','Sales')
|
||||
#pnl = fields.One2Many('valuation.valuation', 'sale', 'Pnl')
|
||||
pnl = fields.One2Many('valuation.valuation.dyn', 'r_sale', 'Pnl',states={'invisible': ~Eval('group_pnl'),})
|
||||
@@ -253,12 +260,31 @@ class Sale(metaclass=PoolMeta):
|
||||
lc_date = fields.Date("LC date")
|
||||
product_origin = fields.Char("Origin")
|
||||
|
||||
def get_company_info(self,name):
|
||||
return (self.company.party.name == 'MELYA')
|
||||
|
||||
@classmethod
|
||||
def default_wb(cls):
|
||||
WB = Pool().get('purchase.weight.basis')
|
||||
def get_company_info(self,name):
|
||||
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', 'shipment_party', 'warehouse',
|
||||
'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
|
||||
def default_wb(cls):
|
||||
WB = Pool().get('purchase.weight.basis')
|
||||
wb = WB.search(['id','>',0])
|
||||
if wb:
|
||||
return wb[0].id
|
||||
|
||||
@@ -92,4 +92,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<label name="incoterm_location"/>
|
||||
<field name="incoterm_location"/>
|
||||
</xpath>
|
||||
</data>
|
||||
<xpath expr="/form/notebook/page[@id='other']/label[@name='company']" position="before">
|
||||
<label name="bank_account"/>
|
||||
<field name="bank_account"/>
|
||||
</xpath>
|
||||
</data>
|
||||
|
||||
Reference in New Issue
Block a user