Compartir a través de


Error "La sesión de contabilización a nivel de transacción anterior no ha terminado de procesar" al abrir la ventana de Entrada de Transacciones de Ventas en Procesamiento de Pedidos de Venta

En este artículo se ofrece una solución para el error Su sesión anterior de contabilización a nivel de transacción no ha terminado de procesarse, que puede ocurrir al intentar abrir la ventana de Entrada de transacciones de ventas en el Procesamiento de órdenes de ventas en Microsoft Dynamics GP o en Microsoft Business Solutions - Great Plains.

Se aplica a: Microsoft Dynamics GP
Número de KB original: 852623

Síntomas

Puede recibir el siguiente mensaje de error al intentar abrir la ventana Entrada de transacción de ventas en Procesamiento de pedidos de ventas en Microsoft Dynamics GP o en Microsoft Business Solutions - Great Plains:

La sesión anterior de contabilización en el nivel de transacción no ha terminado de procesarse. Espere tiempo para que finalice. Si cree que ha fallado, cierre sesión en Great Plains y vuelva a iniciar sesión para recuperar transacciones.

Nota:

Para abrir la ventana Entrada de transacción de ventas, seleccione Transacciones, seleccione Ventas y, a continuación, seleccione Entrada de transacción de ventas.

Causa

Este problema puede producirse cuando los registros están bloqueados en la tabla SY00500, en la tabla SY00800 o en la tabla SOP10100. Los registros tienen un número de lote que está en blanco o el identificador de usuario se muestra como el número de lote.

Solución

Para solucionar este problema, siga estos pasos:

  1. Haga que todos los usuarios salgan de Microsoft Dynamics GP.

  2. Realice una copia de seguridad de la base de datos de la empresa.

  3. En el Analizador de consultas SQL, ejecute la siguiente instrucción delete en la tabla SY00800 en la base de datos DYNAMICS.

    DELETE SY00800
    
  4. Busque los registros problemáticos de la tabla SY00500 ejecutando las dos instrucciones siguientes en la base de datos de la empresa.

    Nota:

    En las instrucciones siguientes, xxx representa el identificador de usuario que contiene el error.

    SELECT * from SY00500 where BACHNUMB = ''
    SELECT * from SY00500 where BACHNUMB = 'xxx'
    
  5. Si tiene registros que se devuelven con un campo BACHNUMB en blanco, use la siguiente instrucción delete.

    DELETE SY00500 where BACHNUMB = ''
    
  6. Si tiene registros que se devuelven con un ID de usuario en el campo BACHNUMB, use la siguiente instrucción de eliminación.

    Nota:

    En la instrucción siguiente, xxx representa el identificador de usuario que contiene el error.

    DELETE SY00500 where BACHNUMB ='xxx'
    
  7. Compruebe que puede seleccionar documentos existentes en la ventana Entrada de transacción de ventas. Para abrir esta ventana, seleccione Transacciones, seleccione Ventas y, a continuación, seleccione Entrada de transacción de ventas. Si desea eliminar un documento existente, seleccione Eliminar. Si desea anular un documento existente, seleccione Void.

  8. Si sigue recibiendo el mensaje de error o si no puede seleccionar los documentos existentes en la ventana Entrada de transacción de ventas, ejecute los siguientes scripts en el Analizador de consultas SQL en la base de datos de empresa para buscar registros de problemas en la tabla SOP10100.

    Nota:

    En los scripts siguientes, xxx representa el identificador de usuario que contiene el error.

    SELECT BACHNUMB,* from SOP10100 where BACHNUMB = '' SELECT BACHNUMB,* from SOP10100 where BACHNUMB = '<xxx>'
    SELECT * FROM SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    SELECT * FROM SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    SELECT * FROM SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    SELECT * FROM SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    
  9. Tenga en cuenta los registros que se devuelven y, a continuación, ejecute la siguiente instrucción en el Analizador de consultas SQL para eliminar los registros de problemas de la tabla SOP10100.

    Nota:

    • Debe comprobar que las transacciones se publican en el módulo de Inventario y en los módulos de Gestión de Cuentas por Cobrar. Si las transacciones no se publicaron en el módulo Inventario y en el módulo Administración de recibos, debe volver a escribir las transacciones en la ventana Entrada de transacción de ventas después de ejecutar las instrucciones delete.
    • En las instrucciones siguientes, xxx representa el identificador de usuario que contiene el error.
    DELETE SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    DELETE SOP10200 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    DELETE SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = 'xxx')
    DELETE SOP10102 where SOPNUMBE in (SELECT SOPNUMBE from SOP10100 where BACHNUMB = ' ')
    DELETE SOP10100 where BACHNUMB = '' DELETE SOP10100 where BACHNUMB = 'xxx'
    
  10. En Microsoft Dynamics GP, seleccione Mantenimiento en el menú Microsoft Dynamics GP y, a continuación, seleccione Comprobar vínculos.

  11. En la lista Series, seleccione Ventas y, a continuación, ejecute el procedimiento Comprobar vínculos en el grupo de trabajo de ventas.

  12. Si las transacciones no se publicaron en el módulo Administración de recibos y en el módulo Inventario, vuelva a escribir las transacciones en la ventana Entrada de transacción de ventas.