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
|
grupos_vta[k] = v
|
||||||
|
|
||||||
ventas_preview = []
|
ventas_preview = []
|
||||||
|
ventas_gen_errors = []
|
||||||
for num_fac_key, grupo_rows in grupos_vta.items():
|
for num_fac_key, grupo_rows in grupos_vta.items():
|
||||||
num_fac = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
|
num_fac = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
|
||||||
prefijo = str(grupo_rows[0].get("PREFIJO") or "").strip()
|
prefijo = str(grupo_rows[0].get("PREFIJO") or "").strip()
|
||||||
venta_json = generar_factura_venta(grupo_rows, default_vendedor="00",
|
try:
|
||||||
default_prefijo=prefijo_def, numero_override=num_fac)
|
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({
|
ventas_preview.append({
|
||||||
"factura": f"{prefijo}-{num_fac}",
|
"factura": f"{prefijo}-{num_fac}",
|
||||||
"paciente": str(grupo_rows[0].get("COD_PACIENTE", "")),
|
"paciente": str(grupo_rows[0].get("COD_PACIENTE", "")),
|
||||||
@@ -501,6 +508,7 @@ async def preview_automation(
|
|||||||
"ventas_raw": len(rows_vta or []),
|
"ventas_raw": len(rows_vta or []),
|
||||||
"ventas_grupos_total": len(grupos_vta_all),
|
"ventas_grupos_total": len(grupos_vta_all),
|
||||||
"ventas_filtradas": ventas_debug,
|
"ventas_filtradas": ventas_debug,
|
||||||
|
"ventas_gen_errors": ventas_gen_errors,
|
||||||
"pacientes_preview": pacientes_preview,
|
"pacientes_preview": pacientes_preview,
|
||||||
"preservicios_preview": preservicios_preview,
|
"preservicios_preview": preservicios_preview,
|
||||||
"ventas_preview": ventas_preview,
|
"ventas_preview": ventas_preview,
|
||||||
|
|||||||
Reference in New Issue
Block a user