logologo
Başlangıç
Kılavuz
Geliştirme
Eklentiler
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Başlangıç
Kılavuz
Geliştirme
Eklentiler
API
logologo
İş Akışları
Genel Bakış
Hızlı Başlangıç

Tetikleyici

Genel Bakış
Veri Tablosu Olayı
Zamanlanmış Görev
Eylem Öncesi Olay
Eylem Sonrası Olay
Özel Eylem Olayı
Onay
Webhook

Düğüm

Genel Bakış

AI

LLM

Akış Kontrolü

Koşul
Çoklu Koşul Dalı
Döngü
Değişken
Paralel Dal
İş Akışını Çağır
Akış Çıktısı
JSON Değişken Eşleştirme
Gecikme
Bitir

Hesaplama

Hesaplama
Tarih Hesaplama
JSON Hesaplama

Veri İşlemi

Veri Ekle
Veri Güncelle
Veri Sorgula
Veri Sil
SQL İşlemi

Manuel İşlem

Manuel İşlem
Onay
Bilgi (CC)

Genişletilmiş Tür

HTTP İsteği
JavaScript Betiği
Bildirim
E-posta Gönder
Yanıt
Yanıt Mesajı
Değişken
Yürütme Kaydı
Sürüm Yönetimi
Gelişmiş Seçenekler

Eklenti Geliştirme

Genel Bakış
Tetikleyici Türünü Genişlet
Düğüm Türünü Genişlet
API Referansı
Previous PageGenel Bakış
Next PageZamanlanmış Görev
TIP

Bu belge AI tarafından çevrilmiştir. Herhangi bir yanlışlık için lütfen İngilizce sürümüne bakın

#Koleksiyon Olayları

#Giriş

Koleksiyon olayı türündeki tetikleyiciler, bir koleksiyon üzerindeki oluşturma, güncelleme ve silme olaylarını dinler. Bu koleksiyon üzerinde bir veri işlemi gerçekleştiğinde ve yapılandırılan koşulları karşıladığında, ilgili iş akışını tetikler. Örneğin, yeni bir sipariş oluşturulduktan sonra ürün envanterini düşürme veya yeni bir yorum eklendikten sonra manuel inceleme bekleme gibi senaryolarda kullanılır.

#Temel Kullanım

Koleksiyon değişiklikleri birkaç farklı durumda gerçekleşebilir:

  1. Veri oluşturulduktan sonra.
  2. Veri güncellendikten sonra.
  3. Veri oluşturulduktan veya güncellendikten sonra.
  4. Veri silindikten sonra.

Koleksiyon Olayı_Tetikleme Zamanı Seçimi

Farklı iş ihtiyaçlarınıza göre tetikleme zamanını seçebilirsiniz. Seçilen değişiklikler koleksiyonu güncellemeyi içeriyorsa, değişen alanları da belirtebilirsiniz. Tetikleme koşulu yalnızca seçilen alanlar değiştiğinde karşılanır. Hiçbir alan seçilmezse, herhangi bir alandaki bir değişiklik iş akışını tetikleyebilir.

Koleksiyon Olayı_Değişen Alanları Seçme

Daha detaylı olarak, tetikleyici veri satırının her alanı için koşul kuralları yapılandırabilirsiniz. Tetikleyici, yalnızca alanlar ilgili koşulları karşıladığında çalışır.

Koleksiyon Olayı_Veri Koşullarını Yapılandırma

Bir koleksiyon olayı tetiklendiğinde, olayı oluşturan veri satırı, iş akışındaki sonraki düğümler tarafından değişken olarak kullanılmak üzere tetikleyici bağlam verisi olarak yürütme planına enjekte edilir. Ancak, sonraki düğümler bu verinin ilişki alanlarını kullanmak istediğinde, öncelikle ilişki verilerinin ön yüklemesini yapılandırmanız gerekir. Seçilen ilişki verileri, tetikleyiciyle birlikte bağlama enjekte edilecek ve hiyerarşik olarak seçilip kullanılabilecektir.

#İlgili İpuçları

#Toplu Veri İşlemleriyle Tetikleme Şu Anda Desteklenmemektedir

Koleksiyon olayları şu anda toplu veri işlemleriyle tetiklemeyi desteklememektedir. Örneğin, bir makale oluştururken aynı anda o makaleye birden fazla etiket eklediğinizde (bire çok ilişki verisi), yalnızca makale oluşturma iş akışı tetiklenecektir. Aynı anda oluşturulan birden fazla etiket, etiket oluşturma iş akışını tetiklemeyecektir. Çoka çok ilişki verileri ilişkilendirilirken veya eklenirken, ara koleksiyon için iş akışı da tetiklenmeyecektir.

#Uygulama Dışındaki Veri İşlemleri Olayları Tetiklemez

Uygulamanın arayüzüne yapılan HTTP API çağrıları aracılığıyla koleksiyonlar üzerindeki işlemler de ilgili olayları tetikleyebilir. Ancak, veri değişiklikleri NocoBase uygulaması aracılığıyla değil de doğrudan veritabanı işlemleriyle yapılıyorsa, ilgili olaylar tetiklenemez. Örneğin, yerel veritabanı tetikleyicileri, uygulamadaki iş akışlarıyla ilişkilendirilmeyecektir.

Ek olarak, veritabanı üzerinde işlem yapmak için SQL eylem düğümünü kullanmak, doğrudan veritabanı işlemleriyle eşdeğerdir ve koleksiyon olaylarını tetiklemez.

#Harici Veri Kaynakları

İş akışları, 0.20 sürümünden itibaren harici veri kaynaklarını desteklemektedir. Harici bir veri kaynağı eklentisi kullanıyorsanız ve koleksiyon olayı harici bir veri kaynağı için yapılandırılmışsa, o veri kaynağı üzerindeki veri işlemleri uygulama içinde (kullanıcı oluşturma, güncellemeler ve iş akışı veri işlemleri gibi) yapıldığı sürece, ilgili koleksiyon olayları tetiklenebilir. Ancak, veri değişiklikleri başka sistemler aracılığıyla veya doğrudan harici veritabanında yapılıyorsa, koleksiyon olayları tetiklenemez.

#Örnek

Yeni bir sipariş oluşturulduktan sonra toplam fiyatı hesaplama ve envanteri düşürme senaryosunu örnek olarak ele alalım.

Öncelikle, aşağıdaki veri modellerine sahip bir Ürünler koleksiyonu ve bir Siparişler koleksiyonu oluşturalım:

Alan AdıAlan Tipi
Ürün AdıTek Satır Metin
FiyatSayı
StokTam Sayı
Alan AdıAlan Tipi
Sipariş KimliğiOtomatik Numaralandırma
Sipariş ÜrünüÇoka Bir (Ürünler)
Sipariş ToplamıSayı

Ve bazı temel ürün verileri ekleyelim:

Ürün AdıFiyatStok
iPhone 14 Pro799910
iPhone 13 Pro59990

Ardından, Siparişler koleksiyonu olayına dayalı bir iş akışı oluşturalım:

Koleksiyon Olayı_Örnek_Yeni Sipariş Tetikleyicisi

İşte bazı yapılandırma seçenekleri:

  • Koleksiyon: "Siparişler" koleksiyonunu seçin.
  • Tetikleme zamanı: "Veri oluşturulduktan sonra" seçeneğini belirleyin.
  • Tetikleme koşulları: Boş bırakın.
  • İlişki verilerini ön yükle: "Ürünler"i işaretleyin.

Ardından, iş akışı mantığına göre diğer düğümleri yapılandırın: ürün stoğunun 0'dan büyük olup olmadığını kontrol edin. Eğer büyükse, stoğu düşürün; aksi takdirde, sipariş geçersizdir ve silinmelidir:

Koleksiyon Olayı_Örnek_Yeni Sipariş İş Akışı Düzenlemesi

Düğümlerin yapılandırması, belirli düğüm türleri için hazırlanan belgelerde ayrıntılı olarak açıklanacaktır.

Bu iş akışını etkinleştirin ve arayüz üzerinden yeni bir sipariş oluşturarak test edin. "iPhone 14 Pro" için sipariş verdikten sonra, ilgili ürünün stoğu 9'a düşecektir. Eğer "iPhone 13 Pro" için sipariş verilirse, stok yetersizliği nedeniyle sipariş silinecektir.

Koleksiyon Olayı_Örnek_Yeni Sipariş Yürütme Sonucu