# Hasil UAT UI Hirarki Piutang Pembelian (2026-04-16)

Dokumen ini adalah hasil eksekusi dari `UAT_QUICKCHECK_UI_HIRARKI_KEUANGAN.md` untuk modul piutang pembelian (credit note supplier).

## 1. Identitas UAT
- Aplikasi: `san_15apr`
- Modul yang diuji: `Piutang Pembelian`
- URL:
  - `Ledger/viewBalances_l1/RekeningPembantuSupplier/1010020030`
- Tanggal uji: `2026-04-16`
- Penguji: `Codex (static validation)` + `User (manual validation executed)`
- Role penguji: `operasional + holding/management`

## 2. Ringkasan Metode Uji
- Metode 1: validasi statis via inspeksi kode.
- Metode 2: syntax check PHP (`php -l`) untuk file yang diubah.
- Metode 3: uji manual browser desktop + mobile pada URL target.

## 3. Hasil Quickcheck

### 3.1 Prasyarat
- [x] Data saldo tersedia pada kategori kartu utama.
- [x] Role operasional bisa membuka halaman.
- [x] Role holding/management bisa membuka halaman.
- [x] Query string dasar siap dipakai (`?o=<cabang>&w=<gudang>`), dipertahankan oleh builder URL existing.

### 3.2 UAT Visual Ringkas
- [x] Panel hirarki tampil di atas tabel.
- [x] Kartu utama tampil sesuai mapping akun modul.
- [x] Nilai saldo utama terlihat dominan dan terbaca.
- [x] Badge total muncul dan konsisten dengan kartu aktif.
- [x] Catatan mode aktif muncul.
- [x] Layout tetap rapi pada desktop.
- [x] Layout tetap usable pada viewport kecil/mobile.

Catatan:
- Mapping kartu aktif final:
  - `1010020030` -> Piutang Pembelian (Credit Note)
- Modul `Uang Muka Supplier` tetap terpisah:
  - `1010050010` / `1010050020` tidak masuk panel ini.

### 3.3 UAT Interaksi Ringkas
- [x] Filter periode tetap tersedia pada mode hirarki.
- [x] Search keyword tetap tersedia pada mode hirarki.
- [x] Tombol reset keyword tetap tersedia.
- [x] Klik kartu menuju detail akun yang benar.
- [x] Tombol export/print tetap tampil sesuai mekanisme existing.
- [x] Sorting, paging, dan footer total tabel tetap normal. (validasi statis + tampilan runtime)

Catatan:
- Pada evidence URL desktop saat ini, panel dan tabel tampil normal tanpa error visual.

### 3.4 UAT Cross-Role Ringkas
- [x] Role operasional: panel + tabel + tombol sesuai hak akses.
- [x] Role holding/management: panel + tabel + tombol sesuai hak akses.
- [x] Tidak ada error JS/PHP pada sesi uji terlampir.
- [x] Tidak ada anomali tampilan pada URL yang diuji.

## 4. Kriteria Lulus
- [x] Tidak ada error syntax pada file PHP yang diubah.
- [x] Tidak ada regresi fungsi tabel (berdasarkan validasi statis + uji manual desktop).
- [x] Tidak ada regresi query string filter (berdasarkan validasi statis).
- [x] Tidak ada layout break kritikal di desktop/mobile.
- [x] Bukti screenshot before/after lengkap tersedia.

## 5. Bukti Teknis
- [x] `php -l application/controllers/Ledger.php` -> no syntax errors.
- [x] `php -l application/views/ledger.php` -> no syntax errors.
- [x] Screenshot desktop sebelum. (baseline full tanpa keyword, evidence user 2026-04-16)
- [x] Screenshot desktop sesudah. (dengan keyword `bubut`, evidence user 2026-04-16)
- [x] Screenshot mobile sesudah. (evidence user 2026-04-16)
- [x] Capture URL implementasi:
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuSupplier/1010020030`
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuSupplier/1010020030?o=-1&periode=full&q=bubut`

## 6. Status Akhir
- Status akhir: `LULUS`.
- Catatan:
  - Implementasi UI-only + mapping data tampilan untuk hirarki piutang pembelian sudah terpasang.
  - Kartu utama `1010020030` (Piutang Pembelian / Credit Note) tampil sesuai desain hirarki.
  - Pemisahan modul dari `Uang Muka Supplier` tetap terjaga.
- Risiko tersisa:
  - Tidak ada risiko kritikal terbuka pada scope UI-only.
- Next action:
1. Arsip evidence UAT untuk paket handover final.
2. Lanjutkan pola implementasi ke modul berikutnya bila dibutuhkan.

## 7. Skrip Eksekusi Manual (Urutan Cepat)

Gunakan URL relatif berikut:
1. `Ledger/viewBalances_l1/RekeningPembantuSupplier/1010020030` (Piutang Pembelian / Credit Note).

Urutan uji (10-15 menit):
1. Buka URL `1010020030`.
2. Pastikan panel hirarki piutang pembelian muncul di atas tabel.
3. Pastikan kartu `Piutang Pembelian (Credit Note)` tampil dengan kode akun benar.
4. Uji filter periode, klik `Terapkan`, pastikan hasil tetap sinkron.
5. Isi keyword pada search, submit, pastikan hasil tabel terfilter.
6. Klik reset keyword, pastikan kata kunci terhapus.
7. Verifikasi sorting/paging/footer tabel tetap jalan.
8. Ulangi langkah inti pada role operasional dan role holding.
9. Ambil screenshot desktop before/after + mobile + capture URL filter/search.

Expected result:
- Tidak ada error PHP/JS.
- Tidak ada layout pecah pada panel, filter, dan tabel.
- Hak akses tombol export/print sesuai role.
