Pri pokuse o otvorenie stránky Používatelia na portáli Business Portal systému Microsoft Dynamics GP sa zobrazí toto chybové hlásenie:
Vyskytla sa neočakávaná chyba. Skúste zavrieť prehliadač a začať znova, alebo sa obráťte na odborníka podpory.
Keď potom v chybovom hlásení kliknete na tlačidlo Podrobnosti, zobrazí sa ďalší text týkajúci sa chybového hlásenia:
"System.Exception: soap:Server Server was unable to process request. ---> Microsoft.Dynamics.Hrm.Entity.Employee"
Príznaky
V tabuľke MBFRoleUser databázy DYNAMICS máte v poliZložky priradené identifikačné číslo zamestnanca, ktoré neexistuje ako zamestnanec v tabuľke UPR00100 databázy spoločnosti.
Príčina
Odstráňte osamotený záznam priradenia ID zamestnanca z tabuľky MBFRoleUser databázy DYNAMICS. Pomocou tohto postupu môžete nájsť a odstrániť osamotený záznam priradenia ID zamestnanca z tabuľky MBFRoleUser databázy DYNAMICS.
1. Spustite SQL Server Management Studio. V závislosti od používaného programu použite jednu z nasledujúcich metód.
Pre SQL Server 2000
Ak používate nástroj SQL Server 2000, spustite SQL dotazu. Ak to chcete urobiť, kliknitena tlačidlo Štart, ukážte na položku Všetky programy , ukážte na Microsoft SQL Servera potom kliknite na položku Analýza dotazov.
Pre SQL Server 2005
Ak používate Program SQL Server 2005, spustite SQL Server Management Studio. Ak to chcete urobiť, kliknitena tlačidlo Štart , ukážte na položku Všetky programy ,ukážte na položku Microsoft SQL Server 2005a potom kliknite napoložku SQL Server Management Studio.
Pre SQL Server 2008
Ak používate Windows SQL Server 2008, spustite SQL Server Management Studio. Ak to chcete urobiť, kliknitenatlačidlo Štart , ukážte na položku Všetky programy ,ukážte na položku Microsoft SQL Server 2008a potom kliknite napoložku SQL Server Management Studio.
2. Spustite nasledujúci príkaz v databáze DYNAMICS a vyhľadajte všetky záznamy priradenia ID zamestnanca v tabuľke MBFRoleUser databázy DYNAMICS:
select * from MBFRoleUser where constituent like '%Microsoft.Dynamics.Hrm.Entity.Employee ID%' order by constituent
Reťazec EmployeeID= v stĺpci Zložky zobrazí identifikáciu zamestnanca, ktorá je priradená k role podnikového portálu.
3. Spustite nasledujúci príkaz v databáze spoločnosti a vyhľadajte všetky záznamy ID zamestnanca, ktoré existujú v tabuľke UPR00100:
select EMPLOYID from UPR00100 order by EMPLOYID
Výsledky tohto skriptu zobrazia všetky ID zamestnanca, ktoré existujú v tabuľke Predloha zamestnanca.
4. Porovnajte záznamy priradenia ID zamestnanca = v stĺpci Zložky z výsledkov skriptu, ktorý sa spustí z kroku #1, a so zamestnancami vrátených z výsledkov skriptu, ktorý sa spúšťa z kroku #2. Vyhľadajte záznamy priradenia ID zamestnanca, ktoré existujú v stĺpci Záhlavie tabuľky MBFRoleUser databázy DYNAMICS, ktoré neexistujú ako ID zamestnanca v tabuľke UPR00100 databázy spoločnosti.
5. Po identifikovaní osamotených záznamov priradenia ID zamestnanca z databázy Step #3 spustite tento príkaz v databáze DYNAMICS, aby ste odstránili toto osamotené priradenie ID zamestnanca:
delete MBFRoleUser where constituent = 'XXXX'
POZNÁMKA: Nahraďte reťazec XXXX hodnotou Zložky osamotených záznamov priradenia ID zamestnanca z tabuľky MBFRoleUser.
Príklad: Here would be an example of the delete statement needed in Step #4:
odstrániť
MbfRoleUser, kde constituent = <entityKey><Microsoft.Dynamics.Common.Company.Company ID="-1" /><Microsoft.Dynamics.Hrm.Entity.Employee ID="429732375" /></entityKey>'
V tomto príklade bolo číslo zamestnanca 429732375 osamotená priradená identifikácia zamestnanca z kroku #3.
Riešenie
Informácie v tabuľke MBFRole User sa vložia pokliknutí na položku Domov na portáli Business Portal,kliknutí na položku Akcie lokality, na položku LokalitaNastavenia,na položku Používatelia, vyberte používateľa zo zoznamu používateľov, kliknite na položku Roly, kliknite na položku Upraviť a potom v okne Úprava portálu a rozšírených rolí priraďte rolu – dialógové okno Webová stránka. Kliknite natlačidlo OK.