Error en reconstrucción de saldos: “póliza inexistente” y movimientos sin póliza en CONTPAQi Contabilidad

Al ejecutar la reconstrucción de saldos de cuentas en CONTPAQi Contabilidad puede aparecer el mensaje: “error en póliza XX que no existe”, causado por movimientos sin póliza (registros huérfanos en MovimientosPoliza) o por inconsistencias entre las tablas Polizas y MovimientosPoliza en SQL Server desde Management Studio.  Este tipo de error reconstrucción de saldos ocurre cuando hay movimientos huérfanos, inconsistencias internas o relaciones rotas, y provoca que la utilería no finalice correctamente. Por suerte, resolver un caso de póliza inexistente es sencillo si sigues los pasos correctos en SQL Server.

🔊 Escuchar artículoLectura: calculando…
0:000:00
Audio: calculando…

Listo para escuchar.

 

 

¿Qué está pasando?

La utilería de reconstrucción revisa pólizas y movimientos para recalcular saldos. Si existen movimientos huérfanos (registros en MovimientosPoliza cuyo IdPoliza ya no está en Polizas) o si la póliza se eliminó/dañó, la reconstrucción se interrumpe reportando una póliza “inexistente”.

Antes de empezar

  1. Respalda la empresa desde CONTPAQi Contabilidad.
  2. Cierra CONTPAQi y abre SQL Server Management Studio (SSMS).
  3. Conéctate a la instancia y selecciona la base de datos de la empresa.

Procedimiento A: Reconstrucción marca error en una póliza que “no existe”

  1. Verifica si la póliza existe en la tabla Polizas (reemplaza XX por el folio/ID reportado por la utilería):
    SELECT * 
    FROM Polizas 
    WHERE Folio = XX; -- o WHERE IdPoliza = XX 
    
  2. Si no existe la póliza, busca movimientos ligados a ese Id/Folio:
    SELECT * 
    FROM MovimientosPoliza 
    WHERE IdPoliza = XX;
    
  3. Si hay movimientos y la póliza no existe, elimina esos movimientos huérfanos:
    DELETE FROM MovimientosPoliza 
    WHERE IdPoliza = XX;
    
  4. Cierra SSMS, vuelve a la empresa en CONTPAQi y ejecuta de nuevo Reconstrucción de saldos de cuentas. Verifica que finalice sin errores.

Procedimiento B: Limpiar “movimientos sin póliza” en bloque

Si el error no menciona un folio específico o sospechas múltiples inconsistencias, identifica y depura todos los movimientos huérfanos con un LEFT JOIN y luego elimínalos de forma segura:

1) Identificar movimientos sin póliza

SELECT m.*
FROM MovimientosPoliza AS m
LEFT JOIN Polizas AS p ON p.Id = m.IdPoliza
WHERE p.Id IS NULL;   -- movimientos que apuntan a una póliza inexistente

2) Eliminar únicamente los huérfanos detectados

DELETE m
FROM MovimientosPoliza AS m
LEFT JOIN Polizas AS p ON p.Id = m.IdPoliza
WHERE p.Id IS NULL;

3) Reconstruir saldos

Regresa a CONTPAQi → Empresa → Utilerías → Reconstrucción de saldos de cuentas, y confirma que la utilería finalice correctamente.

Notas y buenas prácticas

  • Trabaja siempre con respaldo reciente y, si es posible, haz la depuración primero en un ambiente de prueba.
  • La reconstrucción de saldos se usa para corregir saldos y descuadres y es parte del mantenimiento regular cuando hay inconsistencias por ediciones, fallas eléctricas o cierres no concluidos.

Importante: Estos scripts eliminan datos inconsistentes. Úsalos bajo tu criterio profesional y siempre con respaldo previo.

 

Renueva, compra o actualiza tu licencia CONTPAQi®

Soporte vía: Remota, Telefónica, por Chat y Correo Electrónico
Solo cobramos por las horas trabajadas en servicios exitosos . . .

Asesor CONTPAQi® | Renovaciones CONTPAQi® | Sistemas CONTPAQi® | Actualizaciones CONTPAQi® | Soporte CONTPAQi®

correo: info@te-cinco.com
Tel y WhatsApp 55 73562991

Puntuación del Post
¡Haz clic para calificar esta publicación!
[Total: 1 Promedio: 5]

Talvez le guste...

Posts populares

Deja un comentario