Bu belge AI tarafından çevrilmiştir. Herhangi bir yanlışlık için lütfen İngilizce sürümüne bakın
Onay, ilgili verilerin durumuna karar vermek için insan tarafından başlatılan ve insan tarafından işlenen özel bir süreç türüdür. Genellikle ofis otomasyonu veya diğer manuel karar alma süreçlerinin yönetiminde kullanılır. Örneğin, "izin talepleri", "masraf iadesi onayları" ve "hammadde tedarik onayları" gibi senaryolar için manuel iş akışları oluşturabilir ve yönetebilirsiniz.
Onay eklentisi, bu süreç için özel bir iş akışı türü (tetikleyici) olan "Onay (olay)" ve özel bir "Onay" düğümü sunar. NocoBase'in benzersiz özel koleksiyonları ve özel bloklarıyla birleştiğinde, çeşitli onay senaryolarını hızlı ve esnek bir şekilde oluşturabilir ve yönetebilirsiniz.
Bir iş akışı oluştururken, "Onay" türünü seçerek bir onay iş akışı oluşturabilirsiniz:

Ardından, iş akışı yapılandırma arayüzünde tetikleyiciye tıklayarak daha fazla yapılandırma için bir açılır pencere açın.
NocoBase'in Onay eklentisi esneklik üzerine tasarlanmıştır ve herhangi bir özel koleksiyon ile kullanılabilir. Bu, onay yapılandırmasının veri modelini yeniden yapılandırmasına gerek olmadığı, bunun yerine mevcut bir koleksiyonu doğrudan yeniden kullanabileceği anlamına gelir. Bu nedenle, tetikleyici yapılandırmasına girdikten sonra, bu iş akışının hangi koleksiyonun verileri oluşturulduğunda veya güncellendiğinde tetikleneceğini belirlemek için öncelikle bir koleksiyon seçmeniz gerekir:

Ardından, ilgili koleksiyon için veri oluşturma (veya düzenleme) formunda bu iş akışını gönder düğmesine bağlayın:

Bundan sonra, bir kullanıcı bu formu gönderdiğinde, ilgili onay iş akışı tetiklenecektir. Gönderilen veriler, ilgili koleksiyonda kaydedilmesinin yanı sıra, daha sonraki onaylayanların incelemesi ve kullanması için onay akışına da anlık görüntü olarak kaydedilir.
Bir onay iş akışının başlatıcı tarafından geri çekilmesine izin veriliyorsa, başlatıcının arayüz yapılandırmasında "Geri Çek" düğmesini etkinleştirmeniz gerekir:

Etkinleştirildiğinde, bu iş akışı tarafından başlatılan bir onay, herhangi bir onaylayan tarafından işlenmeden önce başlatıcı tarafından geri çekilebilir. Ancak, sonraki herhangi bir onay düğümünde yapılandırılan bir onaylayan tarafından işlendikten sonra artık geri çekilemez.
Geri çekme düğmesini etkinleştirdikten veya sildikten sonra, tetikleyici yapılandırma açılır penceresinde değişikliklerin etkili olması için kaydet ve gönder düğmesine tıklamanız gerekir.
Son olarak, başlatıcının form arayüzünü yapılandırmanız gerekir. Bu arayüz, onay merkezi bloğundan başlatıldığında ve bir geri çekme işleminden sonra yeniden başlatıldığında gönderme işlemleri için kullanılacaktır. Açılır pencereyi açmak için yapılandır düğmesine tıklayın:

Başlatıcının arayüzüne, bağlı koleksiyona dayalı bir doldurma formu veya ipuçları ve rehberlik için açıklayıcı metin (Markdown) ekleyebilirsiniz. Formun eklenmesi zorunludur; aksi takdirde, başlatıcı bu arayüze girdikten sonra herhangi bir işlem yapamayacaktır.
Bir form bloğu ekledikten sonra, normal bir form yapılandırma arayüzünde olduğu gibi, ilgili koleksiyonun alan bileşenlerini ekleyebilir ve formda doldurulması gereken içeriği düzenlemek için bunları istediğiniz gibi sıralayabilirsiniz:

Doğrudan gönder düğmesinden farklı olarak, geçici depolama sürecini desteklemek için bir "Taslak Olarak Kaydet" eylem düğmesi de ekleyebilirsiniz:

Bir onay iş akışında, onaylayanların başlatılan onayı işlemesi (onaylama, reddetme veya geri gönderme) için operasyonel mantığı yapılandırmak üzere özel "Onay" düğümünü kullanmanız gerekir. "Onay" düğümü yalnızca onay iş akışlarında kullanılabilir. Ayrıntılar için Onay Düğümü bölümüne bakın.
Bir onay iş akışını yapılandırıp etkinleştirdikten sonra, kullanıcıların gönderim sırasında onay başlatabilmesi için ilgili koleksiyonun form gönder düğmesine bağlayabilirsiniz:

İş akışını bağladıktan sonra, bir kullanıcı mevcut formu gönderdiğinde, bir onay başlatılır.
Onay başlatma düğmesi şu anda yalnızca yeni oluşturma veya güncelleme formlarındaki "Gönder" (veya "Kaydet") düğmesini desteklemektedir. "İş akışına gönder" düğmesini desteklemez (bu düğme yalnızca "Eylem sonrası olay"a bağlanabilir).
Yapılacaklar Merkezi, kullanıcıların bekleyen görevlerini görüntülemesi ve işlemesi için birleşik bir giriş noktası sağlar. Mevcut kullanıcı tarafından başlatılan onaylara ve bekleyen görevlere üst araç çubuğundaki Yapılacaklar Merkezi aracılığıyla erişilebilir ve farklı türdeki bekleyen görevler sol taraftaki kategori navigasyonu aracılığıyla görüntülenebilir.





Bir veri bloğundan başlatmak için, aşağıdaki gibi bir çağrı yapabilirsiniz (posts koleksiyonunun oluştur düğmesini örnek alarak):
Burada, URL parametresi triggerWorkflows, iş akışının anahtarıdır; birden fazla iş akışı anahtarı virgülle ayrılır. Bu anahtar, iş akışı tuvalinin üst kısmındaki iş akışı adının üzerine fareyle gelindiğinde elde edilebilir:

Başarılı bir çağrıdan sonra, ilgili posts koleksiyonu için onay iş akışı tetiklenecektir.
Harici çağrıların da kullanıcı kimliğine dayanması gerektiğinden, HTTP API aracılığıyla çağrı yaparken, normal arayüzden gönderilen isteklerle aynı şekilde, kimlik doğrulama bilgileri sağlanmalıdır. Buna Authorization istek başlığı veya token parametresi (giriş yapıldığında elde edilen token) ve X-Role istek başlığı (kullanıcının mevcut rol adı) dahildir.
Bu eylemde bire bir ilişkili veriler için bir olayı tetiklemeniz gerekiyorsa (bire çok henüz desteklenmemektedir), ilişki alanı için tetikleyici veriyi belirtmek üzere parametrede ! kullanabilirsiniz:
Yukarıdaki çağrı başarılı olduğunda, ilgili categories koleksiyonu için onay olayı tetiklenecektir.
HTTP API aracılığıyla bir eylem sonrası olayı 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 bir hata oluşabilir.
Parametreler
collectionName: Onay başlatılacak hedef koleksiyonun adı. Zorunlu.workflowId: Onay başlatmak için kullanılan iş akışı ID'si. Zorunlu.data: Onay başlatılırken oluşturulan koleksiyon kaydının alanları. Zorunlu.status: Onay başlatılırken oluşturulan kaydın durumu. Zorunlu. Olası değerler şunlardır:
0: Taslak, onay için gönderilmeden kaydedildiğini belirtir.1: Onay için gönder, başlatıcının onay talebini gönderdiğini ve onay sürecine girdiğini belirtir.Başlatılan (veya geri çekilen) bir onay taslak durumundayken, aşağıdaki API aracılığıyla tekrar kaydedebilir veya gönderebilirsiniz:
Başlatıcı, şu anda onayda olan bir kaydı aşağıdaki API aracılığıyla geri çekebilir:
Parametreler
<approval id>: Geri çekilecek onay kaydının ID'si. Zorunlu.Onay iş akışı bir onay düğümüne girdikten sonra, mevcut onaylayan için bir yapılacaklar görevi oluşturulur. Onaylayan, onay görevini arayüz üzerinden veya HTTP API çağrısı yaparak tamamlayabilir.
Yapılacaklar görevleri, onay işlem kayıtlarıdır. Mevcut kullanıcının tüm onay işlem kayıtlarını aşağıdaki API aracılığıyla alabilirsiniz:
Burada, approvalRecords bir koleksiyon kaynağı olarak, filter, sort, pageSize ve page gibi genel sorgu koşullarını da kullanabilir.
Parametreler
<record id>: Onaylanacak kaydın ID'si. Zorunlu.status: Onay işleminin durumunu belirten alan. 2 "Onaylandı", -1 "Reddedildi" anlamına gelir. Zorunlu.comment: Onay işlemi için notlar. İsteğe bağlı.data: Onaylandıktan sonra mevcut onay düğümündeki koleksiyon kaydında yapılacak değişiklikleri belirtir. İsteğe bağlı (yalnızca onaylandığında geçerlidir).v1.9.0 sürümünden önce, geri gönderme işlemi "Onaylama" ve "Reddetme" ile aynı API'yi kullanıyordu; "status": 1 geri göndermeyi temsil ediyordu.
v1.9.0 sürümünden itibaren, geri gönderme için ayrı bir API bulunmaktadır:
Parametreler
<record id>: Onaylanacak kaydın ID'si. Zorunlu.returnToNodeKey: Geri dönülecek hedef düğüm anahtarı. İsteğe bağlı. Düğümde geri dönülebilir düğüm aralığı yapılandırıldığında, bu parametre hangi düğüme geri dönüleceğini belirtmek için kullanılabilir. Yapılandırılmadığında, bu parametrenin değeri geçirilmesine gerek yoktur ve varsayılan olarak başlangıç noktasına geri dönülür, böylece başlatıcı tarafından yeniden gönderilir.Parametreler
<record id>: Onaylanacak kaydın ID'si. Zorunlu.assignee: Devredilecek kullanıcının ID'si. Zorunlu.Parametreler
<record id>: Onaylanacak kaydın ID'si. Zorunlu.assignees: Ek imza atacak kullanıcı ID'lerinin listesi. Zorunlu.order: Ek imzanın sırası. -1 "ben"den önce, 1 "ben"den sonra anlamına gelir.