Neuen Besitzer einem Termin zuordnen "Es sollte nur eine Eigentümerparty für eine Aktivität geben"

  • Ich muss den Besitzer eines Terminsatzes ändern, wenn Sie einen neuen Termin erstellen. Ich verwende ein Plugin für die Erstellungsmeldung und habe diesen Code gefunden, um dem Termin einen neuen Besitzer zuzuweisen:

     entity = context.PostEntityImages["PostImage"];
    
    ......
    
    AssignRequest request = new AssignRequest();
    
    //request.RequestName
    request.Assignee = new EntityReference("systemuser", owners.ToList()[0].Id);
    request.Target = new EntityReference(Appointment.EntityLogicalName, entity.Id);
    service.Execute(request);
     

    Wenn ich dies jedoch teste, erhalte ich die folgende Fehlermeldung: Invalid Argument: Es sollte nur eine Eigentümerpartei für eine Aktivität geben.

    Ich denke, ich muss den Strom entfernen Besitzer zuerst und dann den neuen Besitzer zuweisen. Aber wie kann ich das machen?

    Danke für jede Hilfe!

    11 September 2012
    Greg Owenscashbowl
3 answers
  • Ich habe etwas Ähnliches mit Aufgaben gemacht (sie in einem Plugin neu zugewiesen). Als "Update" -Plugin gab es keine Probleme, aber als "Erstellen" schlägt die Meldung fehl: "Es sollte nur eine Eigentümerpartei für eine Aktivität geben"

    Um dies zu beheben, ändern Sie das "Create" -Plugin, indem Sie einfach die Besitzer-ID setzen (anstatt AssignRequest auszuführen).

     targetEntity.Attributes["ownerid"] = new EntityReference(SystemUser.EntityLogicalName, assignTo.Id);
     

    Dieser Code geht in die Phase Vor dem Betrieb.

    10 November 2011
    Bruce
  • Anscheinend ist es möglich, dass einige Daten beschädigt sind. In diesem Thread wird die Person dazu gezwungen, mithilfe von SQL einige der Eigentümer direkt aus der Aktivität zu löschen. http://social.microsoft.com/Forums/de/crmdeployment/thread/d82cedee-e24e-4abc-9ec6-41306b89ed3b

    <>

    Dies ist nur möglich, wenn Sie das On-Premise-Modell von Dynamics CRM 2011 verwenden.

    25 August 2011
    cchamberlain
  •  Guid id= new Guid("{33011A68-D311-E211-A429-005056820002}");    
     switch (context.MessageName)
                    {
                        case "Update":
                            {
                                try
                                {
                                    if (ent.Contains("fieldname") == true)
                                    {
    
                                        AssignRequest assign = new AssignRequest
                                        {
                                            Assignee = new EntityReference("systemuser", id),
                                            Target = new EntityReference(ent.LogicalName, ent.Id)
                                        };
                                        _service.Execute(assign);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    throw new InvalidPluginExecutionException("Error" + Environment.NewLine + "Details: " + ex.Message);
                                }
                            }
                            break;
                    }
     
    12 December 2013
    user3094334