Workflow mittels Button in Modellgesteuerter-App aufrufen

Zunächst in der Modellgesteuerten App das Menüband des Formulars der gewünschten Entität bearbeiten.

Dafür den Button vom Typ “Befehl” erstellen und im Menüband platzieren

In einem nächsten Schritt, die Parameter eintragen:
– Name der Funktion aus dem Formularscript
– Die Workflow Id kann folgendermaßen gefunden werden:

  1. Navigieren zur gewünschten Umgebung.
  2. Klicken auf das Zahnradsymbol
  3. Wählen der erweiterten Einstellungen
  4. Wählen des Prozesses
  5. Öffnen des Workflows
  6. Die GUID kann in der URL gefunden werden
Das Formularscript vorbereiten bzw. aktualisieren. Zur Erstellung des Scripts, kann beispielsweise die Chrome Extension “Dataverse REST Builder” verwendet werden.
executeWorkflow: function(primaryControl, workflowId)
{
   var formContext = primaryControl;
   var guid = formContext.data.entity.getId().replace('{','').replace('}','');
   var executeWorkflowRequest = {
       EntityId: { 'guid': guid },
       entity: { id: workflowId, entityType: 'workflow'},
       getMetadata: function() {
             return {
                 boundParameter: 'entity',
                 parameterTypes: {
                     'entity': {
                         'typeName': 'mscrm.workflow',
                         'structuralProperty': 5
                     },
                     'EntityId': {
                         'typeName': 'Edm.Guid',
                         'structuralProperty': 1
                     }
                 },
                 operationType: 0,
                 operationName: 'ExecuteWorkflow'
             };
         }
     };
        
     Xrm.WebApi.online.execute(executeWorkflowRequest).then(
             function success(result) { 
                 if (result.ok) {
                     formContext.data.refresh();
                 }
             },
             function error(error) { 
                 Xrm.Utility.alertDialog(error.message);
              }
         );
}