none
if durumu RRS feed

  • Soru

  • kodlarımda if şartı sonucu 0 olmasına ragmen ife giriyor. bunun nedeni ne olabilir.


    • Düzenleyen canleveent 27 Eylül 2019 Cuma 15:49
    26 Eylül 2019 Perşembe 12:33

Yanıtlar

  • 2 yöntem var optimistik ve pesimist. İlkin de bu ihtimalin düşük olduğu varsayımınız vardır. Bu sebeple transaction ı başlatırsınız ve sona ermeden önceden stok durumunu tekrar kontrol edersiniz. Şayet daha hızlı çalışan başka bir işlem sebebiyle stok negatife düşmüş ise işlemi rollback edersiniz. İkinci durumda ise bunun çok sık karşılaşılacağını varsayarsınız ve işleme başlamadan önce ilgili kaydı değişime karşı kilitlersiniz. Her halükarda transaction kavramına bakmanız gerekli.

    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen canleveent 27 Eylül 2019 Cuma 15:47
    26 Eylül 2019 Perşembe 16:31

Tüm Yanıtlar

  • decimal durum = 0M;
    	decimal sGiren = 10M;
    	decimal sCikan = 5M;
    	decimal Mevcut = sGiren - sCikan;
    	decimal local = 6M;  
    // Locali 6 Yaparsan Ürün Yetersiz 5 Yaparsan Yeterli çalışıyor.
    
    	if (durum >= Mevcut - local)
    	{
    		MessageBox.Show("ÜrünYetersiz");
    	}
    	else
    	{
    		MessageBox.Show("ÜrünYeterli");
    	}

    Sorunu tam anlamamak ile birlikte kalan stok miktarını her seferinde stok hareket tablosuna mı bakıyorsun?

    Giren (Stok),Çıkan (Stok) ,Mevcut (Elinde bulunan stok) ,Local (Depo) burada biraz mantık hatası var anladığım kadarı ile tam olarak ne yapmak istiyorsun biraz daha açıklayıcı yaza bilir misin?


    • Düzenleyen A_BLR 26 Eylül 2019 Perşembe 13:10
    26 Eylül 2019 Perşembe 13:07
  • decimal durum = 0M;
    	decimal sGiren = 10M;
    	decimal sCikan = 5M;
    	decimal Mevcut = sGiren - sCikan;
    	decimal local = 6M;  
    // Locali 6 Yaparsan Ürün Yetersiz 5 Yaparsan Yeterli çalışıyor.
    
    	if (durum >= Mevcut - local)
    	{
    		MessageBox.Show("ÜrünYetersiz");
    	}
    	else
    	{
    		MessageBox.Show("ÜrünYeterli");
    	}

    Sorunu tam anlamamak ile birlikte kalan stok miktarını her seferinde stok hareket tablosuna mı bakıyorsun?

    Giren (Stok),Çıkan (Stok) ,Mevcut (Elinde bulunan stok) ,Local (Depo) burada biraz mantık hatası var anladığım kadarı ile tam olarak ne yapmak istiyorsun biraz daha açıklayıcı yaza bilir misin?


    pardon stok durumunu yazmayı unutmuşum.

    giren stok 1 tane çıkan yok.

    satış uygulandığında, ife girip stok yetersiz oluyora giriyor.

    stoga baska nasıl bakabilirim. burası için ne önerirsiniz

    local gridde bulunanı topluyor. mantık hatası yok.

    giren stok çıkan stok miktar alınıp mevcut oluşturuluyor. gridde seçili olan varsa onu düşüp sonucu 0 veya bütükse else girecek.

    mevcut=1,

    local = 1, olup ifte 0 a eşit olduğu için else geçmesi gerekiyor. ama ife giriyor.


    • Düzenleyen canleveent 26 Eylül 2019 Perşembe 13:48
    26 Eylül 2019 Perşembe 13:33
  • koda göre mevcut - local = 0 olduğunda else'e değil then'e geçer. = var orada.

    Bir soru, bu ürünü tek kişi mi kullanacak yoksa farklı kişilerde aynı anda kullanacaklar mı? 


    www.cihanyakar.com


    • Düzenleyen Cihan Yakar 26 Eylül 2019 Perşembe 13:57
    26 Eylül 2019 Perşembe 13:56
  • koda göre mevcut - local = 0 olduğunda else'e değil then'e geçer. = var orada.

    Bir soru, bu ürünü tek kişi mi kullanacak yoksa farklı kişilerde aynı anda kullanacaklar mı? 


    www.cihanyakar.com


    farklı kişiler aynı anda kullanımı olacak. evet
    26 Eylül 2019 Perşembe 13:58
  • koda göre mevcut - local = 0 olduğunda else'e değil then'e geçer. = var orada.

    Bir soru, bu ürünü tek kişi mi kullanacak yoksa farklı kişilerde aynı anda kullanacaklar mı? 


    www.cihanyakar.com


    farklı kişiler aynı anda kullanımı olacak. evet
    İki kişinin aynı anda işlem yaptığı durumu da dikkate almayı atlamayın. Aksi halde negatif stoklar görme durumunuz olur. 

    www.cihanyakar.com

    26 Eylül 2019 Perşembe 15:12
  • koda göre mevcut - local = 0 olduğunda else'e değil then'e geçer. = var orada.

    Bir soru, bu ürünü tek kişi mi kullanacak yoksa farklı kişilerde aynı anda kullanacaklar mı? 


    www.cihanyakar.com


    farklı kişiler aynı anda kullanımı olacak. evet

    İki kişinin aynı anda işlem yaptığı durumu da dikkate almayı atlamayın. Aksi halde negatif stoklar görme durumunuz olur. 

    www.cihanyakar.com

    haklısınız,

    bunu kayıtta kontrole tabi tutuyorum ama localde olan durum malesef kontrolümüzde olamayacak. Sizin sorunuz bizi düşünceye sevk etti :) 

    2 makine aynı ürünü locale almış olması durumunda sıkıntı oluşma ihtimali var. hatta kesin.

    bize bu konuda yardımcı olabilirmisiniz. negatif olmaması için yapmamız gereken ??

    26 Eylül 2019 Perşembe 15:25
  • 2 yöntem var optimistik ve pesimist. İlkin de bu ihtimalin düşük olduğu varsayımınız vardır. Bu sebeple transaction ı başlatırsınız ve sona ermeden önceden stok durumunu tekrar kontrol edersiniz. Şayet daha hızlı çalışan başka bir işlem sebebiyle stok negatife düşmüş ise işlemi rollback edersiniz. İkinci durumda ise bunun çok sık karşılaşılacağını varsayarsınız ve işleme başlamadan önce ilgili kaydı değişime karşı kilitlersiniz. Her halükarda transaction kavramına bakmanız gerekli.

    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen canleveent 27 Eylül 2019 Cuma 15:47
    26 Eylül 2019 Perşembe 16:31