Fix: Se implementa estrategía para CreditNote
This commit is contained in:
parent
95f16b2842
commit
9c126d961b
@ -184,6 +184,9 @@ class FachoXML:
|
||||
def root_namespace(self):
|
||||
return etree.QName(self.root).namespace
|
||||
|
||||
def root_localname(self):
|
||||
return etree.QName(self.root).localname
|
||||
|
||||
def append_element(self, elem, new_elem):
|
||||
# elem = self.find_or_create_element(xpath, append=append)
|
||||
# self.builder.append(elem, new_elem)
|
||||
|
@ -105,11 +105,16 @@ class FeXML(FachoXML):
|
||||
def tostring(self, **kw):
|
||||
# MACHETE(bit4bit) la DIAN espera que la etiqueta raiz no este en un namespace
|
||||
root_namespace = self.root_namespace()
|
||||
root_localname = self.root_localname()
|
||||
xmlns_name = {v: k for k, v in NAMESPACES.items()}[root_namespace]
|
||||
if root_localname == 'Invoice':
|
||||
urn_oasis = 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'
|
||||
if root_localname == 'CreditNote':
|
||||
urn_oasis = 'urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2'
|
||||
return super().tostring(**kw)\
|
||||
.replace(xmlns_name + ':', '')\
|
||||
.replace('xmlns:'+xmlns_name, 'xmlns')\
|
||||
.replace('http://www.dian.gov.co/contratos/facturaelectronica/v1', 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2')
|
||||
.replace(root_namespace, urn_oasis)
|
||||
|
||||
|
||||
class DianXMLExtensionCUDFE(FachoXMLExtension):
|
||||
|
Loading…
Reference in New Issue
Block a user