Usa formato RIPS completo para numero TNS: LHXC03990-314522

El numero del kardex en TNS ahora incluye el PREFIJO de Firebird y el
NUM_FACTURA zero-padded a 5 dígitos, igual al numFactura del RIPS
(ej: LHXC03404). Se agrega -{idrecepcion} al final para garantizar
unicidad ya que múltiples IDRECEPCION comparten el mismo NUM_FACTURA.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-26 20:03:03 -05:00
co-authored by Claude Sonnet 4.6
parent 6905a4132e
commit 88f684a006
2 changed files with 10 additions and 5 deletions
+6 -2
View File
@@ -147,7 +147,9 @@ async def send_one(
endpoint = f"{TNS_BASE}/v2/rda/RdaPaciente/Insertar?codigosucursal={api_sucursal}"
num_factura_one = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
numero_override_one = f"{num_factura_one}-{idrecepcion}" if num_factura_one else str(idrecepcion)
prefijo_one = str(grupo_rows[0].get("PREFIJO") or "").strip()
num_fmt_one = f"{prefijo_one}{num_factura_one.zfill(5)}" if prefijo_one else num_factura_one
numero_override_one = f"{num_fmt_one}-{idrecepcion}" if num_fmt_one else str(idrecepcion)
rda_json = generar_rda_paciente(
grupo_rows,
cfg.get("profesional_default", ""),
@@ -234,7 +236,9 @@ async def send_transaccion(
async with httpx.AsyncClient(timeout=int(cfg.get("api_timeout", 30))) as client:
for id_rec, grupo_rows in grupos.items():
num_factura = str(grupo_rows[0].get("NUM_FACTURA") or "").strip()
numero_override = f"{num_factura}-{id_rec}" if num_factura else str(id_rec)
prefijo_fb = str(grupo_rows[0].get("PREFIJO") or "").strip()
num_fmt = f"{prefijo_fb}{num_factura.zfill(5)}" if prefijo_fb else num_factura
numero_override = f"{num_fmt}-{id_rec}" if num_fmt else str(id_rec)
rda_json = generar_rda_paciente(
grupo_rows,
cfg.get("profesional_default", ""),