Když se pokusíte otevřít stránku Uživatelé na portálu Business Portal of Microsoft Dynamics GP, zobrazí se následující chybová zpráva:
""Došlo k neočekávané chybě. Zkuste prosím prohlížeč zavřít a začít znovu, nebo se obraťte na specialistu podpory.
Po kliknutí na tlačítko Podrobnosti v chybové zprávě se zobrazí další text související s chybovou zprávou:
"System.Exception: soap:Server Server nemohl zpracovat žádost. ---> Microsoft.Dynamics.Hrm.Entity.Employee"
Příznaky
V tabulce MBFRoleUser databáze DYNAMICS máte v poli Složkapřiřazené ID zaměstnance, které v tabulce UPR00100 firemní databáze neexistuje jako zaměstnanec.
Příčina
Odeberte osamocené záznamy přiřazení ID zaměstnance z tabulky MBFRoleUser databáze DYNAMICS. Takto můžete najít a odebrat osamocené záznamy přiřazení ID zaměstnance z tabulky MBFRoleUser databáze DYNAMICS.
1. Spusťte SQL Server Management Studio. V závislosti na používaném programu použijte jednu z následujících metod.
Pro SQL Server 2000
Pokud používáte SQL Server 2000, spusťte SQL Query Analyzer. Pokud to chcete udělat,klikněte na Start,přejdětena Všechny programy, přejděte na Microsoft SQL Servera potom klikněte naAnalýza dotazů.
Pro SQL Server 2005
Pokud používáte SQL Server 2005, spusťte SQL Server Management Studio. Pokud to chcete udělat,klikněte na Start, přejděte naVšechny programy , přejděte na Microsoft SQL Server 2005a potom kliknětena SQL Server Management Studio.
Pro SQL Server 2008
Pokud používáte SQL Server 2008, spusťte SQL Server Management Studio. Pokud to chcete udělat,klikněte na Start,přejděte naVšechny programy , přejděte na Microsoft SQL Server 2008a potom kliknětena SQL Server Management Studio.
2. Spuštěním následujícího příkazu s databází DYNAMICS vyhledejte všechny záznamy přiřazení ID zaměstnance v tabulce MBFRoleUser databáze DYNAMICS:
select * from MBFRoleUser where Constituent like '%Microsoft.Dynamics.Hrm.Entity.Employee ID%' order by Constituent
Řetězec EmployeeID= ve sloupci Volič zobrazí ID zaměstnance, která jsou přiřazená k roli Obchodní portál.
3. Spusťte následující příkaz proti databázi společnosti a vyhledejte všechny záznamy ID zaměstnance, které existují v tabulce UPR00100:
select EMPLOYID from UPR00100 order by EMPLOYID
Ve výsledcích tohoto skriptu se zobrazí všechna ID zaměstnance, která existují v tabulce Hlavní zaměstnanec.
4. Porovnejte záznamy přiřazení ID zaměstnance = ve sloupci Volič z výsledků skriptu, které jsou spouštěné z kroku #1, se zaměstnanci vrácených z výsledků skriptu, které jsou spouštěné z kroku #2. V tabulce UPR00100 databáze společnosti najděte záznamy přiřazení ID zaměstnance, které existují ve sloupci Součást tabulky MBFRoleUser databáze DYNAMICS, které jako ID zaměstnance neexistují.
5. Po identifikaci osamoceného záznamu přiřazení ID zaměstnance z kroku #3 spusťte proti databázi DYNAMICS následující příkaz a odeberte toto osamocené přiřazení ID zaměstnance:
delete MBFRoleUser where Constituent = 'XXXX'
POZNÁMKA: Nahraďte XXXX hodnotou Součinitele záznamu přiřazení ID zaměstnance z tabulky MBFRoleUser.
PŘÍKLAD: Tady je příklad příkazu delete potřebného v části Krok #4:
odstranit
MbfRoleUser where Constituent='<entityKey><Microsoft.Dynamics.Common.Company.Company ID="-1" /><Microsoft.Dynamics.Hrm.Entity.Employee ID="429732375" /></entityKey>'
V tomto příkladu bylo číslo zaměstnance 429732375 osamocené přiřazení ID zaměstnance z kroku #3.
Řešení
Informace v tabulce MBFRole User se vloží, když kliknete na Portál domů v business portalu,kliknetena Akce webu,kliknete na WebNastavení,kliknete na Uživatelé, vyberete uživatele ze seznamu uživatelů, kliknete na Role,kliknete na Změnit a přiřadíte roli v okně Upravit portál a rozšířené role – dialogové okno Webové stránky. Kliknětena OK.