Error en Reconstrucción de Saldos:
CONTPAQi® Contabilidad · SQL Server
Error en Reconstrucción de Saldos: "Proceso terminado con error"
El proceso se interrumpe porque existen movimientos que hacen referencia a pólizas eliminadas (registros huérfanos en MovimientosPoliza).
| 🕑 Tiempo estimado: 10–15 min |
🔒 Requiere SQL Server Management Studio |
📅 Actualizado: Mayo 2026 |
⚠ Mensaje de error observado
"La reconstrucción de saldos fue interrumpida por un error, dejando cuentas con saldos incorrectos. Se recomienda corregir el error y volver a ejecutar esta utilería o recuperar un respaldo."
La causa raíz es la presencia de filas "huérfanas" en MovimientosPoliza que apuntan a un IdPoliza inexistente en la tabla Polizas. Ocurre cuando una póliza fue eliminada de forma incompleta o se interrumpió una operación masiva.
|
1
|
Respaldar la empresa (obligatorio)
|
|
⚠ Antes de continuar
Realiza un respaldo completo de la base de datos. Los cambios del siguiente paso son irreversibles sin un respaldo previo.
- Abre SQL Server Management Studio (SSMS).
- En el Explorador de objetos, localiza la base de datos de la empresa afectada.
- Clic derecho sobre la base de datos → Tareas → Copia de seguridad…
- Guarda el archivo
.bak en una ruta segura antes de continuar.
|
|
2
|
Verificar los registros a eliminar (SELECT previo)
|
|
|
En SSMS, haz clic derecho sobre la base de datos de la empresa → Nueva consulta. Ejecuta primero esta sentencia de solo lectura para revisar qué registros serán eliminados:
T-SQL · Solo lectura (SELECT)
SELECT * FROM MovimientosPoliza WHERE idpoliza IN ( SELECT m.IdPoliza FROM movimientospoliza m FULL OUTER JOIN Polizas p ON p.id = m.IdPoliza WHERE p.id IS NULL GROUP BY m.IdPoliza )
✓ ¿Qué revisar en el resultado?
El resultado mostrará los movimientos huérfanos. Anota la cantidad de filas devueltas; ese número debe coincidir con las filas afectadas en el paso siguiente.
|
|
3
|
Ejecutar la limpieza – DELETE de movimientos huérfanos
|
|
⚠ Acción irreversible
Ejecuta este paso solo si el respaldo del Paso 1 fue completado y revisaste los resultados del Paso 2.
Abre una nueva consulta sobre la misma base de datos y ejecuta:
T-SQL · Elimina registros (DELETE)
DELETE FROM MovimientosPoliza WHERE idpoliza IN ( SELECT m.IdPoliza FROM movimientospoliza m FULL OUTER JOIN Polizas p ON p.id = m.IdPoliza WHERE p.id IS NULL GROUP BY m.IdPoliza )
En la pestaña Mensajes de SSMS aparecerá N row(s) affected. Este número debe coincidir con el conteo del Paso 2.
|
|
4
|
Reconstruir saldos en el sistema contable
|
|
- Abre la empresa afectada en CONTPAQi® Contabilidad.
- Ve al menú Utilerías → Reconstrucción de Saldos de Cuentas.
- Haz clic en Procesar y espera a que concluya.
- Verifica que el mensaje final sea "Proceso terminado correctamente" y que Cuentas con error: 0.
✓ Proceso completado
Si la reconstrucción finaliza sin errores, el problema fue resuelto. Verifica los saldos de las cuentas afectadas antes de continuar operando.
⚠ Si el error persiste
Restaura el respaldo generado en el Paso 1 y escala el caso indicando el número de póliza que aparece en la bitácora del proceso para revisión por soporte de segundo nivel.
|
|
CONTPAQi® Contabilidad · Soporte Técnico · Actualizado Mayo 2026
|
Categoría: Base de Datos · SQL Server
|