Cuando nos aparece el siguiente error al sacar el balance de sumas y saldos cuya identificación del error es "PK_TEMP_Conta_Balances" se debe porque existe una clave duplicada, cuya explicación es la siguiente: se han creado subcuentas como cuentas.
Este error es muy común en versiones "antiguas" donde se permitía crear cuentas y subcuentas sin restricción de nº de dígitos donde el usuario puede crear cuentas con el número de dígitos que considere, dando lugar a equivocaciones de nº de dígitos establecido en el ejercicio contable.
Para corregir el error primero tenemos que hacer la siguiente consulta para ver cuantos registros tenemos con el número de dígitos erróneo. La consulta es un ejemplo y el número del límite puede variar en función del número de dígitos de la contabilidad del cliente:
select * from conta_cuentas where len(cuenta) > 5
Luego hacemos siguiente consulta, en función de los registros de anterior consulta:
select * from Conta_SubCuentas where subcuenta in ('xxxxxxxxx','xxxxxxxxx')
select * from conta_apuntes where subcuenta in ('xxxxxxxxx','xxxxxxxxx')
Para eliminar los registros erróneos si ya existe la misma subcuenta en las subcuentas que se ha creado como cuenta, tenemos que inhabilitar el trigger Conta_Cuentas_DTrig (recordar habilitar al terminar), eliminar las cuentas por IdDoc (tenemos que asegurarnos que no hay ningún usuario trabajando en el programa para no deshabilitar los triggers mientras están trabajando).
begin tran
delete from conta_cuentas where iddoc=xxxxx
rollback tran
Paso siguiente es volver habilitar el trigger.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo