Zum Hauptinhalt springen

Beleg freigegeben

Nutze den Trigger Beleg freigegeben, um einen Flow interaktiv auszuführen – in deiner eigenen Session, in dem Moment, in dem ein Benutzer einen Verkaufs- oder Einkaufsbeleg freigibt. Da der Flow synchron kurz vor der Freigabe läuft, kann er:

  • Die Freigabe verhindern. Schließe den Flow mit einem Fehler-Schritt ab, und die Freigabe wird mit deiner Meldung abgebrochen. Ideal, um zusätzliche Anforderungen zu erzwingen („vor der Freigabe ist eine Kontaktperson erforderlich").
  • Den Beleg vorher anpassen. Schließe den Flow mit einem Schritt Feldwerte setzen ab, und deine Werte werden vor der Freigabe in den Kopf geschrieben.
  • Die Freigabe selbst übernehmen. Aktiviere in diesem Schritt Standardverarbeitung überspringen, dann wird der Beleg mit deinen Werten gespeichert, statt freigegeben zu werden – zum Beispiel mit Status Genehmigung ausstehend für deine eigene Genehmigung.

Dazwischen kannst du jeden anderen AutoFlow-Schritt verwenden (etwas nachschlagen, einen Dienst aufrufen usw.).

Unterstützte Belege (genau eine Tabelle wählen):

  • Verkaufskopf
  • Einkaufskopf

Typische Szenarien:

  • Die Freigabe eines Verkaufsauftrags blockieren, bis eine Projektreferenz gefüllt ist.
  • Auf Einkaufsbestellungen eine externe Belegnummer vor der Freigabe verlangen.
  • Eine verantwortliche Person beim Freigeben auf dem Beleg vorbelegen.

Was passiert, wenn der Flow läuft​

  1. Ein Benutzer gibt einen Verkaufs- oder Einkaufsbeleg über die Seite frei.
  2. AutoFlow setzt deine Feldfilter. Passt der Beleg nicht, läuft die Freigabe normal weiter.
  3. Der Flow läuft synchron bis zum Ende, bevor der Beleg freigegeben wird:
    • Endet er mit einem Fehler-Schritt (oder löst ein Schritt einen Fehler aus), wird die Freigabe abgebrochen und der Benutzer sieht die Meldung; der Beleg behält seinen Status.
    • Endet er mit einem Schritt Feldwerte setzen, werden diese Werte in den Beleg geschrieben und die Freigabe läuft weiter.
    • Ist in diesem Schritt Standardverarbeitung überspringen aktiviert, wird der Beleg mit diesen Werten gespeichert und von Business Central nicht freigegeben – er bekommt genau den Status, den der Flow gesetzt hat.
    • Endet er einfach, läuft die Freigabe unverändert weiter.

Nur die manuelle Freigabe (ein Benutzer klickt auf Freigeben) löst diesen Trigger aus – automatische Freigaben anderer Prozesse bleiben unberührt.

Trigger-Ausgabe​

  • Rec — eine Referenz auf den freizugebenden Beleg, sodass SmartFields seine Felder lesen können (z. B. {{<slug>.Rec.Amount}}) und Folgeschritte ihn nutzen können. Er zeigt den Status vor der Freigabe – z. B. Genehmigung ausstehend, wenn ein Genehmiger einen Beleg freigibt, den ein Flow dort geparkt hat.

Trigger konfigurieren​

Öffne den Flow-Editor, wähle Wenn ein Beleg freigegeben wird (interaktiv) und fülle die Karte aus.

Tabelle​

Wähle Verkaufskopf oder Einkaufskopf.

Der Tabellen-Picker listet alle Tabellen des Systems auf, der Auslöser funktioniert aber nur mit den oben genannten. Wählst du eine andere, sagt die Statuszeile unten im Dialog das sofort – "Tabelle 17 (Sachposten) wird von diesem Auslöser nicht unterstützt, der Flow würde also nie laufen" – und der Flow lässt sich nicht veröffentlichen, bis du das änderst.

Direkt neben dieser Meldung sitzt Diese Tabelle anfragen. Das schickt die Tabelle und den Auslöser an das AutoFlow-Team, zusammen mit deiner Organisation, damit wir uns bei dir melden können. Die Schaltfläche erscheint nur, solange die gewählte Tabelle nicht unterstützt wird. Dein Partner kann Tabellen auch selbst über eine kleine Begleit-Extension ergänzen; sprich uns dafür an.

Nur interaktive Sessions​

Lass dies aktiviert (Standard), damit der Flow nur läuft, wenn eine Person den Beleg im Client freigibt.

Timeout (Sekunden)​

Der Flow läuft, während der Benutzer den Beleg freigibt – halte den Wert also kurz.

Feldfilter​

Optional. Beschränke den Flow auf Belege, die bestimmte Kriterien erfüllen (zum Beispiel Belegart = Auftrag).

Den Beleg ändern: Feldwerte setzen​

Um den Beleg vor der Freigabe anzupassen, schließe den Flow mit dem Schritt Feldwerte setzen ab (in Flows vom Typ Beleg freigegeben verfügbar). Füge je Feld eine Zeile hinzu, trage einen Wert ein (SmartField-Verweise werden unterstützt) und wähle Validieren (wie auf der Seite eingegeben) oder Zuweisen (Rohwert).

Die Freigabe übernehmen: Standardverarbeitung überspringen​

Business Central setzt einen freigegebenen Beleg immer auf Freigegeben – Werte, die du im Status setzt, werden überschrieben. Aktiviere im Schritt Feldwerte setzen Standardverarbeitung überspringen, wenn der Flow stattdessen über das Ergebnis entscheiden soll: Der Beleg wird mit deinen Werten gespeichert (zum Beispiel Status = Genehmigung ausstehend), und die Freigabe von Business Central läuft nicht.

Weil der Beleg nicht freigegeben wird, entfällt auch alles, was eine Freigabe sonst erledigt: Lageranforderungen werden nicht freigegeben und Zeilenbeträge nicht neu berechnet. Ein Beleg, der nicht Freigegeben ist, kann nicht gebucht werden – ein Beleg, den du in Genehmigung ausstehend geparkt hast, bleibt also sicher, bis er wirklich freigegeben wird.

Die Freigabe verhindern​

Um die Freigabe zu stoppen, schließe den Flow mit einem Fehler-Schritt ab und gib die Meldung an, die der Benutzer sehen soll. Der Beleg behält seinen Status.

Den Benutzer vorher fragen​

Mit einem Schritt Bestätigungsdialog stellst du dem Benutzer eine Ja/Nein-Frage, bevor die Freigabe weiterläuft – zum Beispiel „Kreditlimit überschritten. Trotzdem freigeben?“. Schließ den Nein-Pfad mit einem Fehler-Schritt ab, um die Freigabe abzubrechen, und lass den Ja-Pfad weiterlaufen. Setze die Frage vor jeden schreibenden Schritt.

Eine eigene Genehmigung bauen​

Mit den Triggern Beleg freigegeben und Beleg erneut geöffnet bildest du eine Genehmigung komplett in AutoFlow ab, mit den Status von Business Central:

  1. Anfordern – ein Flow Beleg freigegeben für den Verkaufskopf. Ist Rec.Status Offen und braucht der Auftrag eine Genehmigung (zum Beispiel, weil der Betrag über einer Grenze liegt), schick dem Genehmiger eine E-Mail und schließe mit Feldwerte setzen ab: Status = Genehmigung ausstehend, Standardverarbeitung überspringen aktiviert. Der Auftrag steht jetzt auf Genehmigung ausstehend statt auf Freigegeben.
  2. Genehmigen – der Genehmiger öffnet den Auftrag und klickt erneut auf Freigeben. Derselbe Flow sieht jetzt Rec.Status = Genehmigung ausstehend: Ein Schritt Entscheidung prüft, ob der freigebende Benutzer ({{currentUser}}) ein Genehmiger ist. Wenn ja, endet der Flow ohne Antwortschritt und Business Central gibt den Auftrag frei; sonst schließt du mit einem Fehler-Schritt ab („Nur ein Genehmiger kann diesen Auftrag freigeben.“).
  3. Ablehnen – stattdessen klickt der Genehmiger auf Erneut öffnen. Ein Flow Beleg erneut geöffnet sieht Rec.Status = Genehmigung ausstehend, informiert den Anforderer und lässt das erneute Öffnen weiterlaufen: Der Auftrag ist wieder Offen und kann geändert und erneut eingereicht werden.
vorsicht

Kombiniere das nicht mit dem eigenen Genehmigungsworkflow von Business Central für dieselben Belege. Die Genehmigungsposten von Business Central wissen nichts von der AutoFlow-Genehmigung, und solange sie offen sind, blockiert Business Central das erneute Öffnen weiter.

Datensatz geändert vs. Beleg freigegeben​

Beide ergänzen sich. Der Trigger Datensatz geändert reagiert auf direkte Feldänderungen und kann diese verhindern/ändern. Gesamtdokument-Operationen wie das Freigeben fängst du am besten mit diesem Trigger ab, weil er direkt in die Freigabe eingreift und sie sauber verhindern kann – der Modify-Trigger kann eine Freigabe nicht zuverlässig zurückrollen.