From 090702adaf3337f94d3856a9d706ad096b07a64e Mon Sep 17 00:00:00 2001 From: ivannrnt Date: Wed, 30 Jul 2025 02:15:24 -0300 Subject: [PATCH] =?UTF-8?q?WS=5FSR=5FPADRON:=20Agrego=20M=C3=A9todo=20Obte?= =?UTF-8?q?nerCampoImpuesto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Método para obtener el detalle de un campo del impuesto. --- ws_sr_padron.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ws_sr_padron.py b/ws_sr_padron.py index 9903e20e7..3349d1871 100644 --- a/ws_sr_padron.py +++ b/ws_sr_padron.py @@ -314,8 +314,19 @@ def Consultar(self, id_persona): self.actividades = [act["idActividad"] for act in actividades] cat_mt = data_mt.get("categoriaMonotributo", {}) self.analizar_datos(cat_mt) + self.impuestos_detallados = impuestos + return not self.errores + + @inicializar_y_capturar_excepciones + def ObtenerCampoImpuesto(self, id_impuesto, campo): + "Devuelve el detalle de un campo del impuesto" + for impuesto in self.impuestos_detallados: + id_imp = impuesto.get("idImpuesto", "") + if id_impuesto == id_imp: + return impuesto.get(campo, "") + return "" def main(): "Función principal de pruebas (obtener CAE)" @@ -415,7 +426,7 @@ def main(): try: if "--prueba" in sys.argv: - id_persona = "20000000516" + id_persona = "20201731594" else: id_persona = len(sys.argv) > 1 and sys.argv[1] or "20267565393" @@ -443,6 +454,14 @@ def main(): print("MT", padron.monotributo, padron.actividad_monotributo) print("Empleador", padron.empleador) + #Agrego Impuestos Detallados + for id_impuesto in padron.impuestos: + print("Id Impuesto: ", id_impuesto) + print("Descripcion Impuesto: ", padron.ObtenerCampoImpuesto(id_impuesto, "descripcion")) + print("Motivo: ", padron.ObtenerCampoImpuesto(id_impuesto, "motivo")) + print("Estado Impuesto: ", padron.ObtenerCampoImpuesto(id_impuesto, "estadoImpuesto")) + print("Periodo: ", padron.ObtenerCampoImpuesto(id_impuesto, "periodo")) + if padron.Excepcion: print("Excepcion:", padron.Excepcion) # ver padron.errores para el detalle