Quando si tenta di aprire la pagina Utenti nel portale aziendale di Microsoft Dynamics GP, viene visualizzato il messaggio di errore seguente:
""Si è verificato un errore imprevisto. Prova a chiudere il browser e a ricominciare oppure contatta il tuo esperto di supporto"
Quando si fa clic sul pulsante Dettagli nel messaggio di errore, viene visualizzato il testo aggiuntivo relativo al messaggio di errore:
"System.Exception: soap:Server Server non è riuscito a elaborare la richiesta. ---> Microsoft.Dynamics.Hrm.Entity.Employee"
Sintomi
Nella tabella MBFRoleUser del database DYNAMICS è assegnato un ID dipendente nel campoCostituente che non esiste come dipendente nella tabella UPR00100 del database aziendale.
Causa
Rimuovere il record di assegnazione dell'ID dipendente orfano dalla tabella MBFRoleUser del database DYNAMICS. Seguire questa procedura per trovare e rimuovere il record di assegnazione dell'ID dipendente orfano dalla tabella MBFRoleUser del database DYNAMICS.
1. Avviare il SQL Server Management Studio. A questo scopo, usare uno dei metodi seguenti a seconda del programma in uso.
Per SQL Server 2000
Se si usa SQL Server 2000, avviare SQL Query Analyzer. A questo scopo, fare clic sul pulsanteStart, scegliere Tutti i programmi ,selezionare Microsoft SQL Servere quindi fare clic suAnalizzatore query.
Per SQL Server 2005
Se si usa SQL Server 2005, avviare SQL Server Management Studio. A questo scopo, fare clic sul pulsanteStart , scegliere Tutti i programmi ,selezionare Microsoft SQL Server 2005e quindi fare clic suSQL Server Management Studio.
Per SQL Server 2008
Se si usa SQL Server 2008, avviare SQL Server Management Studio. A questo scopo, fare clic sul pulsanteStart, scegliere Tutti i programmi ,selezionare Microsoft SQL Server 2008e quindi fare clic suSQL Server Management Studio.
2. Eseguire l'istruzione seguente nel database DYNAMICS per trovare tutti i record di assegnazione id dipendente nella tabella MBFRoleUser del database DYNAMICS:
selezionare * da MBFRoleUser dove Costituente come ordine '%Microsoft.Dynamics.Hrm.Entity.Employee ID%' per Costituente
La stringa EmployeeID= all'interno della colonna Costituente mostrerà gli ID dipendente assegnati al ruolo Portale aziendale.
3. Eseguire l'istruzione seguente nel database aziendale per trovare tutti i record ID dipendente presenti nella tabella UPR00100:
selezionare EMPLOYID da UPR00100 order by EMPLOYID
I risultati di questo script mostreranno tutti gli ID dipendente presenti nella tabella Master dipendenti.
4. Confrontare i record delle assegnazioni ID dipendente= nella colonna Costituenti dai risultati dello script eseguito dal passaggio #1 con i dipendenti restituiti dai risultati dello script eseguito dal passaggio #2. Trovare i record di assegnazione ID dipendente presenti nella colonna Costituente della tabella MBFRoleUser del database DYNAMICS che non esiste come ID dipendente nella tabella UPR00100 del database aziendale.
5. Dopo aver identificato il record di assegnazione dell'ID dipendente orfano dal passaggio #3, eseguire l'istruzione seguente nel database DYNAMICS per rimuovere questa assegnazione di ID dipendente orfana:
eliminare MBFRoleUser dove Costituente = 'XXXX'
NOTA: sostituire XXXX con il valore Costituente del record di assegnazione ID dipendente orfano della tabella MBFRoleUser.
ESEMPIO: Ecco un esempio dell'istruzione delete necessaria nel passaggio #4:
eliminare
MbfRoleUser dove Constituent='<entityKey><Microsoft.Dynamics.Common.Company.Company ID="-1" /><Microsoft.Dynamics.Hrm.Entity.Employee ID="429732375" /></entityKey>'
In questo esempio, il numero dipendente 429732375 era l'assegnazione di ID dipendente orfana dal passaggio #3.
Risoluzione
Le informazioni nella tabella MBFRole User vengono inserite quando si fa clic suHome nelportale aziendale, si fa clic su Azioni sito ,si fa clic su SitoImpostazioni, su Utenti ,si seleziona un utente nell'elencoutenti, si fa clic su Ruoli ,si fa clic su Modifica equindi si assegna un ruolo nella finestra di dialogo Modifica portale e ruoli avanzati - Pagina Web. Fare clicsu OK.