Approval Workflow
Panduan ini menjelaskan bagaimana alur approval beroperasi dari perspektif pengguna, termasuk antarmuka banner approval, tindakan yang tersedia, dan keseluruhan siklus dari permintaan approval.
Gambaran Umum
Ketika kebijakan approval dipicu, pengguna berinteraksi dengan sistem approval melalui banner terintegrasi yang muncul pada form dokumen yang relevan. Banner ini menyediakan informasi status real-time dan tombol aksi untuk pengguna yang berwenang.
Alur approval mendukung beberapa peran pengguna:
- Document Owner/Requestor: Pengguna yang membuat atau memperbarui dokumen yang memerlukan approval
- Approvers: Pengguna yang ditugaskan untuk meninjau dan menyetujui/menolak permintaan
- Approval Admins: Pengguna dengan akses administratif untuk mengelola dan memonitor approval
Antarmuka Banner Approval
Tampilan Banner
Banner approval muncul di bagian atas form dokumen ketika ada approval yang pending:
Hard Lock Banner
⚠️ Approval pending. This record is read-only until a decision is made.
Status: Pending • 1 / 2
Pending: john.doe@company.com (due: 2024-01-15 17:00), jane.smith@company.com (due: 2024-01-15 17:00)
[Approve] [Reject]
Advisory Banner (untuk Non-Approvers)
ℹ️ Approval pending.
Status: Pending • 0 / 1
Pending: manager@company.com (due: 2024-01-15 17:00)
[Recall]
Komponen Banner
| Komponen | Deskripsi |
|---|---|
| Lock Message | Menunjukkan apakah dokumen dikunci untuk pengeditan |
| Status Progress | Menampilkan status approval saat ini dan progress (disetujui/diperlukan) |
| Pending List | Daftar approver dengan tanggal jatuh tempo |
| Action Buttons | Tindakan yang tersedia berdasarkan izin pengguna |
Visibilitas Tombol Aksi
Tombol aksi ditampilkan secara kondisional berdasarkan izin pengguna:
Untuk Approver yang Ditugaskan
- Approve: Memberikan approval untuk permintaan
- Reject: Menolak permintaan approval
Untuk Pengguna Approval Request
- Recall: Membatalkan permintaan approval
Tindakan Pengguna
Approve Request
Tersedia untuk: Hanya approver yang ditugaskan
Persyaratan: Pengguna harus memiliki permintaan approval yang pending
Proses
- Klik tombol Approve di banner approval
- Opsional: Masukkan komentar di dialog approval
- Klik Approve untuk konfirmasi di dialog pop-up
Hasil
- Status permintaan berubah menjadi "Approved"
- Jumlah approval diperbarui
- Jika ambang approval tercapai, status keseluruhan menjadi "Approved"
- Lock dokumen dilepaskan (jika berlaku)
- Efek pasca-keputusan dieksekusi
- Notifikasi dikirim ke pihak yang relevan
Reject Request
Tersedia untuk: Hanya approver yang ditugaskan
Persyaratan: Pengguna harus memiliki permintaan approval yang pending
Proses
- Klik tombol Reject di banner approval
- Wajib: Masukkan alasan penolakan di dialog
- Klik Reject untuk konfirmasi di dialog pop-up
Hasil
- Status permintaan berubah menjadi "Rejected"
- Status approval keseluruhan langsung menjadi "Rejected"
- Lock dokumen dilepaskan
- Semua permintaan pending lainnya kedaluwarsa
- Efek pasca-keputusan dieksekusi
- Notifikasi dikirim ke pihak yang relevan
Recall Approval
Tersedia untuk: Peminta approval
Persyaratan: Approval harus dalam status "Pending"
Proses
- Klik tombol Recall di banner approval
- Konfirmasi tindakan recall di dialog konfirmasi
Hasil
- Status approval keseluruhan berubah menjadi "Cancelled"
- Semua permintaan pending ditandai sebagai "Expired"
- Lock dokumen dilepaskan
- Notifikasi dikirim ke approver yang pending
- Tidak ada efek pasca-keputusan yang dieksekusi
Mengakses Detail Approval Lengkap
Untuk melihat informasi approval lengkap, pengguna dapat:
- Navigasi langsung ke daftar System Approval
- Gunakan fungsi pencarian untuk menemukan approval tertentu berdasarkan referensi dokumen
- Akses melalui workspace Develop di bawah bagian Approval
- Jika bagian tidak terlihat, pastikan pengguna memiliki peran
Approval UseratauApproval Admin
- Jika bagian tidak terlihat, pastikan pengguna memiliki peran
Perilaku Lock Dokumen
Hard Lock
Ketika hard lock diaktifkan:
- Form menjadi read-only: Semua kolom input dinonaktifkan
- Save diblokir: Validasi di sisi server mencegah modifikasi dokumen
- Lock kolom eksplisit: Semua kolom diatur secara individual menjadi read-only
- Komentar tetap aktif: Pengguna masih dapat menambahkan komentar untuk komunikasi
- Indikator banner: Menampilkan status lock dengan jelas kepada pengguna
Mode Advisory
Ketika perilaku lock diatur ke "None":
- Form tetap dapat diedit: Pengguna dapat melanjutkan modifikasi dokumen
- Save diizinkan: Tidak ada pembatasan sisi server pada pembaruan dokumen
- Approval berlanjut: Modifikasi tidak mempengaruhi alur approval
- Notifikasi banner: Pengguna diberitahu bahwa approval sedang pending
Status Alur Approval dan Transisi
Status System Approval
| Status | Deskripsi | Tindakan yang Tersedia |
|---|---|---|
| Pending | Approval sedang berlangsung | Approve, Reject, Recall |
| Approved | Approval yang diperlukan telah diterima | Tidak ada (hanya lihat) |
| Rejected | Setidaknya satu penolakan diterima | Tidak ada (hanya lihat) |
| Cancelled | Ditarik oleh peminta | Tidak ada (hanya lihat) |
| Expired | Otomatis kedaluwarsa karena perubahan pengaturan sistem | Tidak ada (hanya lihat) |
Status Approval Request
| Status | Deskripsi | Pemicu |
|---|---|---|
| Pending | Menunggu tindakan approver | Status awal |
| Approved | Disetujui oleh pengguna yang ditugaskan | Pengguna klik Approve |
| Rejected | Ditolak oleh pengguna yang ditugaskan | Pengguna klik Reject |
| Expired | Otomatis kedaluwarsa | Kondisi sistem atau eskalasi |
Eskalasi dan Pengingat
Pengingat Otomatis
Jika dikonfigurasi dalam kebijakan approval:
- Jadwal Pengingat: Dikirim berdasarkan pengaturan "Reminder Every Hours"
- Konten: Menyertakan detail approval dan informasi tanggal jatuh tempo
- Penerima: Hanya approver yang pending
- Saluran: Email, SMS, dan/atau Slack berdasarkan konfigurasi kebijakan
Proses Eskalasi
Ketika eskalasi dipicu:
- Permintaan Asli Kedaluwarsa: Ditandai sebagai "Expired" dan "Is Escalated"
- Permintaan Baru Dibuat: Untuk target eskalasi (pengguna atau anggota peran)
- Notifikasi Dikirim: Approver yang dieskalasi menerima notifikasi mendesak
- Approval Berlanjut: Alur approval normal dengan approver baru
Manajemen Tanggal Jatuh Tempo
- Perhitungan Tanggal Jatuh Tempo: Berdasarkan "Due In Hours" dari pembuatan approval
- Indikasi Terlambat: Permintaan yang melewati tanggal jatuh tempo disorot di banner
- Pemicu Eskalasi: Eskalasi otomatis terjadi setelah "Escalate After Hours"
Komunikasi dan Permintaan Informasi
Komunikasi antara approver dan peminta harus menggunakan komentar pada dokumen:
Menggunakan Komentar untuk Komunikasi
- @mentions: Approver dapat menggunakan @username dalam komentar untuk memberitahu pengguna tertentu
- System Notifications: @mentions secara otomatis membuat notifikasi sistem
- Integrasi Email: Komentar dapat memicu notifikasi email jika dikonfigurasi
- Update Real-time: Komentar muncul segera pada dokumen
Praktik Terbaik untuk Approval Admins
- Monitoring Berkala: Periksa approval yang terlambat atau dieskalasi
- Pelatihan Pengguna: Pastikan semua pengguna memahami proses approval
- Maintenance Kebijakan: Tinjau dan perbarui kebijakan berdasarkan pola penggunaan
- Monitoring Performa: Awasi bottleneck dalam alur kerja approval
Troubleshooting Masalah Umum
Banner Tidak Muncul
- Periksa apakah Approval Settings diaktifkan
- Verifikasi DocType di-whitelist dalam Approval Settings
- Konfirmasi kebijakan approval aktif ada untuk DocType dan event
- Refresh halaman untuk memuat ulang status approval
Tindakan Tidak Bekerja
- Verifikasi pengguna memiliki izin peran yang sesuai
- Periksa apakah pengguna ditugaskan ke permintaan approval yang pending
- Pastikan approval masih dalam status "Pending"
- Hubungi administrator jika masalah izin berlanjut
Masalah Perilaku Lock
- Hard lock dijalankan di sisi server terlepas dari perilaku client
- Refresh cache mungkin diperlukan setelah penyelesaian approval
- Hubungi administrator jika lock bertahan setelah penyelesaian approval
Tantangan Komunikasi
- Gunakan @mentions dalam komentar untuk notifikasi langsung
- Pastikan pengguna memiliki pengaturan notifikasi yang dikonfigurasi dengan benar
- Pertimbangkan menggunakan saluran komunikasi eksternal untuk masalah mendesak
- Latih pengguna pada pola komunikasi berbasis komentar yang efektif