se extrae issue_date/issue_time a DianXMLExtensionCUFE

FossilOrigin-Name: b8359ab0ec70de2298980189453dbec3fbdee8c9658e113bd7c5babf5cab8ebe
This commit is contained in:
bit4bit@riseup.net 2020-05-28 14:44:10 +00:00
parent 52632babb2
commit 04174317eb
3 changed files with 12 additions and 13 deletions

View File

@ -58,10 +58,15 @@ class DianXMLExtensionCUFE(FachoXMLExtension):
fachoxml.set_element('/fe:Invoice/cbc:ProfileExecutionID', self._tipo_ambiente()) fachoxml.set_element('/fe:Invoice/cbc:ProfileExecutionID', self._tipo_ambiente())
return '', [] return '', []
def issue_time(self, datetime_):
return datetime_.strftime('%H:%M:%S%z')
def issue_date(self, datetime_):
return datetime_.strftime('%Y-%m-%d')
def _generate_cufe(self, invoice, fachoxml): def _generate_cufe(self, invoice, fachoxml):
NumFac = invoice.invoice_ident NumFac = invoice.invoice_ident
FecFac = fachoxml.issue_date(invoice.invoice_issue) FecFac = self.issue_date(invoice.invoice_issue)
HoraFac = fachoxml.issue_time(invoice.invoice_issue) HoraFac = self.issue_time(invoice.invoice_issue)
ValorBruto = invoice.invoice_legal_monetary_total.line_extension_amount ValorBruto = invoice.invoice_legal_monetary_total.line_extension_amount
ValorTotalPagar = invoice.invoice_legal_monetary_total.payable_amount ValorTotalPagar = invoice.invoice_legal_monetary_total.payable_amount
ValorImpuestoPara = {} ValorImpuestoPara = {}

View File

@ -182,8 +182,8 @@ class DIANInvoiceXML(fe.FeXML):
invoice.calculate() invoice.calculate()
fexml.set_element('/fe:Invoice/cbc:ID', invoice.invoice_ident) fexml.set_element('/fe:Invoice/cbc:ID', invoice.invoice_ident)
fexml.set_element('/fe:Invoice/cbc:IssueDate', self.issue_date(invoice.invoice_issue)) fexml.set_element('/fe:Invoice/cbc:IssueDate', invoice.invoice_issue.strftime('%Y-%m-%d'))
fexml.set_element('/fe:Invoice/cbc:IssueTime', self.issue_time(invoice.invoice_issue)) fexml.set_element('/fe:Invoice/cbc:IssueTime', invoice.invoice_issue.strftime('%H:%M:%S%z'))
fexml.set_element('/fe:Invoice/cac:InvoicePeriod/cbc:StartDate', invoice.invoice_period_start.strftime('%Y-%m-%d')) fexml.set_element('/fe:Invoice/cac:InvoicePeriod/cbc:StartDate', invoice.invoice_period_start.strftime('%Y-%m-%d'))
fexml.set_element('/fe:Invoice/cac:InvoicePeriod/cbc:EndDate', invoice.invoice_period_end.strftime('%Y-%m-%d')) fexml.set_element('/fe:Invoice/cac:InvoicePeriod/cbc:EndDate', invoice.invoice_period_end.strftime('%Y-%m-%d'))
@ -248,9 +248,3 @@ class DIANInvoiceXML(fe.FeXML):
return fexml return fexml
def issue_time(self, datetime_):
return datetime_.strftime('%H:%M:%S%z')
def issue_date(self, datetime_):
return datetime_.strftime('%Y-%m-%d')

View File

@ -190,15 +190,15 @@ def test_invoice_cufe(simple_invoice_without_lines):
)]) )])
)) ))
class FakeDIANInvoiceXML(form.DIANInvoiceXML): class FakeDianXMLExtensionCUFE(fe.DianXMLExtensionCUFE):
def issue_time(self, datetime_): def issue_time(self, datetime_):
return '10:53:10-05:00' return '10:53:10-05:00'
def issue_date(self, datetime_): def issue_date(self, datetime_):
return '2019-01-16' return '2019-01-16'
xml_invoice = FakeDIANInvoiceXML(simple_invoice) xml_invoice = form.DIANInvoiceXML(simple_invoice)
cufe_extension = fe.DianXMLExtensionCUFE( cufe_extension = FakeDianXMLExtensionCUFE(
simple_invoice, simple_invoice,
tipo_ambiente = fe.DianXMLExtensionCUFE.AMBIENTE_PRODUCCION, tipo_ambiente = fe.DianXMLExtensionCUFE.AMBIENTE_PRODUCCION,
clave_tecnica = '693ff6f2a553c3646a063436fd4dd9ded0311471' clave_tecnica = '693ff6f2a553c3646a063436fd4dd9ded0311471'