2012-06-04

Logic nomor faktur Pembelian

Pertanyaan hari ini: bagaimana cara mendapatkan nomor pada faktur pembelian?!? Sebelum saya lanjut, ada baiknya kita anggap bahwa saat ini tidak ada program yang kita bikin. Tetapi yang ada adalah toko yang belum ada komputer apalagi program. Yang ada hanyalah kertas dan pulpen (plus kalkulator tua).
Saat seorang pembeli membeli barang, bagaimana si kasir mengetahui nomor kertas? Ternyata nomor kertas telah ada di kertas yang digunakan. Bisa dikatakan disaat ada transaksi barulah nomor itu keluar. Format angka untuk kertas tersebut berbeda, beberapa memakai angka tanpa ada kode seperti A,B atau lainnya. Sebenarnya kita perlu pelajari apa seh yang dimaksud dan kenapa ada kode seperti itu? kalau mau ditelusuri, di dalam toko kecil A dan B itu untuk mewakili bahwa kertas/nota/kuitansi itu mewakili pembelian, penjualan dan lainnya.


semua itu diperlukan karena biasanya si boss ngak tahu apakah nota ini untuk barang masuk atau barang keluar. Selain itu format dan angka di nota itu memiliki peraturan dimana angka yang digunakan untuk pembelian dan penjualan berbeda.
Perlu digarisbawahi, biasanya nota keduanya berada di kertas/buku berbeda. Sedangkan bila di program sebenarnya bisa digabungkan. Namun kembali ke kasus tokonya, apakah notanya memang harus dipisah atau digabung. Keduanya sebenarnya lebih baik digabung karena pada dasarnya strukturnya sama.

Nota yang dipisah sebenarnya digabung di program dengan status dan nomor yang berbeda. Tetapi secara programing kita tidak perlu menunjukkan angka yang sebenarnya karena nomor yang di inginkan oleh user terkadang tidak bisa kita tampilkan.

Dalam database saya biasa memakai table seperti ini.
  • transaksi: terdiri dari id, tanggal masuk, status. Nomor yang ada disini tidak akan ditampilkan ke user, karena sebenarnya nomor yang ditampilkan adanya di table berikutnya.
  • Transaksi_detail: berisi detail dari transaksi seperti nomor. Id di table ini berasal dari input di table transaksi. 
  • transaksi_item: item-item yang termasuk didalam transaksi.
Nomor nota ditampilkan dan di input di table Transaksi_detail! Langkahnya yang saya lakukan:
  1. memasukkan data pertama kalinya ke table transaksi untuk mendapatkan id yang biasanya adalah angka tertinggi.
  2. Id pada no 1 akan digunakan untuk sub_id di transaksi_detail dan transaksi_item.
  3. menjalankan logic buat mendapatkan nilai/nomor nota yang seharusnya. Logic ini nantinya dimasukkan ke salah satu field di transaksi_detail.
  4. Memasukkan item-item degan sub_id nya berasal dari id yang ditulis pertama.
 Logic ini berbeda tergantung keinginan dari anda. Tetapi usahakan agar mengikuti yang biasa mereka kerjakan dan berfikir sederhana agar bisa data yang termasuk pembelian gabung dengan penjualan.

Tidak ada komentar: