Zum Hauptinhalt springen

Datensätze finden

Nutze den Schritt Datensätze finden, wenn dein Flow einen oder mehrere Datensätze aus einer Business-Central-Tabelle lesen soll. Du kannst jede Tabelle abfragen, Ergebnisse über Feldfilter und einen Smart-Filter eingrenzen und die passenden Datensätze an Folgeschritte weitergeben — zum Beispiel um sie in einer Schleife zu durchlaufen, Bedingungen zu prüfen oder Dokumente zu drucken.

Typische Einsatzszenarien sind:

  • Alle offenen Einkaufsbestellungen eines bestimmten Kreditors abrufen.
  • Einen Kundendatensatz anhand der Nummer nachschlagen, bevor eine E-Mail-Benachrichtigung gesendet wird.

Was passiert, wenn der Schritt läuft

  1. AutoFlow öffnet die von dir konfigurierte Tabelle.
  2. Alle Feldfilter werden angewendet, um die Datenmenge einzugrenzen.
  3. Die gefilterten Datensätze werden durchlaufen. Hast du einen Smart-Filter hinterlegt, wird jeder Datensatz dagegen geprüft — nur Datensätze, bei denen der Smart-Filter wahr ergibt, werden übernommen.
  4. Passende Datensätze werden als Referenz-Outputs hinzugefügt (results[0], results[1], …), bis das konfigurierte Limit erreicht ist.
  5. Der Output count wird auf die Anzahl der gefundenen Datensätze gesetzt.
  6. Werden keine Datensätze gefunden und ist Fehler bei leerem Ergebnis aktiviert, bricht der Schritt mit einem Fehler ab und der Flow stoppt.

Schritt konfigurieren

Öffne den Flow-Editor, füge Datensätze finden hinzu und fülle die Konfigurationskarte aus.

Beschreibung

  • Zweck: Fasse zusammen, was dieser Schritt abruft, damit der Flow leicht zu lesen ist.
  • Wann ausfüllen: Immer. Die Beschreibung erscheint im Editor und in der Ausführungshistorie.
  • Tipp: Nenne Tabelle und Absicht, zum Beispiel "Offene Einkaufsbestellungen für Kreditor abrufen".

Tabellennr.

  • Zweck: Legt fest, welche Business-Central-Tabelle abgefragt wird.
  • Wann ausfüllen: Verpflichtend. Ohne Tabellennummer kann der Schritt nicht ausgeführt werden.
  • Tipp: Nutze das Lookup, um verfügbare Tabellen zu durchsuchen. Wähle die eigentliche Anwendungstabelle — vermeide temporäre oder Puffer-Tabellen.

Feldfilter

  • Zweck: Schränken die Ergebnisse ein, bevor der Smart-Filter zum Einsatz kommt.
  • Wann ausfüllen: Optional, aber empfohlen , um einen vollständigen Tabellenscan zu vermeiden.
  • Funktionsweise: Jeder Eintrag verknüpft eine Feldnummer mit einem Business-Central-Filterausdruck. Die Filter werden direkt auf dem RecordRef gesetzt und nutzen so das native Datenbank-Filtering — das ist sehr effizient.
  • Tipp: Nutze dynamische Werte aus vorherigen Schritten, indem du Variablen mit der Syntax {{Variable}} im Filterwert referenzierst. Kombiniere mehrere Filter für präzise Abfragen.

Smart-Filter

  • Zweck: Wertet pro Datensatz eine Bedingung anhand aufgelöster Feldwerte aus.
  • Wann ausfüllen: Optional. Nutze ihn, wenn du Logik brauchst, die über Standard-Feldfilter hinausgeht — beispielsweise um Felder des aktuellen Datensatzes mit Werten aus früheren Schritten zu vergleichen.
  • Funktionsweise: Für jeden Datensatz, der die Feldfilter besteht, injiziert AutoFlow die Feldwerte des Datensatzes in den Kontext und wertet den Smart-Filter-Ausdruck aus. Nur Datensätze, bei denen der Ausdruck wahr ergibt, werden übernommen.
  • Tipp: Referenziere Felder des aktuellen Datensatzes mit {{Feldname}}. Du kannst auch Outputs aus früheren Schritten verwenden. Lass das Feld leer, um die Einzelprüfung zu überspringen und alle gefilterten Datensätze zu akzeptieren. Die vollständige Operator- und Funktionsreferenz findest du auf der Seite SmartFilters & SmartFormulas.

Limit

  • Zweck: Begrenzt die maximale Anzahl zurückgegebener Datensätze.
  • Wann ausfüllen: Optional. Standardwert ist 100, wenn das Feld leer bleibt oder auf Null steht.
  • Tipp: Setze ein sinnvolles Limit für dein Szenario. Erwartest du einen einzelnen Datensatz, setze es auf 1. Für Stapelverarbeitung kannst du das Limit erhöhen, aber behalte die Performance im Blick.

Fehler bei leerem Ergebnis

  • Zweck: Legt fest, ob der Schritt einen Fehler auslösen soll, wenn keine Datensätze passen.
  • Wann ausfüllen: Optional. Standardmäßig deaktiviert.
  • Tipp: Aktiviere diese Option, wenn der Flow ohne Daten nicht weiterlaufen kann — etwa wenn ein benötigter Stammdatensatz fehlt. Lass sie deaktiviert, wenn ein leeres Ergebnis ein gültiger Zustand ist, den der Flow im weiteren Verlauf behandelt.

Outputs

Der Schritt liefert zwei Outputs, die du in späteren Actions verwenden kannst:

  • count: Die Anzahl der gefundenen Datensätze (als Text).
  • results: Ein Array von Datensatz-Referenzen (results[0], results[1], …). Jeder Eintrag ist eine Record-ID, die Folgeschritte auflösen können — zum Beispiel in einer For-Each-Schleife oder einem „PDF-Dokument erstellen"-Schritt.

Ergebnisse in einer For-Each-Schleife verwenden

Datensätze finden und die For-Each-Schleife ergänzen sich ideal. Richte den Selektor der Schleife auf den Output results, um jeden gefundenen Datensatz zu durchlaufen. Innerhalb der Schleife stellt jede Iteration die aktuelle Datensatz-Referenz bereit, mit der du Felder lesen, Berichte ausführen oder weitere Aktionen anstoßen kannst.

Best Practices

  • Früh filtern: Nutze Feldfilter, um die Ergebnisse auf Datenbankebene einzugrenzen, bevor der Smart-Filter greift. Das hält den Schritt schnell — auch bei großen Tabellen.
  • Sinnvolles Limit setzen: Vermeide es, Tausende Datensätze abzurufen, wenn du sie nicht wirklich brauchst. Ein enges Limit schützt die Performance und hält Ausführungsprotokolle übersichtlich.
  • Leere Ergebnisse behandeln: Wenn ein leeres Ergebnis möglich ist, aktiviere entweder Fehler bei leerem Ergebnis oder füge nach Datensätze finden einen Entscheidungsschritt ein, der count prüft.
  • Mit For-Each-Schleife kombinieren: Wenn du mehrere Datensätze verarbeitest, übergib results an eine For-Each-Schleife, statt Array-Indizes fest zu kodieren. So bleibt dein Flow dynamisch, unabhängig von der Ergebnisanzahl.