Error en Reconstrucción de Saldos:

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.

  1. Abre SQL Server Management Studio (SSMS).
  2. En el Explorador de objetos, localiza la base de datos de la empresa afectada.
  3. Clic derecho sobre la base de datos → Tareas → Copia de seguridad…
  4. 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
  1. Abre la empresa afectada en CONTPAQi® Contabilidad.
  2. Ve al menú Utilerías → Reconstrucción de Saldos de Cuentas.
  3. Haz clic en Procesar y espera a que concluya.
  4. 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