Udostępnij za pośrednictwem


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:

Zrzut ekranu przedstawiający problematyczną jednostkę w ramach dostosowań.

Rozwiązanie

Aby rozwiązać ten błąd, musisz podać jednostkę znajdującą się w sekcji przyczyny nazwę wyświetlaną wraz z nazwą mnogą.

  1. Otwórz klienta internetowego usługi Microsoft Dynamics 365 jako administratora usługi D365.

  2. Następnie wybierz pozycję Ustawienia, wybierz pozycję Dostosowania, a następnie wybierz pozycję Dostosuj system.

  3. Po otworze okna dostosowywania rozwiń węzeł Jednostki.

  4. Wybierz jednostkę u góry bez wyświetlanej nazwy wyświetlanej.

  5. W okienku po prawej stronie nadaj jednostce nazwę wyświetlaną i liczbę mnogą. Zobacz poniższy zrzut ekranu.

    Zrzut ekranu przedstawiający jednostkę o nazwie wyświetlanej i nazwie mnogiej.

  6. Po nazewnictwie jednostki wybierz pozycję Zapisz , a następnie wybierz pozycję Publikuj.

  7. 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.