# Rencana UI Laporan Persediaan Varian (Draft Sebelum Coding)

## Scope Diskusi
- Fokus hanya pada **interface laporan persediaan**.
- Tidak membahas alur transaksi.
- Tidak membahas struktur data/database.
- Tetap pakai mekanisme **GET** (tidak mengubah GET menjadi POST).

## Opsi yang Disepakati
- Pakai opsi **3**:
  - Toggle di panel atas.
  - Link varian per baris.

## Tujuan UI
- Menampilkan akses varian tanpa merusak tampilan laporan existing.
- Mempertahankan perilaku laporan master produk sebagai default.
- Menambah drill-down varian yang lebih cepat untuk user.

## Checklist Implementasi Teknis

### 1) Controller `Ledger.php`
- Tambah deteksi mode UI khusus halaman:
  - `master` untuk `RekeningPembantuProduk/1010030030`
  - `varian` untuk `RekeningPembantuProdukVarian/1010030030`
- Bangun URL toggle panel atas:
  - Master: `/Ledger/viewBalances_l1/RekeningPembantuProduk/1010030030`
  - Varian: `/Ledger/viewBalances_l1/RekeningPembantuProdukVarian/1010030030`
- Bawa parameter GET yang relevan saat pindah mode:
  - `o,w,periode,thn,bln,date,q,merek,brand_view`
- Saat kembali ke mode master, hapus `ext2_id` agar tidak terfilter parent.
- Siapkan data untuk view:
  - `produk_punya_varian` (map boolean per `pId`)
  - `parent_filter_label` jika mode varian menggunakan `ext2_id`

### 2) View `ledger.php`
- Tambah switch kecil di panel atas:
  - `Master Produk | Varian Produk`
- Tampilkan badge mode aktif.
- Jika ada `ext2_id` di mode varian, tampilkan badge:
  - `Filter Parent: <nama produk>`
- Di tabel master, tambahkan link/ikon kecil `Varian` per baris pada kolom `ITEM NAMES`.
- Link per baris **hanya tampil jika produk punya varian**.
- Target link per baris:
  - `/Ledger/viewBalances_l1/RekeningPembantuProdukVarian/1010030030?...&ext2_id=<PID>`

### 3) Aturan Visibility (Penting)
- Tombol toggle panel atas: tampil global pada halaman persediaan produk.
- Link varian per baris: tampil kondisional hanya untuk produk yang punya varian.

### 4) Validasi Manual Setelah Implementasi
- Toggle mode berfungsi dua arah (master <-> varian).
- Parameter GET tetap terbawa saat pindah mode.
- `ext2_id` aktif hanya saat perlu filter parent di mode varian.
- Tampilan tabel existing tidak berubah selain penambahan elemen UI baru.
- Tidak ada perubahan metode request (GET tetap GET).

## Catatan Kompatibilitas
- Rencana implementasi ditujukan kompatibel dengan:
  - PHP 5.6
  - CodeIgniter 3

