Approval Overview

Sistem approval di TechMaju Core menyediakan alur approval yang komprehensif dan berbasis kebijakan yang dapat diterapkan pada DocType apa pun dalam aplikasi Anda. Sistem ini menyediakan kebijakan approval yang dapat dikonfigurasi, prosedur hard-lock, notifikasi otomatis, dan mode persetujuan yang fleksibel.

Gambaran Umum

Sistem Approval dirancang untuk mengontrol modifikasi dokumen melalui alur persetujuan yang dapat dikonfigurasi. Sistem ini beroperasi secara independen dari DocTypes bisnis, menjadikannya solusi independen yang dapat diterapkan secara universal di seluruh aplikasi Anda.

Fitur utama meliputi:

  • Otomasi berbasis kebijakan - Konfigurasi persyaratan persetujuan berdasarkan event DocType
  • Prosedur hard-lock - Mencegah modifikasi dokumen hingga persetujuan diberikan
  • Mode persetujuan fleksibel - Dukungan untuk pola persetujuan All, Any One, atau Count(n)
  • Notifikasi multi-channel - Integrasi Email, SMS, dan Slack
  • Eskalasi dan pengingat - Manajemen SLA otomatis dengan jalur eskalasi yang dapat disesuaikan
  • Keamanan berbasis peran - Izin terperinci untuk administrator dan pengguna

Komponen Utama

Sistem approval terdiri dari lima DocTypes utama yang bekerja sama untuk menyediakan manajemen alur kerja yang lengkap:

1. Approval Settings

Konfigurasi global yang mengaktifkan sistem persetujuan dan menentukan DocTypes mana yang tunduk pada alur persetujuan.

2. Approval Policy

Mendefinisikan aturan dan kondisi di mana persetujuan dipicu, termasuk:

  • Target DocType dan event pemicu
  • Kondisi filter untuk pemicuan selektif
  • Mode persetujuan dan approver yang diperlukan
  • Penguncian dan efek pasca-keputusan
  • Pengaturan SLA dan aturan eskalasi

3. System Approval

Melacak status persetujuan untuk dokumen tertentu. Setiap System Approval mewakili satu alur persetujuan yang terikat pada dokumen tertentu.

4. Approval Request

Persetujuan yang ditugaskan kepada pengguna tertentu. Satu System Approval dapat memiliki lebih dari satu permintaan, tergantung pada mode persetujuan yang dikonfigurasi dalam kebijakan persetujuan.

5. Approval Notification

Jejak audit dari semua notifikasi yang dikirim selama proses persetujuan, yang terkait dengan record communication.

ℹ️ Secara bawaan, System Notifications dihasilkan untuk event persetujuan kunci seperti pembuatan request dan keputusan persetujuan/penolakan.

Alur Persetujuan


Document Event → Policy Evaluation → System Approval Creation → Request Generation → User Actions → Completion

  1. Trigger: Event dokumen (save, submit, dll.) terjadi pada DocType yang di-whitelist
  2. Policy Check: Sistem mengevaluasi kebijakan aktif yang cocok dengan DocType dan event
  3. Approval Creation: Jika kondisi terpenuhi, System Approval dibuat
  4. Request Distribution: Approval Request dikirim ke approver yang ditunjuk
  5. User Interaction: Approver dapat menyetujui, menolak, atau meminta informasi tambahan
  6. Completion: System Approval mencapai status final (Approved/Rejected/Cancelled)
  7. Post-Processing: Efek yang dikonfigurasi diterapkan pada dokumen asli

Catatan Penting Perilaku Sistem

Satu Persetujuan Per Dokumen

Sistem hanya mengizinkan satu persetujuan aktif untuk setiap dokumen pada satu waktu. Hal ini mencegah terjadinya duplikasi atau tumpang tindih alur persetujuan, bahkan ketika terdapat beberapa kebijakan yang berpotensi sesuai dengan event dokumen yang sama.

  • Hard Lock Policies: Sistem tidak akan menghasilkan permintaan persetujuan tambahan jika sudah ada permintaan persetujuan dengan prosedur hard-lock
  • Advisory Policies: Bahkan untuk kebijakan non-blocking (advisory), hanya satu alur persetujuan yang dapat aktif per dokumen
  • Policy Priority: Kebijakan pertama yang cocok dengan event dokumen akan dieksekusi; kebijakan selanjutnya yang cocok akan diabaikan sampai proses approval selesai

Menghindari Persetujuan Rekursif

⚠️Penting: Efek pasca-keputusan dapat secara tidak sengaja memicu alur persetujuan baru, menciptakan pengulangan rekursif. Pengguna harus merancang kebijakan dengan hati-hati untuk mencegah ini:

Pertimbangan Field Setter

Ketika mengkonfigurasi On Approve Set Field atau On Reject Set Field:

  • Filter Exclusions: Pastikan kondisi filter kebijakan mengecualikan dokumen dimana kolom target memiliki nilai yang Anda tetapkan
  • Contoh: Jika menetapkan approval_status = "Approved", tambahkan kondisi filter approval_status != "Approved"
  • Multiple Fields: Pertimbangkan semua kolom yang dimodifikasi dalam logika filter Anda

Pertimbangan Script Function

Ketika menggunakan On Approve Call Script atau On Reject Call Script:

  • Hati-hati dalam modifikasi nilai kolom: Hindari memodifikasi kolom yang dapat memicu kebijakan persetujuan yang sama
  • Pengecekan Kondisi: Sertakan logika dalam script untuk memeriksa apakah persetujuan sudah diproses
  • Pencegahan Event: Gunakan flag dokumen atau pengecekan status untuk mencegah pemicuan ulang

Keamanan dan Izin

Sistem ini mencakup dua peran utama:

  • Approval Admin: Akses penuh untuk mengkonfigurasi kebijakan, melihat semua persetujuan, dan mengelola pengaturan persetujuan
  • Approval User: Akses terbatas untuk melihat dan bertindak pada persetujuan dimana mereka ditugaskan sebagai approver atau pemilik dokumen

ℹ️ Query izin data memastikan pengguna hanya melihat persetujuan yang relevan dengan peran dan penugasan mereka.

Discard
Save

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on