Persetujuan
Workflow: PersetujuanProfessional Edition+Pengantar
Pada alur kerja persetujuan, perlu menggunakan Node "Persetujuan" khusus untuk mengonfigurasi logika operasi pemrosesan (setujui, tolak, atau kembalikan) persetujuan yang diinisiasi untuk penyetuju, Node "Persetujuan" juga hanya dapat digunakan dalam alur persetujuan.
Perbedaan dengan Node "Penanganan Manual" biasa: Node "Penanganan Manual" biasa ditujukan untuk skenario yang lebih umum, dapat digunakan untuk lebih banyak tipe Workflow seperti input data manual, keputusan manual apakah alur dilanjutkan, dll. "Node persetujuan" adalah Node pemrosesan yang dispesialisasi khusus untuk alur persetujuan, hanya menangani data yang menginisiasi persetujuan, tidak dapat digunakan dalam Workflow lainnya.
Membuat Node
Klik tombol plus ("+") di alur, tambahkan Node "Persetujuan", lalu pilih salah satu mode persetujuan, buat Node persetujuan:

Konfigurasi Node
Mode Persetujuan
Mode persetujuan ada dua:
-
Mode Langsung: biasanya digunakan untuk alur yang relatif sederhana. Lulus atau tidaknya Node persetujuan hanya menentukan apakah alur berakhir, dalam kasus tidak lulus langsung keluar dari alur.

-
Mode Cabang: biasanya digunakan untuk logika data yang lebih kompleks. Setelah Node persetujuan menghasilkan hasil apa pun, dapat melanjutkan eksekusi Node lainnya dalam cabang hasilnya.

Setelah Node ini "Disetujui", selain mengeksekusi cabang setuju, juga akan melanjutkan eksekusi alur berikutnya. Setelah operasi "Tolak" secara default juga dapat melanjutkan eksekusi alur berikutnya, juga dapat dikonfigurasi pada Node untuk mengakhiri alur setelah mengeksekusi cabang.
Mode persetujuan tidak dapat dimodifikasi setelah Node dibuat.
Penyetuju
Penyetuju adalah kumpulan pengguna yang bertanggung jawab atas perilaku persetujuan Node tersebut, dapat satu atau beberapa pengguna. Sumber pemilihan dapat berupa nilai statis yang dipilih dari daftar pengguna, atau juga nilai dinamis yang ditentukan oleh variabel:

Saat memilih variabel, hanya dapat memilih primary key atau foreign key data pengguna dari konteks dan hasil Node. Jika variabel yang dipilih saat eksekusi adalah array (relasi to-many), maka setiap pengguna dalam array akan digabung ke seluruh kumpulan penyetuju.
Selain langsung memilih pengguna atau variabel, juga dapat memfilter pengguna yang memenuhi kondisi secara dinamis berdasarkan kondisi kueri tabel pengguna sebagai penyetuju:

Mode Negosiasi
Jika penyetuju saat eksekusi akhir hanya satu (termasuk kasus setelah deduplikasi beberapa variabel), maka apa pun mode negosiasi yang dipilih, hanya pengguna tersebut yang akan mengeksekusi operasi persetujuan, hasilnya juga hanya ditentukan oleh pengguna tersebut.
Saat ada beberapa pengguna dalam kumpulan penyetuju, memilih mode negosiasi yang berbeda merepresentasikan cara pemrosesan yang berbeda:
- Tanda tangan ATAU: cukup salah satu menyetujui untuk merepresentasikan Node disetujui, semua menolak baru merepresentasikan Node ditolak.
- Tanda tangan AND: perlu semua menyetujui untuk merepresentasikan Node disetujui, cukup salah satu menolak untuk merepresentasikan Node ditolak.
- Voting: perlu lebih dari rasio jumlah orang yang ditetapkan untuk menyetujui untuk merepresentasikan Node disetujui, jika tidak merepresentasikan Node ditolak.
Untuk operasi pengembalian, pada mode apa pun, jika ada pengguna dalam kumpulan penyetuju yang memprosesnya sebagai pengembalian, maka Node akan langsung keluar dari alur.
Urutan Pemrosesan
Sama halnya, ketika ada beberapa pengguna dalam kumpulan penyetuju, memilih urutan pemrosesan yang berbeda merepresentasikan cara pemrosesan yang berbeda:
- Paralel: semua penyetuju dapat memproses dalam urutan apa pun, tidak peduli urutan pemrosesan.
- Berurutan: penyetuju memproses secara berurutan sesuai urutan dalam kumpulan penyetuju, setelah penyetuju sebelumnya mengirim, baru penyetuju berikutnya dapat memproses.
Apakah diatur sebagai pemrosesan "Berurutan" atau tidak, hasil yang dihasilkan berdasarkan urutan pemrosesan aktual juga mengikuti aturan dalam "Mode Negosiasi" di atas. Setelah mencapai kondisi yang sesuai, Node tersebut selesai dieksekusi.
Keluar dari Workflow Setelah Cabang Tolak Berakhir
Saat "Mode Persetujuan" diatur sebagai "Mode Cabang", dapat memilih untuk keluar dari Workflow setelah cabang tolak berakhir. Setelah dicentang, di akhir cabang tolak akan ditampilkan "✗", menandakan setelah cabang tersebut berakhir tidak akan melanjutkan Node berikutnya:

Konfigurasi Antarmuka Penyetuju
Konfigurasi antarmuka penyetuju digunakan untuk menyediakan antarmuka operasi penyetuju ketika Workflow persetujuan dieksekusi sampai Node ini, klik tombol konfigurasi untuk membuka dialog:

Pada dialog konfigurasi dapat menambahkan Block seperti konten pengiriman asli, informasi persetujuan, formulir pemrosesan, dan teks tip kustom:

Konten Pengiriman Asli
Block detail konten persetujuan yaitu Block data yang dikirim penginisiasi, mirip dengan Block data biasa, dapat menambahkan komponen field tabel data secara bebas, dan dapat diatur dengan bebas, untuk mengorganisir konten yang perlu dilihat penyetuju:

Formulir Pemrosesan
Pada Block formulir operasi dapat menambahkan tombol operasi yang didukung Node ini, termasuk "Setujui", "Tolak", "Kembalikan", "Pemindahan Tanda Tangan", dan "Penambahan Tanda Tangan":

Selain itu, pada formulir operasi juga dapat menambahkan field yang dapat dimodifikasi penyetuju. Field-field ini akan ditampilkan pada formulir operasi saat penyetuju memproses persetujuan, penyetuju dapat memodifikasi nilai field-field ini, setelah dikirim juga akan memperbarui data yang digunakan untuk persetujuan, serta snapshot data yang sesuai dalam alur persetujuan.

"Setujui" dan "Tolak"
Pada tombol operasi persetujuan, "Setujui" dan "Tolak" adalah operasi penentu, setelah dikirim maka pemrosesan penyetuju yang sesuai pada Node tersebut selesai, field tambahan yang perlu diisi saat dikirim dapat ditambahkan pada dialog "Konfigurasi Pemrosesan" tombol operasi, seperti "Komentar", dll.

"Kembalikan"
"Kembalikan" juga merupakan operasi penentu, selain dapat mengonfigurasi komentar, juga dapat mengonfigurasi Node yang dapat dikembalikan:

"Pemindahan Tanda Tangan" dan "Penambahan Tanda Tangan"
"Pemindahan Tanda Tangan" dan "Penambahan Tanda Tangan" adalah operasi non-penentu, digunakan untuk menyesuaikan secara dinamis penyetuju dalam alur persetujuan, "Pemindahan Tanda Tangan" adalah memberikan tugas persetujuan pengguna saat ini ke pengguna lain untuk diproses, "Penambahan Tanda Tangan" adalah menambahkan satu penyetuju sebelum atau sesudah penyetuju saat ini, persetujuan dilanjutkan oleh penyetuju yang ditambahkan.
Setelah mengaktifkan tombol operasi "Pemindahan Tanda Tangan" atau "Penambahan Tanda Tangan", perlu memilih "Lingkup Pengguna yang Ditugaskan" pada menu konfigurasi tombol, untuk mengatur lingkup penyetuju baru yang dapat ditugaskan:

Sama dengan konfigurasi penyetuju asli Node, lingkup pengguna yang ditugaskan juga dapat berupa penyetuju yang langsung dipilih, atau berdasarkan kondisi kueri tabel pengguna, akhirnya akan digabungkan menjadi satu kumpulan, dan tidak termasuk pengguna yang sudah ada di kumpulan penyetuju.
Jika mengaktifkan atau menonaktifkan tombol operasi tertentu, atau memodifikasi lingkup pengguna yang ditugaskan, perlu menyimpan konfigurasi Node setelah menutup dialog konfigurasi antarmuka operasi, jika tidak perubahan tombol operasi tersebut tidak akan berlaku.
Kartu "Persetujuan Saya" 2.0+
Dapat digunakan untuk mengonfigurasi kartu tugas dalam daftar "Persetujuan Saya" pusat tugas.

Pada kartu dapat dengan bebas mengonfigurasi field bisnis (kecuali field relasi) yang ingin ditampilkan, atau informasi terkait persetujuan.
Setelah persetujuan masuk ke Node ini, daftar pusat tugas dapat melihat kartu tugas kustom:

Hasil Node
Setelah persetujuan selesai, status dan data terkait akan dicatat dalam hasil Node, dapat digunakan sebagai variabel oleh Node berikutnya.

Status Persetujuan Node
Merepresentasikan status pemrosesan Node persetujuan saat ini, hasilnya adalah nilai enum.
Data Setelah Persetujuan
Jika penyetuju memodifikasi konten persetujuan dalam formulir operasi, data yang dimodifikasi akan dicatat dalam hasil Node, untuk digunakan Node berikutnya. Jika perlu menggunakan field relasi, perlu mengonfigurasi pre-load untuk field relasi pada Trigger.
Record Persetujuan
v1.8.0+
Record pemrosesan persetujuan adalah array, mengandung record pemrosesan semua penyetuju di Node tersebut. Setiap baris record pemrosesan mengandung field berikut:
Dapat menggunakan field di dalamnya sebagai variabel pada Node setelahnya sesuai kebutuhan.

