Podczas tworzenia przepływu pracy w usłudze Microsoft Dynamics 365 wystąpił błąd elementu z tym samym kluczem
Ten artykuł zawiera rozwiązanie błędu występującego podczas tworzenia nowego lub edytowania istniejącego przepływu pracy w usłudze Microsoft Dynamics 365.
Dotyczy: Microsoft Dynamics CRM
Oryginalny numer KB: 4053915
Symptomy
Podczas tworzenia nowego lub edytowania istniejącego przepływu pracy w usłudze Microsoft Dynamics 365 może zostać wyświetlony błąd:
"Element o tym samym kluczu został już dodany".
Wybranie przycisku Pobierz dziennik spowoduje wyświetlenie następujących informacji:
Nieobsługiwany wyjątek: System.ServiceModel.FaultException'1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]: System.ArgumentException: Element z tym samym kluczem został już dodany. Detal:
<OrganizationServiceFault xmlns:i="https://www.w3.org/2001/XMLSchema-instance
" xmlns="https://schemas.microsoft.com/xrm/2011/Contracts
">
<ActivityId>xxx</ActivityId>
<ErrorCode-2147220970></ErrorCode>
<ErrorDetails xmlns:d2p1="https://schemas.datacontract.org/2004/07/System.Collections.Generic
" />
<Message>System.ArgumentException: Element o tym samym kluczu został już dodany.</Komunikat>
<Sygnatura czasowa>2017-11-08T20:52:35.6280057Z</Sygnatura czasowa>
<ExceptionRetriable>false</ExceptionRetriable>
<ExceptionSource i:nil="true" />
<InnerFault i:nil="true" />
<OriginalException i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>
Jeśli śledzenie platformy zostało włączone, zobaczysz następujące błędy zarejestrowane w śladzie.
Raport o błędach MSCRM:
Błąd: Element o tym samym kluczu został już dodany.
Komunikat o błędzie: Element o tym samym kluczu został już dodany.
Plik źródłowy: niedostępny
Numer wiersza: niedostępny
Adres URL żądania:https://CrmOrgName.dynamics.com/AppWebServices/Workflow.asmx
Informacje śledzenia stosu: [ArgumentException: Element o tym samym kluczu został już dodany.]
w: System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary'2.Insert(TKey key, TValue value, Boolean add)
at Microsoft.Crm.Application.Components.UI.OptionGroup.AddItem(Tekst ciągu, Wartość ciągu, Expandos ListDictionary)
w: Microsoft.Crm.Application.Controls.CreateStepControl.RenderEntityList(Składnik zapisywania HtmlTextWriter, StepControlType stepType, String onChange)
at Microsoft.Crm.Application.Controls.StepBaseControl.RenderEntity(Składnik zapisywania HtmlTextWriter, StepControlType stepType, String onChange)
w: Microsoft.Crm.Application.Controls.CreateStepControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at Microsoft.Crm.Application.Controls.CompositeStepBaseControl.RenderChildSteps(HtmlTextWriter writer)
at Microsoft.Crm.Application.Controls.WorkflowStepControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at Microsoft.Crm.Application.WebServices.WorkflowWebService.RenderWorkflow(WorkflowStep workflowStep, Boolean bSave, String parentStepId, String rendererTypeCode)
at Microsoft.Crm.Application.WebServices.WorkflowWebService.RenderWorkflow(WorkflowStep workflowStep, String parentStepId, String rendererTypeCode)
at Microsoft.Crm.Application.WebServices.WorkflowWebService.AddCreateEntityStep(String parentId, String entityId, String descriptionXml, String parentStepId, String rendererTypeCode)
Ponadto może zostać wyświetlony następujący komunikat.
MSCRM:ASSERTEX — NIE ZNALEZIONO POJEDYNCZEJ ZLOKALIZOWANEJ NAZWY JEDNOSTKI: nazwa logiczna = "msdyn_orginsightsuserdashboarddefinition" IDENTYFIKATOR JĘZYKA = 1033
Przyczyna
Jedną z możliwych przyczyn tego błędu jest konwencja nazewnictwa jednostek w ramach dostosowań. W przypadku tego konkretnego błędu zapoznaj się z nazwą atrybutu wymienioną MSCRM:ASSERTEX
w części błędu. Sprawdź poniżej:
MSCRM:ASSERTEX — NIE ZNALEZIONO POJEDYNCZEJ ZLOKALIZOWANEJ NAZWY JEDNOSTKI: nazwa logiczna = "msdyn_orginsightsuserdashboarddefinition" IDENTYFIKATOR JĘZYKA = 1033
Problem pozostaje z jednostką zawierającą atrybut msdyn_orginsightsuserdashboarddefinition
. Ten atrybut należy wyszukać w dostosowaniach usługi Microsoft Dynamics 365.
Problematyczna jednostka jest łatwa do znalezienia w ramach dostosowań, ponieważ jest ona zwykle wyświetlana w górnej części jednostek bez wymienionej nazwy. Zobacz poniższy zrzut ekranu:
Rozwiązanie
Aby rozwiązać ten błąd, musisz podać jednostkę znajdującą się w sekcji przyczyny nazwę wyświetlaną wraz z nazwą mnogą.
Otwórz klienta internetowego usługi Microsoft Dynamics 365 jako administratora usługi D365.
Następnie wybierz pozycję Ustawienia, wybierz pozycję Dostosowania, a następnie wybierz pozycję Dostosuj system.
Po otworze okna dostosowywania rozwiń węzeł Jednostki.
Wybierz jednostkę u góry bez wyświetlanej nazwy wyświetlanej.
W okienku po prawej stronie nadaj jednostce nazwę wyświetlaną i liczbę mnogą. Zobacz poniższy zrzut ekranu.
Po nazewnictwie jednostki wybierz pozycję Zapisz , a następnie wybierz pozycję Publikuj.
Na koniec wróć do edytora przepływu pracy i spróbuj utworzyć nowy przepływ pracy lub edytować istniejący. Teraz zakończy się pomyślnie.