Ana içeriğe geç

Masraf Detay Formu Tasarımı

Masraf Beyan Formunda bulunan Masraf Bilgileri tablosuna satır eklemek için kullanıcının yönlendirileceği bu formun başlıca alanları aşağıdaki gibidir;

Masraf Tipi :Masrafların hangi türde gerçekleştiğini belirten alandır ve parametrik formdaki tabloda kayıtlı verilerden seçilir
Fiş Tarihi :Masrafa ait fişin kesildiği tarihtir
Kişi Sayısı :Kaç kişinin masraf talebinde bulunduğunu belirten alandır
Masraf Tutarı :Girilen masrafa ait tutarın girildiği alandır
Açıklama :Masrafa ilişkin detaylı açıklamanın girilebileceği alandır
Dokümanlar :Masrafa ilişkin dokümanların(fiş, fatura fotoğrafı vb.) eklenebileceği alandır

Formu oluşturmak için öncelikle çözüm gezgininde Forms klasörü üzerinde sağ tıklanarak CSP App Form seçilir ve açılan pencereden form için “MasrafDetayFormu” şeklinde bir Dosya Adı girilir. detay form olusturma

Masraf Tipi alanı için, kullanıcının belirli türlerde masraf tiplerinden seçim yapabilmesi beklenir, bu seçimin gerçekleştirilebilmesi için de forma bir ComboBox nesnesi eklenir. masraf tipi combobox

Masraf tiplerinin, geliştirme sırasında belirlenmesi yerine belirli kullanıcılar tarafından eklenebilir ve düzenlenebilir olması uygulamanın daha dinamik bir yapıda olabilmesini sağlayacaktır. Bunun için bu alanda seçilebilecek veriler başka bir parametrik formdan alınacaktır.

Bu işlem için Masraf Tipleri Parametrik Formu tasarlanır.

Masraf Tipleri Parametrik Formunun Tasarımı gerçekleştirildikten sonra Masraf Detay Formundaki ComboBox alanında MasrafTipleriniGetir sorgusundan gelen verilerin gösterilebilmesi için ComboBox nesnesinin özelliklerinden DataSource özelliğinde bu sorgu seçilir.

Sorgu seçildikten sonra DataSource özelliğinin altında Value Expression ve Display Expression olarak yeni alanlar açılır. Arka planda tutulması istenen değer için Value Expression alanında Id kolonu, Kullanıcıya görünmesi istenen değerler için Display Expression alanında ise MasrafTipi kolonu seçilir. masraf tipi combobox value-display

Fiş Tarihi alanı için DateTimePicker nesnesi forma eklenir. Nesne özelliklerinde Behavior sekmesi altındaki Format alanından gün-ay-yıl-saat içerebilmesi için YYYY-MM-DD HH:mm seçilir. Show Time seçeneği aktif edildiğinde nesnede saat seçim alanı da aktif edilir.

fis tarihi

Kişi sayısının girilebileceği alan için NumberBox nesnesi forma eklenir. Geçerli olabilecek minimum değer için Min alanı 1 olarak değiştirilebilir, maksimum değer için de 10 olarak bir değer verilebilir. Kişi sayısı tam sayı olması gerektiğinden ondalıklı sayılar için virgülden sonrasını ifade eden precision alanı 0 olarak bırakılmalıdır. kisi sayisi

Masraf Tutarı alanı için de forma tekrar bir NumberBox nesnesi eklenir. Masrafın negatif değerlere düşmesi mümkün olmadığı için Minimum girilebilecek değer için Min değeri 1 olarak verilmelidir. Binlik ayracının açılabilmesi için Use Thousand Seperator özelliği aktif edilir. Alanın hemen yanında bulunan yukarı ve aşağı yönlü oklara tıklanarak veya yön tuşları kullanılarak değer, Step özelliğine girilen miktar kadar arttırılıp azaltılabilmektedir. masraf tutari

Kullanıcının yaptığı masrafa ilişkin detayları yazabileceği Açıklama alanı için forma bir TextArea nesnesi eklenir. Nesne özelliklerinden giriş yapabileceği metnin karakter sınırı için MaxLength özelliğine 250 değeri verilebilir. Kullanıcının, girebileceği kalan karakter sayısının gösterilebilmesi için Show Character Counter özelliği aktif edilir. masraf detay aciklama

Yapılan masrafa ait dokümanların(fiş, fatura fotoğrafı vb.) eklenebileceği Dokümanlar alanı için DocumentMetaData nesnesi forma eklenir. Nesne Forma eklendikten sonra doküman eklenebilmesi, silinebilmesi ve görüntülenebilmesi için gerekli özellikler varsayılan olarak aktif halde gelir. Nesneye resim türünde dosya eklendiğinde, dosyanın uzantı ikonunun yerine küçük resim olarak gösterilmesi istenirse Show Content For Image Files özelliği aktif edilmelidir.

Bu özelliğin kullanılabilmesi için Show File Extension Icon özelliğinin aktif olması gereklidir.

Nesne üzerine eklenen dokümanın Doküman Yönetiminde kaydedilmesi isteniyorsa Save Path (DM) özelliğinde bir dosya yolu tanımlanması gerekmektedir.

masraf detay doküman

Masraf Tipi alanında “Diğer” seçeneği işaretlendiğinde Açıklama alanının, kullanıcı için doldurulması zorunlu bir alan olabilmesi sağlanabilir. Bunun için Masraf Detay Formunun Olaylarından OnBeforeSave seçilir.

Masraf Tipi alanına karşılık gelen “ComboBox1” nesnesinden seçilen item’ın value değeri eğer 4 ise ve Açıklama alanına karşılık gelen “TextArea1” nesnesinin içeriği boş ise kullanıcıya uyarı verilir ve formun kaydedilmesi engellenir. masraf tipi diger

BİLGİ

TextArea1 nesnesinin text alanı form yaratıldığında bu alan varsayılan olarak “undefined” değerde gelmektedir. Doldurulup silindikten sonra ise boş(“”) değer taşımaktadır. ComboBox1’in value değeri veri kaynağındaki Id değerine karşılık gelmektedir ve masraf tiplerinden “Diğer” seçeneğinin Masraf Detay Tablosundaki Id değeri 4‘tür.

Tüm alanlar oluşturulduğuna göre Masraf Detay Formu, Masraf Beyan Formundaki Masraf Detay Tablosu ile ilişkilendirilmeye hazır hale gelmiştir.