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

Tetikleyiciler

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

Düğümler

Genel Bakış

Yapay Zeka

Büyük Dil Modeli

Akış Kontrolü

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

Hesaplama

Hesaplama
Tarih Hesaplama
JSON Hesaplama

Veri İşlemleri

Veri Oluştur
Veri Güncelle
Veri Sorgula
Veri Sil
SQL İşlemi

Manuel İşlem

Manuel İşlem
Onay
Bilgi (CC)

Genişletilmiş Türler

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

Genişletme Geliştirme

Genel Bakış
Tetikleyici Türlerini Genişletme
Düğüm Türlerini Genişletme
API Referansı
Previous PageEylem Sonrası Olay
Next PageOnay
AI Çeviri Bildirimi

Bu belge yapay zeka tarafından çevrilmiştir. Doğru bilgi için İngilizce sürüme bakın.

#Özel İşlem Olayı

Workflow: Özel Action OlayıCommunity Edition+

#Giriş

NocoBase yerleşik yaygın veri işlemlerine (ekleme, silme, düzenleme, görüntüleme vb.) sahiptir. Bu işlemler karmaşık iş ihtiyaçlarını karşılayamadığında, bir iş akışında özel işlem olayını kullanabilir ve bu olayı bir sayfa bloğundaki "İş Akışını Tetikle" düğmesine bağlayabilirsiniz; kullanıcı tıkladığında özel bir işlem iş akışı tetiklenecektir.

#İş Akışı Oluşturma

Bir iş akışı oluştururken "Özel İşlem Olayı"nı seçin:

“Özel İşlem Olayı” iş akışı oluşturma

#Tetikleyici Yapılandırması

#Bağlam Türü

v1.6.0+

Bağlam türünün farklı olması, bu iş akışının hangi bloklardaki düğmelere bağlanabileceğini belirler:

  • Bağlamsız: Yani genel olaydır; işlem panellerindeki ve veri bloklarındaki işlem düğmelerine bağlanabilir;
  • Tek kayıt: Tablo veri satırları, formlar, detaylar gibi veri bloklarındaki işlem düğmelerine bağlanabilir;
  • Çoklu kayıt: Tablonun toplu işlem düğmelerine bağlanabilir.

Tetikleyici Yapılandırması_Bağlam Türü

#Koleksiyon

Bağlam türü tek kayıt veya çoklu kayıt olduğunda, veri modelinin bağlanacağı koleksiyonu seçmeniz gerekir:

Tetikleyici Yapılandırması_Koleksiyon Seçimi

#Kullanılacak İlişkisel Veriler

İş akışında tetikleyici veri satırının ilişkisel verilerini kullanmanız gerekiyorsa, buradan derin ilişkisel alanları seçebilirsiniz:

Tetikleyici Yapılandırması_Kullanılacak İlişkisel Verileri Seçin

Bu alanlar, olay tetiklendikten sonra iş akışında kullanılabilmesi için otomatik olarak iş akışı bağlamına önceden yüklenecektir.

#İşlem Yapılandırması

İş akışında yapılandırılan bağlam türüne bağlı olarak, farklı bloklardaki işlem düğmesi yapılandırmaları da farklılık gösterir.

#Bağlamsız

v1.6.0+

İşlem panellerine ve diğer veri bloklarına "İş Akışını Tetikle" düğmesi eklenebilir:

Bloğa İşlem Düğmesi Ekle_İşlem Paneli

Bloğa İşlem Düğmesi Ekle_Takvim

Bloğa İşlem Düğmesi Ekle_Gantt Şeması

Düğme eklendikten sonra, daha önce oluşturulan bağlamsız iş akışını bağlayın; işlem panelindeki düğmeyi örnek alırsak:

Düğmeye İş Akışı Bağlama_İşlem Paneli

Bağlanacak İş Akışını Seçin_Bağlamsız

#Tek Kayıt

Herhangi bir veri bloğunda, tek kayıt işlemlerinin bulunduğu işlem çubuğuna "İş Akışını Tetikle" düğmesi eklenebilir; örneğin formlar, tablo veri satırları, detaylar vb.:

Bloğa İşlem Düğmesi Ekle_Form

Bloğa İşlem Düğmesi Ekle_Tablo Satırı

Bloğa İşlem Düğmesi Ekle_Detay

Düğme eklendikten sonra daha önce oluşturulan iş akışını bağlayın:

Düğmeye İş Akışı Bağlama

Bağlanacak İş Akışını Seçin

Bundan sonra bu düğmeye tıklandığında ilgili özel işlem olayı tetiklenecektir:

Düğmeye Tıklamanın Tetikleme Sonucu

#Çoklu Kayıt

v1.6.0+

Tablo bloğunun işlem çubuğuna "İş Akışını Tetikle" düğmesi eklerken ek bir seçenek sunulur; bağlam türünü "Bağlamsız" veya "Çoklu kayıt" olarak seçebilirsiniz:

Bloğa İşlem Düğmesi Ekle_Tablo

"Bağlamsız" seçildiğinde bu bir genel olaydır ve yalnızca bağlamsız türdeki iş akışları bağlanabilir.

"Çoklu kayıt" seçildiğinde, çoklu kayıt türündeki iş akışları bağlanabilir ve veriler çoklu seçildikten sonra toplu işlemler için kullanılabilir (şu anda yalnızca tablolar tarafından desteklenmektedir). Bu durumda seçilebilecek iş akışı kapsamı, yalnızca mevcut veri bloğunun koleksiyonuyla eşleşecek şekilde yapılandırılmış iş akışlarıdır:

20250215224436

Düğmeye tıklandığında tetikleme gerçekleşmesi için tablodaki bazı veri satırlarının seçilmiş olması gerekir, aksi takdirde iş akışı tetiklenmeyecektir:

20250215224736

#Örnek

Örneğin, bir "Numune" koleksiyonumuz olsun; "Toplandı" (durum) olan numuneler için bir "İncelemeye Gönder" işlemi sunmamız gerekiyor. İncelemeye gönderme işlemi önce numunenin temel bilgilerini kontrol edecek, ardından bir "İnceleme Kaydı" verisi oluşturacak ve numune durumunu "İncelemeye Gönderildi" olarak değiştirecektir. Bu süreçler dizisi basit "ekle, sil, düzenle, sorgula" düğme tıklamalarıyla tamamlanamaz; bu durumda gerçekleştirmek için özel işlem olayını kullanabiliriz.

Önce bir "Numune" koleksiyonu ve bir "İnceleme Kaydı" koleksiyonu oluşturun ve numune tablosuna temel test verilerini girin:

Örnek_Numune Koleksiyonu

Ardından bir "Özel İşlem Olayı" iş akışı oluşturun; işlem sürecinden zamanında geri bildirim almanız gerekiyorsa senkron modu seçebilirsiniz (senkron modda manuel işlem gibi asenkron türdeki düğümler kullanılamaz):

Örnek_İş Akışı Oluşturma

Tetikleyici yapılandırmasında koleksiyon olarak "Numune"yi seçin:

Örnek_Tetikleyici Yapılandırması

İş ihtiyaçlarına göre süreçteki mantığı düzenleyin; örneğin gösterge parametresi 90'dan büyük olduğunda incelemeye göndermeye izin verin, aksi takdirde ilgili sorun hakkında uyarı verin:

Örnek_İş Mantığı Düzenlemesi

İpucu

"Yanıt Mesajı" düğümü, istemciye geri gönderilecek uyarı bilgileri için senkron özel işlem olaylarında kullanılabilir. Asenkron modda kullanılamaz.

Süreci yapılandırıp etkinleştirdikten sonra tablo arayüzüne dönün ve tablonun işlem sütununa "İş Akışını Tetikle" düğmesini ekleyin:

Örnek_İşlem Düğmesi Ekleme

Ardından düğmenin yapılandırma menüsünden iş akışı bağlamayı seçin ve yapılandırma penceresini açın:

Örnek_İş Akışı Bağlama Penceresini Açma

Daha önce etkinleştirilen iş akışını ekleyin:

Örnek_İş Akışı Seçimi

Gönderdikten sonra düğme metnini "İncelemeye Gönder" gibi işlem adıyla değiştirin; yapılandırma süreci tamamlanmıştır.

Kullanırken, tabloda herhangi bir numune verisini seçin ve "İncelemeye Gönder" düğmesine tıklayarak özel işlem olayını tetikleyin. Daha önce düzenlenen mantığa göre, numune gösterge parametresi 90'dan küçükse tıklandığında aşağıdaki gibi bir uyarı verilecektir:

Örnek_Gösterge İnceleme Şartını Karşılamıyor

Gösterge parametresi 90'dan büyükse süreç normal şekilde yürütülecek, "İnceleme Kaydı" verisi oluşturulacak ve numune durumu "İncelemeye Gönderildi" olarak değiştirilecektir:

Örnek_İncelemeye Gönderme Başarılı

Böylece basit bir özel işlem olayı tamamlanmış olur. Benzer şekilde, sipariş işleme, rapor gönderme gibi karmaşık işlemleri olan işler için de özel işlem olayları aracılığıyla uygulama yapılabilir.

#Harici Çağrı

Özel işlem olaylarının tetiklenmesi yalnızca kullanıcı arayüzü işlemleriyle sınırlı değildir, HTTP API çağrıları aracılığıyla da tetiklenebilir. Özellikle özel işlem olayları, tüm koleksiyon işlemleri için iş akışlarını tetiklemek üzere yeni bir işlem türü sağlar: trigger; bu, NocoBase standart işlem API'si kullanılarak çağrılabilir.

İpucu

Harici çağrılar da kullanıcı kimliğine dayanması gerektiğinden, HTTP API aracılığıyla çağrı yaparken normal arayüzden gönderilen isteklerle tutarlı olarak; Authorization istek başlığı veya token parametresi (oturum açarak elde edilen token) ve X-Role istek başlığı (kullanıcının mevcut rol adı) dahil olmak üzere kimlik doğrulama bilgilerinin sağlanması gerekir.

#Bağlamsız

Bağlamsız iş akışlarının tetikleme işlemi workflows kaynağına yönelik olmalıdır:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/workflows:trigger?triggerWorkflows=workflowKey"

#Tek Kayıt

Örnekteki gibi düğme ile tetiklenen bir iş akışı şu şekilde çağrılabilir:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

Bu işlem tek bir veriye yönelik olduğundan, mevcut veriler üzerinde çağrı yaparken veri satırının ID'sini belirtmeniz ve URL'deki <:id> kısmını değiştirmeniz gerekir.

Eğer bir form üzerinden çağrılıyorsa (yeni ekleme veya güncelleme gibi), yeni veri ekleme formu için ID iletilmeyebilir ancak yürütme bağlamı verisi olarak gönderilen verilerin iletilmesi gerekir:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Sample 1",
    "id": 91
  }'
  "http://localhost:3000/api/samples:trigger?triggerWorkflows=workflowKey"

Güncelleme formu için hem veri satırının ID'sinin hem de güncellenen verilerin iletilmesi gerekir:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Sample 1",
    "id": 91
  }'
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

Hem ID hem de veri birlikte iletilirse, önce ID'ye karşılık gelen veri satırı yüklenecek, ardından nihai tetikleyici veri bağlamını elde etmek için iletilen veri nesnesindeki özellikler orijinal veri satırının üzerine yazılacaktır.

Not

İlişkisel veriler iletilirse onlar da üzerine yazılacaktır; özellikle ilişkisel veri öğelerinin önceden yüklenmesi yapılandırılmışsa, ilişkisel verilerin beklenmedik şekilde üzerine yazılmasını önlemek için iletilen verilerin dikkatli bir şekilde işlenmesi gerekir.

Ayrıca, URL parametresi triggerWorkflows iş akışının key'idir; birden fazla iş akışı virgülle ayrılır. Bu key, iş akışı tuvalinin üst kısmındaki iş akışı adının üzerine fareyle gelindiğinde elde edilebilir:

İş Akışı_key_Görüntüleme Yöntemi

Yukarıdaki çağrı başarılı olduktan sonra ilgili samples koleksiyonunun özel işlem olayı tetiklenecektir.

İpucu

HTTP API çağrısı yoluyla bir işlem olayını tetiklerken, iş akışının etkinleştirme durumuna ve koleksiyon yapılandırmasının eşleşip eşleşmediğine de dikkat etmeniz gerekir; aksi takdirde çağrı başarılı olmayabilir veya hata oluşabilir.

#Çoklu Kayıt

Tek kayıt çağrı yöntemine benzer ancak iletilen verilerin yalnızca birden fazla birincil anahtar parametresine (filterByTk[]) ihtiyacı vardır ve data kısmının iletilmesine gerek yoktur:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/samples:trigger?filterByTk[]=1&filterByTk[]=2&triggerWorkflows=workflowKey"

Bu çağrı, çoklu kayıt modundaki özel işlem olayını tetikleyecek ve id'si 1 ve 2 olan verileri tetikleyici bağlamındaki veriler olarak kullanacaktır.