Errore "La sessione di registrazione a livello di transazione precedente non ha completato l'elaborazione" quando si apre la finestra Voce transazione vendita in Elaborazione ordini di vendita

Questo articolo fornisce una risoluzione per l'errore di elaborazione della sessione di registrazione a livello di transazione precedente che può verificarsi quando si tenta di aprire la finestra Sales Transaction Entry in Sales Order Processing in Microsoft Dynamics GP o in Microsoft Business Solutions - Great Plains.This article provides a resolution for the previous transaction-level posting session has not finished processing error that may occur when you try to open the Sales Transaction Entry window in Sales Order Processing in Microsoft Dynamics GP or in Microsoft Business Solutions - Great Plains.

Si applica a: Microsoft Dynamics GP
Numero KB originale: 852623

Sintomi

Quando si tenta di aprire la finestra Sales Transaction Entry in Sales Order Processing in Microsoft Dynamics GP o in Microsoft Business Solutions - Great Plains, è possibile che venga visualizzato il messaggio di errore seguente:

L'elaborazione della sessione di registrazione a livello di transazione precedente non è stata completata. Si prega di lasciare il tempo per il completamento. Se si ritiene che non sia riuscito, disconnettersi da Great Plains e accedere di nuovo per ripristinare le transazioni.

Nota

Per aprire la finestra Sales Transaction Entry (Voce transazione vendite), selezionare Transactions (Transazioni), scegliere Sales (Vendite) e quindi Sales Transaction Entry (Voce transazione vendite).

Causa

Questo problema può verificarsi quando i record vengono bloccati nella tabella SY00500, nella tabella SY00800 o nella tabella SOP10100. I record hanno un numero batch vuoto oppure l'ID utente è elencato come numero batch.

Risoluzione

Per risolvere il problema, attenersi alla procedura seguente:

  1. Fare in modo che tutti gli utenti escano da Microsoft Dynamics GP.

  2. Eseguire un backup del database aziendale.

  3. In Sql Query Analyzer eseguire l'istruzione delete seguente nella tabella SY00800 nel database DYNAMICS.

    DELETE SY00800
    
  4. Cercare i record del problema nella tabella SY00500 eseguendo entrambe le istruzioni seguenti nel database aziendale.

    Nota

    Nelle istruzioni seguenti xxx rappresenta l'ID utente che contiene l'errore.

    SELECT * from SY00500 where BACHNUMB = ''
    SELECT * from SY00500 where BACHNUMB = 'xxx'
    
  5. Se sono presenti record restituiti con un campo BACHNUMB vuoto, utilizzare l'istruzione delete seguente.

    DELETE SY00500 where BACHNUMB = ''
    
  6. Se nel campo BACHNUMB sono presenti record restituiti con un ID utente, utilizzare l'istruzione delete seguente.

    Nota

    Nell'istruzione seguente xxx rappresenta l'ID utente che contiene l'errore.

    DELETE SY00500 where BACHNUMB ='xxx'
    
  7. Verificare che sia possibile selezionare i documenti esistenti nella finestra Voce transazione vendite. Per aprire questa finestra, selezionare Transazioni, scegliere Sales e quindi Sales Transaction Entry.To open this window, select Transactions, point to Sales, and then select Sales Transaction Entry. Per eliminare un documento esistente, selezionare Elimina. Se si vuole annullare un documento esistente, selezionare Void.If you want to void an existing document, select Void.

  8. Se si continua a ricevere il messaggio di errore o se non è possibile selezionare i documenti esistenti nella finestra Voce transazione vendita, eseguire gli script seguenti in SQL Query Analyzer sul database aziendale per individuare i record dei problemi nella tabella SOP10100.

    Nota

    Negli script seguenti xxx rappresenta l'ID utente che contiene l'errore.

    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. Prendere nota di tutti i record restituiti e quindi eseguire l'istruzione seguente in SQL Query Analyzer per eliminare i record del problema dalla tabella SOP10100.

    Nota

    • È necessario verificare che le transazioni vengano registrate nel modulo Inventario e nei moduli Gestione crediti. Se le transazioni non sono state registrate nel modulo Inventario e nel modulo Gestione crediti, è necessario immettere nuovamente le transazioni nella finestra Voce transazione vendita dopo aver eseguito le istruzioni di eliminazione.
    • Nelle istruzioni seguenti xxx rappresenta l'ID utente che contiene l'errore.
    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. In Microsoft Dynamics GP scegliere Manutenzione dal menu Microsoft Dynamics GP e quindi selezionare Controlla collegamenti.

  11. Nell'elenco Serie selezionare Sales e quindi eseguire la procedura check links nel gruppo Tabella di lavoro vendite .

  12. Se le transazioni non sono state registrate nel modulo Gestione crediti e nel modulo Inventario, immettere nuovamente le transazioni nella finestra Voce transazione vendita.