How to make a best form design in vfp (part 2)

2007 January 27

Keterangan Gambar :

1. Title Bar

TitleBar : terbuat dari container yang didalamnya terdapat sebuah Label untuk menunjukan nama Titlebar dari form yang active saat form dijalankan.

2. DataEnvirontment+CursorAdapter (DE+CA) yang digunakan

DataEnvironment : DE sengaja saya keluarkan disini yang berguna untuk mengetahui dengan cepat ada berapa Table yang digunakan pada form ini.

CursorAdapter : Cursor/Data yang digunakan pada form ini.

Catatan : DE dan CA sudah dimodifikasi untuk melakukan penyesuaian terhadap datatype yang diambil dari serverSQL, contoh : pada field tanggal, format awal dari tanggal pada server adalah datetime , disini saya mengubah type datetime menjadi date saja (hanya field tertentu yang masih dipertahankan menjadi datetime).

3. MenuBar

Button (left to right)
a. New (Ket: NEDSU : New,Edit,Delete,Save,Undo)
b. Edit
c. Delete
d. Save (hanya digunakan jika data tidak membutuhkan form child, atau data yang hanya diubah melalui grid).
e. Undo (sama dengan d button)
f. Screen (Report to Screen / Preview)
Report ditampilkan langsung ke layar.
g. Printer (Report to Printer tanpa melalui preview)]
Report dicetak langsung ke printer.
h. SearchAll
SearchAll adalah pencarian data termasuk data yang tidak ditampilkan di Grid, artinya data yang ditampilkan tidak menjadi patokan untuk pencarian, dan berefek jika data diluar filter tanggal (lihat p button), maka tanggal filter (pButton) akan berubah rangenya (otomatis) sesuai data yang dipilih.
i. SearchPart
SearchPart digunakan hanya untuk pencarian data sesuai range yang ditentukan atau hanya pada data yang sedang tampil di Grid.
j. Top
Menuju data paling atas
k. Previous
Menuju data sebelumnya
l. Next
Menuju data berikutnya
m. Bottom
Menuju data terakhir

n. RefreshDatabase
Merefresh ulang data dari serverSQL, tanpa mengufah format filter yang sedang aktif.
o. ReportToExcel
Melaporkan data langsung ke excel.
p. DateNavigation
DateNavigation (DN) : hanya digunakan bila data yang ditampilkan menggunakan range tanggal, hal ini biasa ada pada data transaksi, dan jika data yang ditampilkan adalah data master yang tidak menggunakan tanggal, maka DN di hide (tidak ditampilkan).

4. MenuTab

MenuTab adalah group dari menu yang ditampilkan

5. MenuButton (MB)

Menu Button adalah kumpulan dari data/Grid yang ditampilkan (keterangan berikutnya ada pada GridData). Dibuat menggunakan OptionGroup & OptionButton.

6. GridData

GridData (GD) : GD disimpan didalam sebuah Pageframe, yang masing-masing page terdiri dari satu grid atau lebih, sesuai kebutuhan form yang berlaku.
Susunannya adalah : Pageframe-Page(s)-Grid
Pageframe dicontrol oleh MB, (lihat gambar), Jika 1.Price Group ditekan maka akan berada pada Page1, begitu juga dengan 2.Price Master, jika ditekan maka akan aktif pada Page2.

Keterangan Global :
a. GD, Show data dikontrol oleh filter dari tanggal (jika ada : lihat DN) + Filter Data jika dia adalah sub dari page1.

Contoh data :

Price Group :
Harga Jakarta,Harga Surabaya
Price Master :
Jika page 1 row yang sedang disorot adalah Harga Surabaya, maka ketika Page 2 aktif maka hanya menampilkan Data sub dari Harga Surabaya (keterangan bersambung ketika Gambar untuk Page2 / Price Master dibahas).

b. Grid bisa digunakan sebagai data entry atau data show only.
Jika sebagai data entry, maka ketika ada perubahan data berefek pada control button (NEDSU), dan row grid tidak akan berpindah jika data belum di Save atau Undo (LockedGrid).
Jika sebagai Data Show Only, Maka tombol Save&Undo, di Disable.

c. Menu Button, bisa saling berkaitan antara tombol 1 dan 2, bisa juga tidak berkaitan, tetapi masih satu rumpun.
Contoh :
Form Customer : 1. Cust. Group, 2. Cust.Status, 3. Cust Entry, 4. Cust. History.
Cutomer Group dengan Customer Status tidak saling berkaitan, akan tetapi karena dia adalah bagian dari form customer,sebab kedua data diatas digunakan ketika input data customer, maka dia dimasukkan dalam form ini, inilah efisiensi yang saya maksud dari pada form ini.
Nah yang di link adalah page3 dan 4, yaitu Cust Entry dan Cust History, artinya data pada Cust History terfilter sesuai dengan row customer yang sedang aktif, jadi Cust History ini hanya menampilkan data per customer, nah pada page ini baru DN ‘mungkin’ digunakan (page1-3 tidak butuh DN).

d. Masih berkaitan pada c (keterangan diatas/sebelumnya), Cust. History, bisa berbentuk data atau grafik, contoh :
Cust History :
a. Grafik total piutang customer Group by month,transaction, etc.
b. Grafik piutang customer (Aging piutang)
c. Grafik total pembelian customer terhadap barang (barang yg paling banyak dibeli)
Jadi ketika ada upgrade product yg sering dibeli, kita bias langsung kirim email ke dia, sebab dia paling sering beli ‘ntu barang…, (hehehe…, canggih yak…, pasti ente dibilang analyst yg hebat…)
Kenapa harus menggunakan ini…, biar manager yg bersangkutan, gak perlu buka-buka banyak report, kan highlightnya udah ada disini semua….., apapun informasi yang management butuhkan sudah terlihat disini. (dijamin mahal deh program ente…)
Note : this is a Genius Idea (Please don’t try this at home…, eh salah… DIWAJIBKAN UNTUK DIIKUTI)
Gilaaaa…., jam 12 malem gue ngetik ini…, abis koding lagi gak mood….
Tidur ahhhh…., dah jam 1….., minum dopping dulu biar besok kerja fit…

Bersambung lageeee…..

10 Responses leave one →
  1. 2007 January 29

    salam kenal yah.
    mas ari… ditunggu terus kelanjutan artikelnya.

  2. 2007 January 29
    Antin_caem permalink

    Mas Ari aku semakin nggak sabar nih… nunggu .. sekali aja contoh nya Mas yang bisa di donlot…

    Maaf, manusia memang diciptakan dalam keadaan tergesa-gesa

  3. 2007 January 29

    maaf yach…, antin yg caem….
    Article ini gak akan saya kasih mentahnya…..,
    soalnya, ini adalah framework yg besarnya hampir 200 MB…
    (image+modul+visio+sqldatabase+banyak deh….)
    jadi gak bisa dikirim….
    Lagian…, saya hanya kasih pancingnya…., gak akan kasih ikannya….
    Gitu lho….
    Lagi pula, seandainya saya kasih mentah-mentah ke kamu…, belum tentu kamu bisa explore dalam satu bulan…, soalnya classnya udah linked satu sama lainnya… dan ada trik untuk menggunakannya…

    Kalau mau sample…, coba ke sini :
    http://www.geocities.com/feihungkpfi/
    ini adalah versi awal dan masih coba2 bikin ini project…., tapi kira2 gambarannya sama…

  4. 2007 February 2
    NuQBo permalink

    Wah keren abiz mas…
    Aku menjadi lebih bangga belajar VFP

    Go VFP……bagi-bagi ilmu yah….SourceCode

  5. 2007 February 14
    Antin_caem permalink

    Ohh.. gitu yah Mas Ari…… saya kira simple-simple aja ternyata di dalamnya banyak class2 yang berhubungan ok lah Mas Ari saya akan ikutan aja nih artikel ini sambil belajar dan mendesain sendiri saya ambil sebagai kailnya aja ntar nyari sendiri deh umpannya he… he… 3x terima kasih Pak Ari

    Wassalam

  6. 2007 March 17
    foxeverfox permalink

    Hebat ui kang Ari ,

    Jadi kepingin nyoba nih , ………………..

    Salut

  7. 2007 November 22
    sihAWAM permalink

    wah, ini kok bicara tentang mancing dan ikan ya, mas ari aku minta pancingnya juga yo. matur suwun

  8. 2008 April 1
    djoko permalink

    Terima kasih Mas Ari, atas pencerahannya

    gimana dengan kelanjutannya, tolong di kasih contoh juga untuk inputan transaksi, misalnya transaksi penjualan

    mungkin ada contoh yang bisa di share

    salam kenal

  9. 2008 June 15
    edyshor permalink

    If it were in english probably i would have undertoud something out of it :)

  10. 2009 February 6
    danar permalink

    siang bos, mo nanya : gimana sih cara nampilin image pada report dari tabel type pada tabel aku pakai blob untuk nyimpen gambar. makasih

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS