Ich verwalte den gesamten CRM-Prozessablauf in C# -Code mit der neuesten SDK-Version (8.2). Moving Forward funktioniert gut, einfach durch Aktualisieren der Stage-ID auf der relevanten Entität. Allerdings habe ich keine Ahnung, wie ich die letzte Stufe beenden könnte = wie könnte ich den Prozess auf fertig stellen. Ich mag genau die gleichen Aktionen aufzurufen, wie mit der Taste „set fertig“ klickenProgrammablauf von Geschäftsprozessablauf in Dynamics CRM 365
Antwort
Um den aktuellen Status der aktiven Prozessinstanz gesetzt beendete Verwendung:
Xrm.Page.data.process.setStatus("finished");
Xrm.Page.data.process.setStatus(status, callbackFunction);
status
ist eine Zeichenkette, die active
, abandoned
oder finish
sein kann. callbackFunction
ist eine optionale Funktion, die aufgerufen wird, wenn der Vorgang abgeschlossen ist.
Hinweis: obwohl die Dokumentation sagt finish
zu verwenden, das nicht funktioniert: finished
verwenden.
Wenn Sie einen Geschäftsprozessablauf erstellen, erstellen Sie eine benutzerdefinierte Entität. Wenn Sie beispielsweise in der Standardlösung einen Geschäftsprozessablauf mit dem Namen Marketing Management erstellen, erstellen Sie eine Entität mit dem Namen new_marketingmanagement.
Wenn Sie einen Geschäftsprozessablauf für einen Datensatz aktivieren, wird eine Instanz dieser Entität erstellt. Die Instanz enthält Informationen, z. B. in welcher Phase sich der Prozess befindet und wann der Prozess gestartet wurde.
Sie können die Instanz deaktivieren Microsoft.Xrm.Sdk.Messages.SetStateRequest mit:
var stateRequest = new SetStateRequest
{
EntityMoniker = new EntityReference(processFlowName, processId),
State = new OptionSetValue(1), // Inactive.
Status = new OptionSetValue(2) // Finished.
};
service.Execute(stateRequest);
Wo processFlowName
ist der logische Name Ihres Unternehmens Prozessablauf als String und processId
ist die ID der Prozessinstanz fließen Sie als GUID deaktivieren .
Um die ID Ihrer Prozessflussinstanz zu finden, können Sie das Attribut _bpf_<primary_key>_value
abfragen, wobei <primary_key>
durch den Primärschlüssel der Entität ersetzt werden soll, auf der sich Ihr Prozess befindet. Auf der Account-Entität würde dies beispielsweise _bpf_accountid_value
lauten.
- 1. Mobile Dynamics CRM 365 Anwendung
- 2. Dynamics CRM 365 - Exportieren/Importieren von Lösungsfehlern aufgrund von Abhängigkeiten
- 3. Zugriff auf Microsoft CRM Dynamics 365 von .Net
- 4. Hierarchiedaten Fetch 365 mit FetchXML in Dynamics CRM
- 5. Fehler in dbo.DependencyBase beim Importieren von Dynamics CRM 2016 in Dynamics 365
- 6. Dynamics Crm 365 benutzerdefinierte Schaltfläche auf der Navigationsleiste
- 7. Dynamische Marketingliste Verwendung Abfrage funktioniert nicht - Dynamics CRM 365
- 8. Dynamics Crm 365 webapi - WebResource über Javascript veröffentlichen
- 9. dynamics 365 crm - plugin Ermitteln, wann refreshed aufgerufen wurde
- 10. AppDomain.CurrentDomain.AssemblyResolve in Dynamics crm
- 11. in Dynamics CRM 2016
- 12. Wie Datensätze in CRM Online durch Plugin in Dynamics CRM 365 On-Premise
- 13. Docusign für Dynamics CRM Online
- 14. Dynamics CRM: Schreiben von Excel zu CRM
- 15. Automatisieren von Genehmigungsprozessen in Dynamics CRM
- 16. Fehler im FetchXML-Bericht seit Dynamics 365
- 17. Dynamics 365 Authentifizierung
- 18. Dynamics 365 - Reihenfolge der Schritte in Business Process
- 19. movenext in crm Dynamik 365
- 20. Typoskript Dynamics CRM window.parent
- 21. Dynamics CRM Provisioning-Optionen
- 22. Batch Anfrage - Dynamics CRM
- 23. Authentifizieren zu Dynamics 365 On Premise
- 24. Dynamics CRM Bereitstellung Problem
- 25. Dynamics CRM Language Packs
- 26. Dynamics CRM Workflow-Datumsfeld
- 27. Dynamics CRM 2011 Entities
- 28. Dynamics CRM Incident erstellen
- 29. Synchronisieren von Adressänderungen in Dynamics CRM 4.0
- 30. Ausnahmebehandlung in Dynamics CRM SDK
Danke Dave. Mein Schlechter - Ich habe nicht ausdrücklich geschrieben, dass ich es gerne mit C# (Custom Action) machen würde. Ich habe die Frage bearbeitet. Immer noch die Lösung, die Sie vorschlagen, könnte in meinem Fall als Workaround verwendet werden. – Jan
Der Anwser ist fast richtig. Es scheint, dass ein Fehler in der Dokumentation vorliegt. Arbeitsaufruf: Xrm.Page.data.process.setStatus ("finished"); – Jan
In Doc gibt es auch einen Status "verlassen", der richtige Name ist "abgebrochen" – Jan