logologo
Start
Dokumentacja
Deweloperzy
Wtyczki
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Dokumentacja
Deweloperzy
Wtyczki
API
logologo
Przepływy pracy
Przegląd
Szybki start

Wyzwalacze

Przegląd
Zdarzenia tabeli danych
Zadania zaplanowane
Zdarzenie przed akcją
Zdarzenie po akcji
Niestandardowe zdarzenia akcji
Zatwierdzenia
Webhook

Węzły

Przegląd

AI

LLM

Kontrola przepływu

Warunek
Rozgałęzienie warunkowe
Pętla
Zmienne
Rozgałęzienie równoległe
Wywołaj przepływ pracy
Wyjście przepływu
Mapowanie zmiennych JSON
Opóźnienie
Zakończ

Obliczenia

Obliczenia
Obliczenia dat
Obliczenia JSON

Operacje na danych

Dodaj dane
Zaktualizuj dane
Zapytaj o dane
Usuń dane
Operacje SQL

Przetwarzanie ręczne

Przetwarzanie ręczne
Zatwierdzenia
Kopia (CC)

Rozszerzanie typów

Żądanie HTTP
Skrypt JavaScript
Powiadomienia
Wyślij e-mail
Odpowiedź
Komunikat odpowiedzi
Zmienne
Historia wykonań
Zarządzanie wersjami
Opcje zaawansowane

Rozwój rozszerzeń

Przegląd
Rozszerzanie typów wyzwalaczy
Rozszerzanie typów węzłów
Dokumentacja API
Previous PagePrzegląd
Next PageZadania zaplanowane
TIP

Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej

#Zdarzenia kolekcji

#Wprowadzenie

Triggery typu zdarzeń kolekcji będą nasłuchiwać zdarzeń tworzenia, aktualizacji i usuwania danych w kolekcji. Gdy operacja na danych w tej kolekcji nastąpi i spełni skonfigurowane warunki, zostanie uruchomiony odpowiedni przepływ pracy. Na przykład, scenariusze takie jak odjęcie stanu magazynowego produktu po utworzeniu nowego zamówienia, lub oczekiwanie na ręczną weryfikację po dodaniu nowego komentarza.

#Podstawowe użycie

Istnieje kilka typów zmian w kolekcji:

  1. Po utworzeniu danych.
  2. Po zaktualizowaniu danych.
  3. Po utworzeniu lub zaktualizowaniu danych.
  4. Po usunięciu danych.

Collection Event_Trigger Timing Selection

Mogą Państwo wybrać moment wyzwolenia w zależności od potrzeb biznesowych. Gdy wybrana zmiana obejmuje aktualizację kolekcji, mogą Państwo również określić pola, które uległy zmianie. Warunek wyzwolenia zostanie spełniony tylko wtedy, gdy zmienią się wybrane pola. Jeśli żadne pola nie zostaną wybrane, oznacza to, że zmiana w dowolnym polu może wyzwolić przepływ pracy.

Collection Event_Select Changed Fields

Bardziej szczegółowo, mogą Państwo skonfigurować reguły warunków dla każdego pola w wyzwalającym wierszu danych. Wyzwolenie nastąpi tylko wtedy, gdy pola spełnią odpowiednie warunki.

Collection Event_Configure Data Conditions

Po wyzwoleniu zdarzenia kolekcji, wiersz danych, który wygenerował zdarzenie, zostanie wstrzyknięty do planu wykonania jako dane kontekstowe wyzwalacza, aby mógł być używany jako zmienne przez kolejne węzły w przepływie pracy. Jednakże, gdy kolejne węzły będą potrzebowały użyć pól relacji tych danych, należy najpierw skonfigurować wstępne ładowanie danych relacji. Wybrane dane relacji zostaną wstrzyknięte do kontekstu wraz z wyzwoleniem i mogą być wybierane i używane hierarchicznie.

#Wskazówki

#Wyzwalanie przez masowe operacje na danych nie jest obecnie obsługiwane

Zdarzenia kolekcji obecnie nie obsługują wyzwalania przez masowe operacje na danych. Na przykład, podczas tworzenia artykułu i jednoczesnego dodawania wielu tagów dla tego artykułu (dane relacji jeden do wielu), zostanie wyzwolony tylko przepływ pracy dla tworzenia artykułu. Jednocześnie utworzone wiele tagów nie wyzwolą przepływu pracy dla tworzenia tagów. Podczas kojarzenia lub dodawania danych relacji wiele do wielu, przepływ pracy dla kolekcji pośredniej również nie zostanie wyzwolony.

#Operacje na danych poza aplikacją nie wyzwolą zdarzeń

Operacje na kolekcjach poprzez wywołania interfejsu API HTTP aplikacji również mogą wyzwalać odpowiednie zdarzenia. Jednakże, jeśli zmiany danych są dokonywane bezpośrednio poprzez operacje bazodanowe, a nie za pośrednictwem aplikacji NocoBase, odpowiednie zdarzenia nie mogą zostać wyzwolone. Na przykład, natywne triggery bazodanowe nie będą powiązane z przepływami pracy w aplikacji.

Dodatkowo, użycie węzła operacji SQL do manipulowania bazą danych jest równoznaczne z bezpośrednimi operacjami na bazie danych i nie wyzwoli zdarzeń kolekcji.

#Zewnętrzne źródła danych

Przepływy pracy obsługują zewnętrzne źródła danych od wersji 0.20. Jeśli używają Państwo wtyczki zewnętrznego źródła danych i zdarzenie kolekcji jest skonfigurowane dla zewnętrznego źródła danych, to dopóki operacje na danych w tym źródle są wykonywane w ramach aplikacji (takie jak tworzenie przez użytkownika, aktualizacje i operacje danych przepływu pracy), odpowiednie zdarzenia kolekcji mogą zostać wyzwolone. Jednakże, jeśli zmiany danych są dokonywane za pośrednictwem innych systemów lub bezpośrednio w zewnętrznej bazie danych, zdarzenia kolekcji nie mogą zostać wyzwolone.

#Przykład

Przyjrzyjmy się scenariuszowi obliczania całkowitej ceny i odejmowania stanu magazynowego po utworzeniu nowego zamówienia.

Najpierw tworzymy kolekcję Produktów i kolekcję Zamówień z następującymi modelami danych:

Nazwa polaTyp pola
Nazwa produktuTekst jednowierszowy
CenaLiczba
Stan magazynowyLiczba całkowita
Nazwa polaTyp pola
ID zamówieniaSekwencja
Produkt zamówieniaWiele do jednego (Produkty)
Całkowita wartość zamówieniaLiczba

Następnie dodajemy podstawowe dane produktów:

Nazwa produktuCenaStan magazynowy
iPhone 14 Pro799910
iPhone 13 Pro59990

Następnie tworzymy przepływ pracy oparty na zdarzeniu kolekcji Zamówień:

Collection Event_Example_New Order Trigger

Oto niektóre z opcji konfiguracji:

  • Kolekcja: Wybierz kolekcję „Zamówienia”.
  • Moment wyzwolenia: Wybierz wyzwolenie „Po utworzeniu danych”.
  • Warunki wyzwolenia: Pozostaw puste.
  • Wstępne ładowanie danych relacji: Zaznacz „Produkty”.

Następnie konfigurujemy inne węzły zgodnie z logiką przepływu pracy: sprawdzamy, czy stan magazynowy produktu jest większy niż 0. Jeśli tak, odejmujemy stan magazynowy; w przeciwnym razie zamówienie jest nieważne i powinno zostać usunięte:

Collection Event_Example_New Order Workflow Orchestration

Konfiguracja węzłów zostanie szczegółowo wyjaśniona w dokumentacji dla konkretnych typów węzłów.

Włącz ten przepływ pracy i przetestuj go, tworząc nowe zamówienie za pośrednictwem interfejsu. Po złożeniu zamówienia na „iPhone 14 Pro”, stan magazynowy odpowiedniego produktu zostanie zmniejszony do 9. Jeśli zamówienie zostanie złożone na „iPhone 13 Pro”, zamówienie zostanie usunięte z powodu niewystarczającego stanu magazynowego.

Collection Event_Example_New Order Execution Result