se adiciona FachoXml.get_element_text_or_attribute

FossilOrigin-Name: 2179f4376613dda1e554a4f1304990f32185c1ec9bec6181d8a00e31a5ee5390
This commit is contained in:
bit4bit
2021-11-06 20:43:07 +00:00
parent 35e1c5b609
commit 8d17c282e3
4 changed files with 45 additions and 16 deletions

View File

@@ -66,22 +66,6 @@ class InformacionGeneral:
)
def post_apply(self, fexml, fragment):
devengados = map(lambda valor: Amount(valor),
[
fexml.get_element_attribute('/fe:NominaIndividual/Devengados/Basico', 'SueldoTrabajado')
]
)
devengados_total = Amount(0.0)
for devengado in devengados:
devengados_total += devengado
fexml.set_element('/fe:NominaIndividual/DevengadosTotal', round(devengados_total,2))
# TODO
fexml.set_element('/fe:NominaIndividual/DeduccionesTotal', '1000000.00')
# TODO
fexml.set_element('/fe:NominaIndividual/ComprobanteTotal', '2500000.00')
# generar cune
campos = [
fexml.get_element_attribute('/fe:NominaIndividual/NumeroSecuenciaXML', 'Numero'),
@@ -221,6 +205,32 @@ class DIANNominaIndividual:
def toFachoXML(self):
if self.informacion_general is not None:
#TODO(bit4bit) acoplamiento temporal
# es importante el orden de ejecucion
self._devengados_total()
self._deducciones_total()
self._comprobante_total()
self.informacion_general.post_apply(self.fexml, self.informacion_general_xml)
return self.fexml
def _comprobante_total(self):
# TODO
self.fexml.set_element('/fe:NominaIndividual/ComprobanteTotal', '2500000.00')
def _deducciones_total(self):
# TODO
self.fexml.set_element('/fe:NominaIndividual/DeduccionesTotal', '1000000.00')
def _devengados_total(self):
devengados = map(lambda valor: Amount(valor),
[
self.fexml.get_element_attribute('/fe:NominaIndividual/Devengados/Basico', 'SueldoTrabajado')
]
)
devengados_total = Amount(0.0)
for devengado in devengados:
devengados_total += devengado
self.fexml.set_element('/fe:NominaIndividual/DevengadosTotal', round(devengados_total,2))