merge
This commit is contained in:
commit
73e359f0b0
36
aeat.py
36
aeat.py
|
@ -15,12 +15,15 @@ from datetime import datetime
|
|||
|
||||
from pyAEATsii import service
|
||||
from pyAEATsii import mapping
|
||||
from pyAEATsii import callback_utils
|
||||
|
||||
from trytond.model import ModelSQL, ModelView, fields, Workflow
|
||||
from trytond.model import ModelSQL, ModelView, Model, fields, Workflow
|
||||
from trytond.pyson import Eval
|
||||
from trytond.pool import Pool
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
__all__ = ['SIIReport', 'SIIReportLine',
|
||||
'IssuedTrytonInvoiceMapper', 'RecievedTrytonInvoiceMapper']
|
||||
|
||||
_logger = getLogger(__name__)
|
||||
_ZERO = Decimal('0.0')
|
||||
|
@ -41,7 +44,7 @@ def _datetime(x):
|
|||
COMMUNICATION_TYPE = [ # L0
|
||||
('A0', 'New Invoices'),
|
||||
('A1', 'Modify Invoices'),
|
||||
# ('A4', 'Modify (Travelers)'), # Not suported
|
||||
# ('A4', 'Modify (Travelers)'), Not suported
|
||||
('C0', 'Query Invoices'), # Not in L0
|
||||
('D0', 'Delete Invoices'), # Not In L0
|
||||
]
|
||||
|
@ -262,24 +265,20 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
'required': Eval('state').in_(['confirmed', 'done']),
|
||||
'readonly': ~Eval('state').in_(['draft', 'confirmed']),
|
||||
}, depends=['state'])
|
||||
|
||||
period = fields.Many2One('account.period', 'Period', required=True,
|
||||
domain=[('fiscalyear', '=', Eval('fiscalyear'))],
|
||||
states={
|
||||
'readonly': Eval('state') != 'draft',
|
||||
}, depends=['state', 'fiscalyear'])
|
||||
|
||||
operation_type = fields.Selection(COMMUNICATION_TYPE, 'Operation Type',
|
||||
required=True,
|
||||
states={
|
||||
'readonly': ~Eval('state').in_(['draft', 'confirmed']),
|
||||
}, depends=['state'])
|
||||
|
||||
book = fields.Selection(BOOK_KEY, 'Book', required=True,
|
||||
states={
|
||||
'readonly': ~Eval('state').in_(['draft', 'confirmed']),
|
||||
}, depends=['state'])
|
||||
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('confirmed', 'Confirmed'),
|
||||
|
@ -290,21 +289,18 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
|
||||
communication_state = fields.Selection(AEAT_COMMUNICATION_STATE,
|
||||
'Communication State', readonly=True)
|
||||
|
||||
csv = fields.Char(
|
||||
'CSV', readonly=True
|
||||
)
|
||||
|
||||
csv = fields.Char('CSV', readonly=True)
|
||||
version = fields.Selection([
|
||||
('0.7', '0.7'),
|
||||
], 'Version', required=True, states={
|
||||
}, depends=['state'])
|
||||
|
||||
lines = fields.One2Many('aeat.sii.report.lines', 'report',
|
||||
'Lines', states={
|
||||
'readonly': Eval('state') != 'draft',
|
||||
}, depends=['state'])
|
||||
|
||||
send_date = fields.DateTime('Send date', readonly=True,
|
||||
states={'invisible': Eval('state') != 'sent'},
|
||||
depends=['state'])
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
|
@ -332,7 +328,6 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
Eval('operation_type').in_(['A0', 'A1'])),
|
||||
}
|
||||
})
|
||||
|
||||
cls._transitions |= set((
|
||||
('draft', 'confirmed'),
|
||||
('draft', 'cancelled'),
|
||||
|
@ -342,10 +337,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
('cancelled', 'draft'),
|
||||
))
|
||||
|
||||
|
||||
@staticmethod
|
||||
def default_company():
|
||||
|
||||
return Transaction().context.get('company')
|
||||
|
||||
@fields.depends('company')
|
||||
|
@ -379,6 +372,8 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
else:
|
||||
default = default.copy()
|
||||
default['communication_state'] = None
|
||||
default['csv'] = None
|
||||
default['send_date'] = None
|
||||
return super(SIIReport, cls).copy(records, default=default)
|
||||
|
||||
@classmethod
|
||||
|
@ -418,6 +413,9 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
raise NotImplementedError
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
cls.write(reports, {
|
||||
'send_date': datetime.now()})
|
||||
_logger.debug('Done sending reports to AEAT SII')
|
||||
|
||||
@classmethod
|
||||
|
@ -588,7 +586,7 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
_logger.info('Sending report %s to AEAT SII', self.id)
|
||||
headers = mapping.get_headers(
|
||||
name=self.company.party.name,
|
||||
vat=self.company.party.sii_vat_code,
|
||||
vat=self.company_vat,
|
||||
comm_kind=self.operation_type)
|
||||
pool = Pool()
|
||||
mapper = pool.get('aeat.sii.recieved.invoice.mapper')(pool=pool)
|
||||
|
@ -615,7 +613,7 @@ class SIIReport(Workflow, ModelSQL, ModelView):
|
|||
def delete_recieved_invoices(self):
|
||||
headers = mapping.get_headers(
|
||||
name=self.company.party.name,
|
||||
vat=self.company.party.sii_vat_code,
|
||||
vat=self.company_vat,
|
||||
comm_kind=self.operation_type)
|
||||
pool = Pool()
|
||||
mapper = pool.get('aeat.sii.recieved.invoice.mapper')(pool=pool)
|
||||
|
@ -765,6 +763,8 @@ class SIIReportLine(ModelSQL, ModelView):
|
|||
def get_identifier_type(self, name):
|
||||
return self.invoice.party.identifier_type
|
||||
|
||||
|
||||
|
||||
@staticmethod
|
||||
def default_company():
|
||||
return Transaction().context.get('company')
|
||||
|
|
1806
aeatsii.xml
1806
aeatsii.xml
File diff suppressed because it is too large
Load Diff
|
@ -122,6 +122,10 @@ msgctxt "field:aeat.sii.report,period:"
|
|||
msgid "Period"
|
||||
msgstr "Período"
|
||||
|
||||
msgctxt "field:aeat.sii.report,send_date:"
|
||||
msgid "Send date"
|
||||
msgstr "Fecha de envío"
|
||||
|
||||
msgctxt "field:aeat.sii.report,rec_name:"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
<field name="fiscalyear"/>
|
||||
<label name="period"/>
|
||||
<field name="period"/>
|
||||
<label name="send_date"/>
|
||||
<field name="send_date"/>
|
||||
<button string="Load Invoices" name="load_invoices" colspan="2"/>
|
||||
|
||||
<field name="lines" colspan="6"
|
||||
|
|
|
@ -11,5 +11,6 @@
|
|||
<field name="operation_type"/>
|
||||
<field name="version"/>
|
||||
<field name="state"/>
|
||||
<field name="send_date" widget="date"/>
|
||||
<field name="communication_state"/>
|
||||
</tree>
|
||||
|
|
Loading…
Reference in New Issue