se adiciona DevengadoHorasExtrasDiarias
FossilOrigin-Name: c544c4bb273c7f548f7cb5d4466af9975bb7f5a35e4bd38a22fbdeae39acea4c
This commit is contained in:
		| @@ -441,6 +441,14 @@ class DIANNominaXML: | |||||||
|  |  | ||||||
|         return errors |         return errors | ||||||
|  |  | ||||||
|  |     def informacion_general(self): | ||||||
|  |         xpath = self.root_fragment.xpath_from_root('/InformacionGeneral') | ||||||
|  |         return { | ||||||
|  |             'cune': self.fexml.get_element_attribute(cune_xpath, 'CUNE'), | ||||||
|  |             'fecha_generacion': self.fexml.get_element_attribute(xpath, 'FechaGen'), | ||||||
|  |             'numero': self.fexml.get_element_attribute(self.root_fragment('/NumeroSecuenciaXML', 'Numero')) | ||||||
|  |         } | ||||||
|  |  | ||||||
|     def toFachoXML(self): |     def toFachoXML(self): | ||||||
|         self._devengados_total() |         self._devengados_total() | ||||||
|         self._deducciones_total() |         self._deducciones_total() | ||||||
|   | |||||||
| @@ -2,9 +2,12 @@ | |||||||
| from .basico import * | from .basico import * | ||||||
| from .transporte import * | from .transporte import * | ||||||
| from .devengado import * | from .devengado import * | ||||||
|  | from .horas_extras import * | ||||||
|  |  | ||||||
| __all__ = [ | __all__ = [ | ||||||
|     'Devengado', |     'Devengado', | ||||||
|     'DevengadoBasico', |     'DevengadoBasico', | ||||||
|     'DevengadoTransporte' |     'DevengadoTransporte', | ||||||
|  |     'DevengadoHorasExtrasDiarias', | ||||||
|  |     'DevengadoHoraExtra' | ||||||
| ] | ] | ||||||
|   | |||||||
| @@ -141,7 +141,8 @@ def test_nomina_xml(): | |||||||
|             nit='999999', |             nit='999999', | ||||||
|             dv=2, |             dv=2, | ||||||
|             software_id='xx', |             software_id='xx', | ||||||
|             software_pin='12' |             software_pin='12', | ||||||
|  |             razon_social='facho' | ||||||
|         ) |         ) | ||||||
|     )) |     )) | ||||||
|  |  | ||||||
| @@ -155,6 +156,7 @@ def test_nomina_xml(): | |||||||
|     )) |     )) | ||||||
|  |  | ||||||
|     nomina.asignar_empleador(fe.nomina.Empleador( |     nomina.asignar_empleador(fe.nomina.Empleador( | ||||||
|  |         razon_social='facho', | ||||||
|         nit = '700085371', |         nit = '700085371', | ||||||
|         dv = '1', |         dv = '1', | ||||||
|         pais = fe.nomina.Pais( |         pais = fe.nomina.Pais( | ||||||
| @@ -349,6 +351,41 @@ def test_adicionar_eliminar_asignar_predecesor(): | |||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@CUNEPred') == 'ABC123456' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@CUNEPred') == 'ABC123456' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@FechaGenPred') == '2021-11-16' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividualDeAjuste/Eliminar/EliminandoPredecesor/@FechaGenPred') == '2021-11-16' | ||||||
|  |  | ||||||
|  | def test_nomina_devengado_horas_extras_diarias(): | ||||||
|  |     nomina = fe.nomina.DIANNominaIndividual() | ||||||
|  |  | ||||||
|  |     nomina.adicionar_devengado(fe.nomina.DevengadoHorasExtrasDiarias( | ||||||
|  |         horas_extras=[ | ||||||
|  |             fe.nomina.DevengadoHoraExtra( | ||||||
|  |                 hora_inicio='2021-11-30T19:09:55', | ||||||
|  |                 hora_fin='2021-11-30T20:09:55', | ||||||
|  |                 cantidad=1, | ||||||
|  |                 porcentaje=fe.nomina.Amount(1), | ||||||
|  |                 pago=fe.nomina.Amount(100) | ||||||
|  |             ), | ||||||
|  |             fe.nomina.DevengadoHoraExtra( | ||||||
|  |                 hora_inicio='2021-11-30T18:09:55', | ||||||
|  |                 hora_fin='2021-11-30T19:09:55', | ||||||
|  |                 cantidad=2, | ||||||
|  |                 porcentaje=fe.nomina.Amount(2), | ||||||
|  |                 pago=fe.nomina.Amount(200) | ||||||
|  |             ) | ||||||
|  |         ] | ||||||
|  |     )) | ||||||
|  |  | ||||||
|  |     xml = nomina.toFachoXML() | ||||||
|  |     extras = xml.get_element('/fe:NominaIndividual/Devengados/HEDs/HED', multiple=True) | ||||||
|  |     assert extras[0].get('HoraInicio') == '2021-11-30T19:09:55' | ||||||
|  |     assert extras[0].get('HoraFin') == '2021-11-30T20:09:55' | ||||||
|  |     assert extras[0].get('Cantidad') == '1' | ||||||
|  |     assert extras[0].get('Porcentaje') == '1.0' | ||||||
|  |     assert extras[0].get('Pago') == '100.00' | ||||||
|  |     assert extras[1].get('HoraInicio') == '2021-11-30T18:09:55' | ||||||
|  |     assert extras[1].get('HoraFin') == '2021-11-30T19:09:55' | ||||||
|  |     assert extras[1].get('Cantidad') == '2' | ||||||
|  |     assert extras[1].get('Porcentaje') == '2.0' | ||||||
|  |     assert extras[1].get('Pago') == '200.00' | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_fecha_validacion(): | def test_fecha_validacion(): | ||||||
|     with pytest.raises(ValueError) as e: |     with pytest.raises(ValueError) as e: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user