15.02.26
This commit is contained in:
@@ -155,12 +155,10 @@ class PaymentTermLine(sequence_ordered(), ModelSQL, ModelView):
|
||||
self.ratio = self.round(1 / self.divisor,
|
||||
self.__class__.ratio.digits[1])
|
||||
|
||||
def get_date(self, date, purchase_line = None):
|
||||
def get_date(self, date, line = None):
|
||||
#find date based on trigger:
|
||||
if purchase_line and self.trigger_event:
|
||||
PurchaseLine = Pool().get('purchase.line')
|
||||
purchase_line = PurchaseLine(purchase_line)
|
||||
trigger_date = purchase_line.get_date(self.trigger_event)
|
||||
if line and self.trigger_event:
|
||||
trigger_date = line.get_date(self.trigger_event)
|
||||
if trigger_date:
|
||||
date = trigger_date
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ class Fee(ModelSQL,ModelView):
|
||||
('lumpsum', 'Lump sum'),
|
||||
('perqt', 'Per qt'),
|
||||
('pprice', '% price'),
|
||||
('rate', '% Mth'),
|
||||
('rate', '% rate'),
|
||||
('pcost', '% cost price'),
|
||||
('ppack', 'Per packing'),
|
||||
], 'Mode', required=True)
|
||||
@@ -318,32 +318,34 @@ class Fee(ModelSQL,ModelView):
|
||||
#take period with estimated trigger date
|
||||
if self.line:
|
||||
if self.line.purchase.payment_term:
|
||||
est_date = self.line.purchase.payment_term.get_date()
|
||||
beg_date = self.fee_date if self.fee_date else Date.today()
|
||||
factor = InterestCalculator.calculate(
|
||||
start_date=beg_date,
|
||||
end_date=est_date,
|
||||
rate=self.price,
|
||||
rate_type='annual',
|
||||
convention='ACT/360',
|
||||
compounding='simple'
|
||||
)
|
||||
est_date = self.line.purchase.payment_term[0].get_date(beg_date)
|
||||
if est_date and beg_date:
|
||||
factor = InterestCalculator.calculate(
|
||||
start_date=beg_date,
|
||||
end_date=est_date,
|
||||
rate=self.price,
|
||||
rate_type='annual',
|
||||
convention='ACT/360',
|
||||
compounding='simple'
|
||||
)
|
||||
|
||||
return round(factor * self.line.unit_price * (self.quantity if self.quantity else 0) * sign,2)
|
||||
return round(factor * self.line.unit_price * (self.quantity if self.quantity else 0) * sign,2)
|
||||
if self.sale_line:
|
||||
if self.sale_line.sale.payment_term:
|
||||
est_date = self.sale_line.sale.payment_term.get_date()
|
||||
beg_date = self.fee_date if self.fee_date else Date.today()
|
||||
factor = InterestCalculator.calculate(
|
||||
start_date=beg_date,
|
||||
end_date=est_date,
|
||||
rate=self.price,
|
||||
rate_type='annual',
|
||||
convention='ACT/360',
|
||||
compounding='simple'
|
||||
)
|
||||
est_date = self.sale_line.sale.payment_term.get_date(beg_date)
|
||||
if est_date and beg_date:
|
||||
factor = InterestCalculator.calculate(
|
||||
start_date=beg_date,
|
||||
end_date=est_date,
|
||||
rate=self.price,
|
||||
rate_type='annual',
|
||||
convention='ACT/360',
|
||||
compounding='simple'
|
||||
)
|
||||
|
||||
return round(factor * self.sale_line.unit_price * (self.quantity if self.quantity else 0) * sign,2)
|
||||
return round(factor * self.sale_line.unit_price * (self.quantity if self.quantity else 0) * sign,2)
|
||||
|
||||
elif self.mode == 'perqt':
|
||||
if self.shipment_in:
|
||||
|
||||
@@ -460,10 +460,12 @@ class SaleLine(metaclass=PoolMeta):
|
||||
LotQt = Pool().get('lot.qt')
|
||||
return LotQt.search([('lot_s','=',self.lots[0].id),('lot_p','>',0)])
|
||||
|
||||
# @fields.depends('quantity')
|
||||
# def on_change_with_quantity_theorical(self):
|
||||
# if not self.quantity_theorical:
|
||||
# return self.quantity
|
||||
def get_date(self,trigger_event):
|
||||
date = None
|
||||
if self.estimated_date:
|
||||
trigger_date = [d.estimated_date for d in self.estimated_date if d.trigger == trigger_event]
|
||||
trigger_date = trigger_date[0] if trigger_date else None
|
||||
return date
|
||||
|
||||
def get_tol_min(self,name):
|
||||
if self.inherit_tol:
|
||||
|
||||
@@ -76,10 +76,10 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<page string="Summary" col="4" id="summary">
|
||||
<field name="price_summary" />
|
||||
</page>
|
||||
<page string="Estimated dates" col="4" id="estimated">
|
||||
<field name="estimated_date" />
|
||||
</page>
|
||||
</notebook>
|
||||
</page>
|
||||
<page string="Estimated dates" col="4" id="estimated">
|
||||
<field name="estimated_date" />
|
||||
</page>
|
||||
</xpath>
|
||||
</data>
|
||||
Reference in New Issue
Block a user