Przewodnik po Flowee - jak budować aplikacje procesowe przy użyciu Flowee Help

Dodanie zadania: dataReady

Używane na potrzeby sprawdzenia czy do domeny data zapisały się już dane.
Przy starcie procesu, system uruchamia kilka akcji, w tym zapisz do domeny data i uruchom proces w Flowee BPMS. Czasem akcja z zapisem do daty kończy się później niż w Flowee BPMS (ułamki sekund), więc proces odpytuje bazę, a jeszcze nie ma danych.

Żeby zabezpieczyć proces przed powyższym i opóźnić wczytywanie, zrób pętlę w procesie jak poniżej:

Image13

Dlaczego? Zadanie sprawdź dane zawiera skrypt, który:

  • pobiera identyfikator procesu:

def processInstanceId = execution.getProcessInstanceId();

Zmienna processInstanceId przechowuje unikalny identyfikator aktualnej instancji procesu.

  • pobiera dane formularza:

def formData = dataDelegate.getValueByPath(processInstanceId, 'formData');

Funkcja dataDelegate.getValueByPath odczytuje dane formularza (formData) zapisane w procesie.

  • weryfikuje dane:

if (formData == null || formData == '-' || formData == '{}') { return false; }

Sprawdza, czy dane formularza są:

null (brak danych), '-' (wartość domyślna lub placeholder), '{}' (pusty obiekt JSON).

Jeśli któreś z tych warunków jest spełnione, skrypt zwraca false.

  • zwraca wynik:

return true;

Jeśli dane są poprawne, skrypt zwraca true.

Wynik (true lub false) jest użyty w bramce decyzyjnej.

Gdy proces dotrze do bramki, zostanie oceniona wartość wyrażenia:

${dataReady == false}

Jeśli dataReady ma wartość false, proces przejdzie ścieżką połączoną z tym warunkiem.

Jak?
Wybierz z lewego menu ikonkę Create task i przeciągnij na proces, a następnie przejdź do konfiguracji:

def processInstanceId = execution.getProcessInstanceId(); def formData = dataDelegate.getValueByPath(processInstanceId, 'formData') if (formData == null || formData == '-' || formData == '{}') { return false; } return true;

Następnie z lewego menu wybierz ikonkę Create gateway i po połączeniu z Timer intermediate catch event kliknij w sequence flow (strzałka) i skonfiguruj:

Następnie z lewego menu wybierz ikonkę Create intermediate/boundary event, przeciągnij na proces i zmień w ustawieniach na Timer intermediate catch event i skonfiguruj:

Tu przeczytasz więcej o Timer Events

09 lutego 2026