diff --git a/facho/fe/fe.py b/facho/fe/fe.py index b711156..64e05b7 100644 --- a/facho/fe/fe.py +++ b/facho/fe/fe.py @@ -90,11 +90,17 @@ class DianXMLExtensionCUDFE(FachoXMLExtension): def _tipo_ambiente(self): return int(self.tipo_ambiente) + def formatVars(self, invoice): + raise NotImplementedError() + + def schemeName(self): + raise NotImplementedError() + def build(self, fachoxml): cufe = self._generate_cufe(fachoxml) fachoxml.set_element('./cbc:UUID', cufe, schemeID=self.tipo_ambiente, - schemeName='CUFE-SHA384') + schemeName=self.schemeName()) fachoxml.set_element('./cbc:ProfileID', 'DIAN 2.1') fachoxml.set_element('./cbc:ProfileExecutionID', self._tipo_ambiente()) #DIAN 1.7.-2020: FAB36 @@ -133,10 +139,6 @@ class DianXMLExtensionCUDFE(FachoXMLExtension): return build_vars - - def formatVars(self, invoice): - raise NotImplementedError() - def _generate_cufe(self, fachoxml): formatVars = self.formatVars() cufe = "".join(formatVars) @@ -153,6 +155,9 @@ class DianXMLExtensionCUFE(DianXMLExtensionCUDFE): self.clave_tecnica = clave_tecnica self.invoice = invoice + def schemeName(self): + return 'CUFE-SHA384' + def buildVars(self): build_vars = super().buildVars() build_vars['ClTec'] = str(self.clave_tecnica) @@ -187,6 +192,9 @@ class DianXMLExtensionCUDE(DianXMLExtensionCUDFE): self.software_pin = software_pin self.invoice = invoice + def schemeName(self): + return 'CUDE-SHA384' + def buildVars(self): build_vars = super().buildVars() build_vars['Software-PIN'] = str(self.software_pin)