fix: reg_501 tolera NULL en Destino y CLAVETRANSFER
preparar_json del 501 reventaba (TypeError/AttributeError) cuando OPCIONDESTINO o CLAVETRANSFER venian NULL: get(k, "") no protege porque un NULL de BD llega como None y el default no aplica. Pasa con pedimentos que baja SCAII_Sync (dejan esos campos en NULL); WinDev los llenaba. Se usa "or ''" en SCAII y SCAF. Ademas, el hilo de sincronizacion tragaba la excepcion con print (invisible en el exe windowed), por lo que parecia un cuelgue. Ahora se registra en el log con traza (log.error exc_info). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,10 +9,11 @@ class Generador501SCAF:
|
||||
"""
|
||||
|
||||
# Lógica de Destino/Zona (SCAF a veces usa códigos distintos, pero el if parece igual)
|
||||
destino = datos_pedi.get("OPCIONDESTINO", "")
|
||||
# OJO: usar "or ''" y no get(k, ''), porque un NULL de BD llega como None y el default no aplica
|
||||
destino = datos_pedi.get("OPCIONDESTINO") or ""
|
||||
codigo_destino = "9" if "Interior" in destino else "7" if any(x in destino for x in ["Región", "Franja"]) else ""
|
||||
|
||||
clave_transfer = datos_cliente.get("CLAVETRANSFER", "").strip() if datos_cliente else ""
|
||||
|
||||
clave_transfer = (datos_cliente.get("CLAVETRANSFER") or "").strip() if datos_cliente else ""
|
||||
|
||||
# Construcción del Registro 501 SCAF
|
||||
registro = {
|
||||
|
||||
Reference in New Issue
Block a user