• Este debate tiene 2 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 4 años, 4 meses por Laura Nicolàs.
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)

Error en Pedido Venta



  • cbr.conchi
    Participante
    cbr.conchi

    Buenas tardes,

    He comprobado que en la versión NAV 2018 CU3, al crear un pedido de venta, da un error de “Se ha intentado cambiar una versión anterior de un registro Cab. Venta…”.
    La funcionalidad es estándar, y no siempre da el error, pero hay clientes que se quejan, porque tras dar el error se borran las ultimas modificaciones que hayan realizado en el pedido…

    Los pasos para conseguir reproducirlo son:
    – Page 42, Nuevo Pedido
    – Indicar cliente con más de una dirección de envío.
    – Indicar una linea de producto, por ejemplo.
    – en la pestaña de “Envío y Facturación” indicar un tipo de dirección de envío, por ejemplo, “Dirección Personalizada”
    – modificar el campo Contacto, por ejemplo, o la Dirección,
    – y pulsar Nuevo Pedido

    En este momento salta el error.. (a veces si a veces no…)
    He intentado buscarlo por internet, solucionarlo con COMMIT, Currpage.update.. pero nada..

    ¿Que se os ocurre? No veo que código es el que da problemas, he comentado el código del validate del campo “Dirección de envío” y también da el error…

    Gracias de antemano y saludos a las dos! 😉

    #6542

    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Lo he probado con un CU6, que es el que tengo instalado, y no consigo reproducir el error.

    Me estoy instalando un Docker con el CU3 – ahora que tenemos Docker! y es fácil ,-)
    A ver si lo puedo reproducir y te digo el qué.

    Me huelo por donde va el error, pero te digo algo en un rato cuando lo pueda verificar.

    Salut!
    Laura Nicolàs

    #6543

    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Pues lo he probado con un CU3 y tampoco he conseguido reproducir el error…

    En cualquier caso ¿Cuando da este error? Cuando hay 2 variables modificando el mismo registro.
    Imagina este escenario:

    • Tienes dos variables que apuntan a la misma tabla y al mismo registro
      Variable1.GET(‘101’);
      Variable2.GET(‘101’);
    • Modificas el registro con la Variable1
      Variable1.”Un campo” := ‘Un valor’;
      Variable1.modify
    • Ahora quieres modificar el registro con la Variable2
      Variable2.”Otro campo” := ‘Otro valor’;
      Variable2.modify;

    Aquí es donde salta el error. A la Variable2 se le ha hecho el get antes de las modificaciones, por lo que ahora tiene datos obsoletos. Y es cuando da el error:
    – “Se ha intentado cambiar una versión anterior de un registro Cab. Venta…”

    La forma de solucionarlo es que justo antes de modificar Variable 2, hay que hacerle un GET para tener la última versión de los datos.
    Variable2.GET(‘101’);

    Variable2.”Otro campo” := ‘Otro valor’;
    Variable2.modify;

    – En tu caso la page 42 tiene el Rec.
    – El Rec de la tabla 36 es el mismo registro, la misma variable. No tiene que dar error.
    – En la tabla 36 también tienes la variable SalesHeader. Hay que mirar cuando se le hace el GET, cuando se usa y cuando se modifica.

    Espero que por ahí puedas seguir investigando.

    Salut!
    Laura Nicolàs

    #6553
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)

Debe iniciar sesión para responder a este tema.