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())
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):
NumFac = invoice.invoice_ident
FecFac = fachoxml.issue_date(invoice.invoice_issue)
HoraFac = fachoxml.issue_time(invoice.invoice_issue)
FecFac = self.issue_date(invoice.invoice_issue)
HoraFac = self.issue_time(invoice.invoice_issue)
ValorBruto = invoice.invoice_legal_monetary_total.line_extension_amount
ValorTotalPagar = invoice.invoice_legal_monetary_total.payable_amount
ValorImpuestoPara = {}

View File

@ -182,8 +182,8 @@ class DIANInvoiceXML(fe.FeXML):
invoice.calculate()
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:IssueTime', self.issue_time(invoice.invoice_issue))
fexml.set_element('/fe:Invoice/cbc:IssueDate', invoice.invoice_issue.strftime('%Y-%m-%d'))
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:EndDate', invoice.invoice_period_end.strftime('%Y-%m-%d'))
@ -248,9 +248,3 @@ class DIANInvoiceXML(fe.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_):
return '10:53:10-05:00'
def issue_date(self, datetime_):
return '2019-01-16'
xml_invoice = FakeDIANInvoiceXML(simple_invoice)
xml_invoice = form.DIANInvoiceXML(simple_invoice)
cufe_extension = fe.DianXMLExtensionCUFE(
cufe_extension = FakeDianXMLExtensionCUFE(
simple_invoice,
tipo_ambiente = fe.DianXMLExtensionCUFE.AMBIENTE_PRODUCCION,
clave_tecnica = '693ff6f2a553c3646a063436fd4dd9ded0311471'