Etiquetado: 

  • 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.
Viendo 9 entradas - de la 1 a la 9 (de un total de 9)

Error consistent al hacer asiento de regularización



  • Yoselin Barragan
    Participante
    Yoselin Barragan

    Hola, 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?

    #4007

    Cristina Nicolàs
    Superadministrador
    Cristina Nicolàs

    Hola 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às

    #4008

    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Hola!

    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às

    #4009

    Yoselin Barragan
    Participante
    Yoselin Barragan

    Muchas 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.

    #4011

    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Yoselin, 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às

    #4025

    Yoselin Barragan
    Participante
    Yoselin Barragan

    Es un desarrollo realizado para una localizacion Latinoamericana.

    Muchas gracias Laura.
    Excelentes tips.

    #4029

    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Genial!!

    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às

    #4032

    Yoselin Barragan
    Participante
    Yoselin Barragan

    Muchas 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.

    #4035

    Cristina Nicolàs
    Superadministrador
    Cristina Nicolàs

    Hola 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às

    #4036
Viendo 9 entradas - de la 1 a la 9 (de un total de 9)

Debe iniciar sesión para responder a este tema.