debug: catch generar_factura_venta exceptions in preview, expose in response
Instead of crashing with 500, catches the error and exposes it in ventas_gen_errors field so it can be diagnosed from the browser. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
29ab01e729
commit
c463c6ecc3
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user