Etiquetado: Consistent
- Este debate tiene 8 respuestas, 3 mensajes y ha sido actualizado por última vez el hace 6 años, 3 meses por Cristina Nicolàs.
Error consistent al hacer asiento de regularización
-
Yoselin BarraganParticipanteYoselin BarraganHola, pues yo de nuevo.
Esta vez con uno de esos errores que dan miedo.
Pues al intentar hacer un asiento de regularización ha saltado el siguiente mensaje:
No puede concluirse la transacción porque causaria inconsistencias en la tabla Movs de contabilidad. Revise donde y como se una la funcion consintent en la transaccion para averiguar el motivo del error.
He puesto el depurador y lo que veo es que se detienen en la funcion FinishPosting y me parece seguún veo el Entry No que es justo cuando intenta hacer el asiento final.
Alguna idea de como poder resolverlo?
27 diciembre 2017 a las 15:39 #4007
Cristina NicolàsSuperadministradorCristina NicolàsHola Yoselin,
Este error significa que la suma de los debes y los haberes del asiento que se está generando no suma 0, el asiento está descuadrado.
En versiones recientes, en los distintos documentos y diarios en donde se puede registrar, hay un informe “Vista Previa del Registro”. Este informe hace una simulación del registro y te dará los movimientos de contabilidad que se generarán.
Hay que revisar los movimientos, sumar, y ver donde descuadra.En general, este error CONSISTENT se produce por algún desarrollo que intenta cambiar el asiento o crear un nuevo movimiento contable o algo así.
Un saludo,
Cristina Nicolàs27 diciembre 2017 a las 15:42 #4008
Laura NicolàsSuperadministradorLaura NicolàsHola!
Si con la vista previa del registro no lo encuentras, prueba con lo que explican en este artículo. Yo lo he usado alguna vez y me funcinó.
Basicamente se trata de una forma de descubrir donde está el descuadre. Después hay que arreglarlo ,-)
How to see why you are getting CONSISTENCY Error
Salut!
Laura Nicolàs27 diciembre 2017 a las 15:45 #4009
Yoselin BarraganParticipanteYoselin BarraganMuchas gracias Cristina, Laura.
Pues era mas sencillo de resolver de lo imaginado.
Como se trata de un asiento de regularizacion de una localizacion, a diferencia del estandar, si existe alguna línea creada en el diario, pues entonces ocurre el descuadre, simplemente nos hemos ido a mirar el diario, existian unas 4 lineas que algun usuario dejó alli, las eliminamos y ha desaparecido el error.
De igual manera me he apuntado el enlace del blog
para futuros casos.Muchas gracias.
27 diciembre 2017 a las 16:00 #4011
Laura NicolàsSuperadministradorLaura NicolàsYoselin, de qué localización se trata? O es parte de un desarrollo?
En el estándard de Navision, los registros hechos a través de diario, los hacen con variables temporales, y se registra sin usar sección… por lo que no puede haber colisión con líneas creadas a mano en el diario.
Cuando yo hago desarrollos de éstos, suelo crear una sección, y en la descripción le pongo “No usar ni eliminar”. Para que los usuarios no creen lineas a mano.
Al crear lineas en el diario, siempre empiezo con un .DELETEALL para asegurarme que no hay más lineas que las que el proceso crea.
Si no quieres eliminar, la otra opción es que para registrar pongas un filtro que incluya únicamente tus lineas.
Salut!
Laura Nicolàs28 diciembre 2017 a las 12:28 #4025
Yoselin BarraganParticipante28 diciembre 2017 a las 15:05 #4029
Laura NicolàsSuperadministradorLaura NicolàsGenial!!
Quiero dejar una cosa por escrito, por si alguien lee el hilo más adelante:
– Para hacer un .DELETEALL , primero hay que poner filtros de diario + sección, sino estarariamos eliminando todas las lineas, de todos los diarios. Hay que ir con cuidado!
Para eliminar:
GenJournalLine.SETRANGE("Journal Template Name",'<Nombre del diario>'); GenJournalLine.SETRANGE("Journal Batch Name",'<Nombre de la sección>'); GenJournalLine.DELETEALL;
Para pedirle confirmación al usuario antes de eliminar:
GenJournalLine.SETRANGE("Journal Template Name",'<Nombre del diario>'); GenJournalLine.SETRANGE("Journal Batch Name",'<Nombre de la sección>'); IF NOT GenJournalLine.ISEMPTY THEN IF NOT CONFIRM('Texto de confirmación') THEN ERROR('Proceso cancelado a petición del usuario'); GenJournalLine.DELETEALL;
Salut!
Laura Nicolàs28 diciembre 2017 a las 15:43 #4032
Yoselin BarraganParticipanteYoselin BarraganMuchas gracias por lo anterior.
Hoy es el día de los CONSITENT, lo publico en este mismo hilo.
Esta vez ha saltado al momento de registrar una factura, y efectivamente cuando hago la vista previa del registro y miro los movimientos de contabilidad hay un descuadre por 0,01. Es un tema de redondeo de decimales.
Hemos intentado añadir una linea contra la cuenta diferencias de cambio por ese importe (solo para efectos de cuadrar el asiento) y el error persiste, no conseguimos que el asiento cuadre, tambien hemos intentado sumarle y restarle ese centimo a la linea y aun asi sigue saltando el error.
28 diciembre 2017 a las 17:02 #4035
Cristina NicolàsSuperadministradorCristina NicolàsHola Yoselin,
Estos cambios de añadir el céntimo los estáis haciendo en la factura, a nivel de usuario, o los estáis haciendo por código?
Yo diría que en este caso seguramente es más un error de programación y habría que revisar bien el código para ver donde falla y arreglarlo de raíz.
Un saludo,
Cristina Nicolàs29 diciembre 2017 a las 08:48 #4036
Debe iniciar sesión para responder a este tema.