se mueve asignacion de ProfileID a objetos de factura
FossilOrigin-Name: 495e73349c8479f846c628397eea242912b982b83c4a294d8682b35c762f61f2
This commit is contained in:
parent
b00eadb9e5
commit
2171da658a
@ -122,8 +122,7 @@ class DianXMLExtensionCUDFE(FachoXMLExtension):
|
||||
fachoxml.set_element('./cbc:UUID', cufe,
|
||||
schemeID=self.tipo_ambiente,
|
||||
schemeName=self.schemeName())
|
||||
#DIAN 1.8.-2021: FAD03
|
||||
fachoxml.set_element('./cbc:ProfileID', 'DIAN 2.1: Factura Electrónica de Venta')
|
||||
|
||||
fachoxml.set_element('./cbc:ProfileExecutionID', self._tipo_ambiente_int())
|
||||
#DIAN 1.7.-2020: FAB36
|
||||
fachoxml.set_element('./ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/sts:DianExtensions/sts:QRCode',
|
||||
|
@ -18,3 +18,6 @@ class DIANCreditNoteXML(DIANInvoiceXML):
|
||||
|
||||
def tag_document_concilied(fexml):
|
||||
return 'Credited'
|
||||
|
||||
def post_attach_invoice(fexml, invoice):
|
||||
fexml.set_element('./cbc:ProfileID', 'DIAN 2.1: Nota Crédito de Factura Electrónica de Venta')
|
||||
|
@ -13,6 +13,9 @@ class DIANDebitNoteXML(DIANInvoiceXML):
|
||||
def __init__(self, invoice):
|
||||
super().__init__(invoice, 'DebitNote')
|
||||
|
||||
def post_attach_invoice(fexml, invoice):
|
||||
fexml.set_element('./cbc:ProfileID', 'DIAN 2.1 Nota Débito de Factura Electrónica de Venta')
|
||||
|
||||
def tag_document(fexml):
|
||||
return 'DebitNote'
|
||||
|
||||
|
@ -21,6 +21,7 @@ class DIANInvoiceXML(fe.FeXML):
|
||||
ublextension = self.fragment('./ext:UBLExtensions/ext:UBLExtension', append=True)
|
||||
extcontent = ublextension.find_or_create_element('/ext:UBLExtension/ext:ExtensionContent')
|
||||
self.attach_invoice(invoice)
|
||||
self.post_attach_invoice(invoice)
|
||||
|
||||
def set_supplier(fexml, invoice):
|
||||
fexml.placeholder_for('./cac:AccountingSupplierParty')
|
||||
@ -415,7 +416,6 @@ class DIANInvoiceXML(fe.FeXML):
|
||||
return fexml._set_debit_note_document_reference(reference)
|
||||
if isinstance(reference, CreditNoteDocumentReference):
|
||||
return fexml._set_credit_note_document_reference(reference)
|
||||
|
||||
if isinstance(reference, InvoiceDocumentReference):
|
||||
return fexml._set_invoice_document_reference(reference)
|
||||
|
||||
@ -566,7 +566,11 @@ class DIANInvoiceXML(fe.FeXML):
|
||||
line.set_element('./cbc:MultiplierFactorNumeric', str(round(charge.multiplier_factor_numeric, 2)))
|
||||
fexml.set_element_amount_for(line, './cbc:Amount', charge.amount)
|
||||
fexml.set_element_amount_for(line, './cbc:BaseAmount', charge.base_amount)
|
||||
|
||||
|
||||
def post_attach_invoice(fexml, invoice):
|
||||
#DIAN 1.8.-2021: FAD03
|
||||
fexml.set_element('./cbc:ProfileID', 'DIAN 2.1: Factura Electrónica de Venta')
|
||||
|
||||
def attach_invoice(fexml, invoice):
|
||||
"""adiciona etiquetas a FEXML y retorna FEXML
|
||||
en caso de fallar validacion retorna None"""
|
||||
|
@ -33,7 +33,24 @@ def test_invoicesimple_build_with_cufe(simple_invoice):
|
||||
cufe = xml.get_element_text('/fe:Invoice/cbc:UUID')
|
||||
assert cufe != ''
|
||||
|
||||
def test_invoice_profile_id(simple_invoice):
|
||||
xml = DIANInvoiceXML(simple_invoice)
|
||||
cufe_extension = fe.DianXMLExtensionCUFE(simple_invoice)
|
||||
xml.add_extension(cufe_extension)
|
||||
assert xml.get_element_text('/fe:Invoice/cbc:ProfileID') == 'DIAN 2.1: Factura Electrónica de Venta'
|
||||
|
||||
def test_debit_note_profile_id(simple_invoice):
|
||||
xml = DIANDebitNoteXML(simple_invoice)
|
||||
cufe_extension = fe.DianXMLExtensionCUFE(simple_invoice)
|
||||
xml.add_extension(cufe_extension)
|
||||
assert xml.get_element_text('/fe:DebitNote/cbc:ProfileID') == 'DIAN 2.1 Nota Débito de Factura Electrónica de Venta'
|
||||
|
||||
def test_credit_note_profile_id(simple_invoice):
|
||||
xml = DIANCreditNoteXML(simple_invoice)
|
||||
cufe_extension = fe.DianXMLExtensionCUFE(simple_invoice)
|
||||
xml.add_extension(cufe_extension)
|
||||
assert xml.get_element_text('/fe:CreditNote/cbc:ProfileID') == 'DIAN 2.1: Nota Crédito de Factura Electrónica de Venta'
|
||||
|
||||
def test_invoicesimple_xml_signed(monkeypatch, simple_invoice):
|
||||
xml = DIANInvoiceXML(simple_invoice)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user