Fix
This commit is contained in:
parent
e0ae03deb0
commit
c0707bba8a
|
@ -18,24 +18,18 @@ STATES = {
|
|||
class DEX(Workflow, ModelSQL, ModelView):
|
||||
"DEX"
|
||||
__name__ = "exportation.dex"
|
||||
|
||||
_rec_name = 'number'
|
||||
number = fields.Char('Number', states=STATES)
|
||||
|
||||
issue_date = fields.Date('Issue Date', required=True, states=STATES)
|
||||
company = fields.Many2One('company.company', 'Company', required=True,
|
||||
states=STATES)
|
||||
# freight_forwader = fields.Many2One('party.party', 'Freight Forwader',
|
||||
# required=True, select=True)
|
||||
customer = fields.Many2One('party.party', 'Customer', select=True,
|
||||
states=STATES, required=True)
|
||||
|
||||
invoice = fields.Many2One('account.invoice', 'invoice', states=STATES, domain=[
|
||||
('party', '=', Eval('customer')),
|
||||
('company', '=', Eval('company')),
|
||||
])
|
||||
invoice_exchange_rate = fields.Float('Invoice Exchange Rate',
|
||||
digits=(16, 2))
|
||||
invoice_exchange_rate = fields.Float('Invoice Exchange Rate', digits=(16, 2))
|
||||
currency = fields.Many2One('currency.currency', 'Currency', states=STATES,
|
||||
required=True)
|
||||
invoiced_amount = fields.Numeric('Invoiced Amount', digits=(16, 2),
|
||||
|
@ -75,10 +69,10 @@ class DEX(Workflow, ModelSQL, ModelView):
|
|||
'invisible': True,
|
||||
},
|
||||
'refresh': {
|
||||
'invisible': Eval('state') == 'draft',
|
||||
'icon': 'tryton-refresh',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'invisible': Eval('state') == 'draft',
|
||||
'icon': 'tryton-refresh',
|
||||
'depends': ['state'],
|
||||
},
|
||||
})
|
||||
|
||||
@staticmethod
|
||||
|
@ -139,7 +133,7 @@ class DEX(Workflow, ModelSQL, ModelView):
|
|||
Currency = Pool().get('currency.currency')
|
||||
ctx = {'date': self.invoice.invoice_date}
|
||||
with Transaction().set_context(ctx):
|
||||
rates= Currency.get_rate([self.currency], name=None)
|
||||
rates = Currency.get_rate([self.currency], name=None)
|
||||
try:
|
||||
rate = round((1/rates[self.currency.id]), 2)
|
||||
except:
|
||||
|
@ -147,7 +141,6 @@ class DEX(Workflow, ModelSQL, ModelView):
|
|||
self.invoice_exchange_rate = float(rate)
|
||||
|
||||
def get_amounts(self, name):
|
||||
|
||||
amount_for_exchange = []
|
||||
amount_receivable = []
|
||||
if self.lines:
|
||||
|
@ -160,7 +153,7 @@ class DEX(Workflow, ModelSQL, ModelView):
|
|||
if name == 'amount_receivable':
|
||||
return (round(self.invoiced_amount - sum(amount_receivable), 2) if self.invoiced_amount else 0)
|
||||
else:
|
||||
return round(sum(amount_receivable) - sum(amount_for_exchange),2)
|
||||
return round(sum(amount_receivable) - sum(amount_for_exchange), 2)
|
||||
|
||||
def get_conversion_of_invoiced_amount(self, name=None):
|
||||
res = 0
|
||||
|
@ -168,15 +161,6 @@ class DEX(Workflow, ModelSQL, ModelView):
|
|||
res = self.invoiced_amount * Decimal(self.invoice_exchange_rate)
|
||||
return round(res, 2)
|
||||
|
||||
# @classmethod
|
||||
# def get_conversion_of_invoiced_amount(cls, records, name):
|
||||
# print('ingresa a este')
|
||||
# res = dict((x.id, Decimal(0)) for x in records)
|
||||
# for rec in records:
|
||||
# if rec.invoiced_amount and rec.invoice_exchange_rate:
|
||||
# res[rec.id] = rec.invoiced_amount * Decimal(rec.invoice_exchange_rate)
|
||||
# return res
|
||||
|
||||
|
||||
class DEXLine(ModelSQL, ModelView):
|
||||
"DEX Line"
|
||||
|
@ -235,7 +219,7 @@ class DEXLine(ModelSQL, ModelView):
|
|||
return res
|
||||
|
||||
def get_currency(self, name=None):
|
||||
currency=None
|
||||
currency = None
|
||||
if name == 'currency' and self.dex.currency:
|
||||
currency = self.dex.currency.id
|
||||
elif name == 'currency_company' and self.dex.company:
|
||||
|
@ -247,16 +231,15 @@ class ForeignExhangeTrading(Workflow, ModelSQL, ModelView):
|
|||
"Foreign Exhange Trading"
|
||||
__name__ = "foreign.exchange.trading"
|
||||
_rec_name = 'number'
|
||||
|
||||
bank = fields.Many2One('bank', 'Bank', required=True)
|
||||
company = fields.Many2One('company.company', 'Company', required=True,
|
||||
states=STATES)
|
||||
number = fields.Char('Number', states=STATES)
|
||||
exchange_date = fields.Date('Exchange Date')
|
||||
exchange_rate = fields.Float('Exchange Rate')
|
||||
total_exchange = fields.Function(fields.Numeric('Total Exchange', digits=(16,2)),
|
||||
'get_total_exchange')
|
||||
lines = fields.One2Many('foreign.exchange.trading_line', 'exchange', 'Lines')
|
||||
total_exchange = fields.Function(fields.Numeric('Total Exchange',
|
||||
digits=(16,2)), 'get_total_exchange')
|
||||
lines = fields.One2Many('foreign.exchange.trading_line', 'exchange', 'Lines')
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('confirmed', 'Confirmed'),
|
||||
|
@ -378,7 +361,6 @@ class ForeignExhangeTrading(Workflow, ModelSQL, ModelView):
|
|||
class ForeignExhangeTradingLine(ModelSQL, ModelView):
|
||||
"Foreign Exhange Trading Line"
|
||||
__name__ = "foreign.exchange.trading_line"
|
||||
|
||||
exchange = fields.Many2One('foreign.exchange.trading', 'Exchange',
|
||||
required=True)
|
||||
dex = fields.Many2One('exportation.dex', 'DEX', required=True)
|
||||
|
|
1
party.py
1
party.py
|
@ -20,6 +20,7 @@ class Company(metaclass=PoolMeta):
|
|||
class CustomsGlobal(ModelSQL, ModelView):
|
||||
'Party Customs Global'
|
||||
__name__ = 'party.customs_global'
|
||||
_rec_name = 'global_custom'
|
||||
party = fields.Many2One('party.party', 'Party', ondelete='CASCADE',
|
||||
required=True)
|
||||
export_target_city = fields.Many2One('party.city_code', 'Target City',
|
||||
|
|
Loading…
Reference in New Issue