Ich habe ein paar Dinge, die zusammenarbeiten, um mehrere Aufgaben aus einer Warteschlange abzuschließen.Aufruf von Javascript schlägt fehl MSCRM
Das erste ist Javascript, das eine Aktion (Workflow) aufruft, die eine CSV mit Aufgaben-IDs und der Benutzer-ID übergibt. Diese Aktion übergibt alles über ein Plugin, das die Aufgaben in einer Schleife ausführt, sie für den Benutzer auswählt und dann für die Ausführung festlegt.
Das läuft alles gut, es sei denn, eine Aufgabe ist bereits vergeben. Ich bekomme dann einen Fehler vom Javascript.
Zunächst war dies sagen „hat Artikel bereits an einen anderen Benutzer zugewiesen wurde“. Ich habe jedoch einen Versuch fangen als solche
try
{
Entity queueItem = RetrieveQueueItemIdByObjectId(service, new Guid(taskId));
// Create the Request Object and Set the Request Object's Properties
PickFromQueueRequest pickFromQueueRequest = new PickFromQueueRequest
{
QueueItemId = queueItem.Id,
WorkerId = new Guid(_UserId)
};
// Execute the Request
service.Execute(pickFromQueueRequest);
}
catch(FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault> ex)
{
if (ex.Detail.ErrorCode != -2147220891)
{
throw ex;
}
}
ich, dass Fang versucht haben, mit
if(!ex.Message.Contains("Item has already been assigned to another user"))
{
throw ex;
}
und einfach alles zu kontrollieren. Und dennoch zeigt sich der Fehler noch. Ich bemerkte dann, dass die Aufgaben abgeschlossen waren, aber der Fehler wurde ausgelöst. Nach diesem Code wird die Aufgabe abgeschlossen. Das funktioniert, weil, wenn die Aufgabe nicht bereits ausgewählt ist, kein Fehler ausgelöst wird.
Wie wäre diese Platte von der Fertigstellung Skipping, da dies bereits belegt ist? Ich denke im Grunde müssen Sie diese Warteschlange Element freigeben, bevor Sie es wieder auswählen. –