C# Proje – Otomasyon – 14
Otomasyon projemizin bu bölümünde sizlerle beraber; Fatura işlemlerine giriş yapıyoruz. Fatura formumuzdaki bu çalışmamızda, fatura kalemleri ve otomatik kalem ile fatura hesabını işliyoruz. Videoda anlatılan bilgileri mümkün olduğu kadar C# programlama diline az yada çok vakıf olmuş herkesin anlayabileceği bir dil ile anlatmaya çalıştım.
Vakit buldukça projemize devam edeceğim.
Button Icon’lar
https://www.kaksi.net/ICOBTN.zip
Category: C#
Kardeş öncelikle videolarından o kadar faydalandım ki, karşılığında ne söylesem azdır, Allah ne muradın varsa versin….
benim sorunum şu.. fatura satırında kdv hesaplamak istesim ama başarılı olamadım bir türlü…
kodlarım şöyle ;
private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
decimal adet = 0, birimfiyat = 0, toplam = 0, toplamkdv=0;
int kdv = 0;
if (e.Column.Name != “TOPLAM”)
{
if(gridView1.GetFocusedRowCellValue(“ADET”).ToString() !=””) adet = decimal.Parse(gridView1.GetFocusedRowCellValue(“ADET”).ToString()); //”ADET” veritabanında int
if (gridView1.GetFocusedRowCellValue(“BIRIMFIYAT”).ToString() !=””) birimfiyat = decimal.Parse(gridView1.GetFocusedRowCellValue(“BIRIMFIYAT”).ToString()); //”BIRIMFIYAT veritabanında float”
if (gridView1.GetFocusedRowCellValue(“KDVORANI”).ToString() != “”) kdv = int.Parse(gridView1.GetFocusedRowCellValue(“KDVORANI”).ToString()); //”KDV” veritabanında int
toplamkdv = adet * (birimfiyat * (kdv/100));
toplam = adet * birimfiyat;
gridView1.SetFocusedRowCellValue(“TOPLAM”, toplam); //”TOPLAM” veritabanında float
gridView1.SetFocusedRowCellValue(“KDVTUTARI”, toplamkdv); //”KDVTUTARI” veritabanında float
hesapla();
}
}
sizin yaptığınız gibi sadece toplam alanını hesaplatıyorum, o şekilde çalışıyor…. kdv yi de ekleyince sorun oluyor…
çok uğraştırdı ama sonunda kendim çözdüm…
decimal adet = 0, fiyat = 0, toplam = 0, kdv=0, kdvtutari=0;
if (e.Column != colTOPLAM && e.Column != colKDVTUTARI)
{
try
{
if (gridView1.GetFocusedRowCellValue(“ADET”).ToString() != “”) adet = Convert.ToDecimal(gridView1.GetFocusedRowCellValue(colADET));
if (gridView1.GetFocusedRowCellValue(“BIRIMFIYAT”).ToString() != “”) fiyat = Convert.ToDecimal(gridView1.GetFocusedRowCellValue(colBIRIMFIYAT));
if (gridView1.GetFocusedRowCellValue(“KDVORANI”).ToString() != “”) kdv = Convert.ToDecimal(gridView1.GetFocusedRowCellValue(colKDVORANI));
toplam = adet * fiyat;
kdvtutari = adet * (fiyat * (kdv / 100));
gridView1.SetFocusedRowCellValue(colTOPLAM, toplam);
gridView1.SetFocusedRowCellValue(colKDVTUTARI, kdvtutari);
hesapla();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
merhaba, emeğiniz için teşekkürler.
stok seçimi yaptığımda void hesaplada şu hatayı alıyorum: System.StackOverflowException was unhandled
sorunu nasıl çözebilirim ?
void Hesapla()
{
try
{
decimal BirimFiyat = 0, Miktar = 0, GenelToplam = 0, AraToplam = 0, KDV = 0;
for (int i = 0; i < gridView1.RowCount; i++)
{
BirimFiyat = decimal.Parse(gridView1.GetRowCellValue(i, "BIRIMFIYAT").ToString());
Miktar = decimal.Parse(gridView1.GetRowCellValue(i, "MIKTAR").ToString());
KDV = decimal.Parse(gridView1.GetRowCellValue(i, "KDV").ToString()) / 100 + 1;
AraToplam += Miktar * BirimFiyat;
GenelToplam += decimal.Parse(gridView1.GetRowCellValue(i, "TOPLAM").ToString()) * KDV;
}
txtAraToplam.Text = AraToplam.ToString("0.00");
txtKdv.Text = (GenelToplam – AraToplam).ToString("0.00");
txtGenelToplam.Text = GenelToplam.ToString("0.00");
Hesapla();
}
catch (Exception EX)
{
Mesajlar.Hata(EX);
}
}
bu güzel anlatımların neden devamı yokkk ????