diff --git a/app/routes/automation.py b/app/routes/automation.py index 6178c52..054eef9 100644 --- a/app/routes/automation.py +++ b/app/routes/automation.py @@ -475,11 +475,18 @@ async def preview_automation( grupos_vta[k] = v ventas_preview = [] + ventas_gen_errors = [] for num_fac_key, grupo_rows in grupos_vta.items(): num_fac = str(grupo_rows[0].get("NUM_FACTURA") or "").strip() prefijo = str(grupo_rows[0].get("PREFIJO") or "").strip() - venta_json = generar_factura_venta(grupo_rows, default_vendedor="00", - default_prefijo=prefijo_def, numero_override=num_fac) + try: + venta_json = generar_factura_venta(grupo_rows, default_vendedor="00", + default_prefijo=prefijo_def, numero_override=num_fac) + except Exception as exc: + import traceback as _tb + ventas_gen_errors.append({"factura": num_fac, "error": str(exc), + "traceback": _tb.format_exc()}) + continue ventas_preview.append({ "factura": f"{prefijo}-{num_fac}", "paciente": str(grupo_rows[0].get("COD_PACIENTE", "")), @@ -501,6 +508,7 @@ async def preview_automation( "ventas_raw": len(rows_vta or []), "ventas_grupos_total": len(grupos_vta_all), "ventas_filtradas": ventas_debug, + "ventas_gen_errors": ventas_gen_errors, "pacientes_preview": pacientes_preview, "preservicios_preview": preservicios_preview, "ventas_preview": ventas_preview,