ÇÖZLDÜ | kar zarar tablosu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

ÇÖZLDÜ | kar zarar tablosu

Mesaj gönderen erdogan_ozkaya »

arkadaşlar,

aşağıdaki kod ile kar zarar tablosu oluşturabilirisniz.

Kod: Tümünü seç

SELECT 
SKT.Stok_ID,
SKT.Genel_Stok_Kodu, 
SKT.Genel_Stok_Adi, 
SKT.Genel_Aciklama , 
 

ISNULL(SUM(CKN.Birim_Miktari),0) CIKAN,
ISNULL(SUM(GRN.Birim_Miktari),0) GIREN,

(ISNULL(SUM(CKN.Birim_Miktari),0)-ISNULL(SUM(GRN.Birim_Miktari),0)) DEPO_KALAN,

ISNULL(ALS.Tutar,0) ALIS_TTR,
ISNULL(STS.Tutar,0) SATIS_TTR, 
 

(
ISNULL(SUM(ALS.Tutar),0)*
ISNULL(SUM(GRN.Birim_Miktari),0)
) GIRIS_TOPLAM_TUTAR,


(ISNULL(SUM(STS.Tutar),0)*ISNULL(SUM(CKN.Birim_Miktari),0)) CIKIS_TOPLAM_TUTAR, 
 

(
ISNULL(SUM(STS.Tutar),0)*
ISNULL(SUM(CKN.Birim_Miktari),0)
-
ISNULL(SUM(ALS.Tutar),0)*
ISNULL(SUM(GRN.Birim_Miktari),0)

) KAR_ZARAR 
 

FROM STOK_KARTLARI SKT

LEFT JOIN SATIS_FATURA_DETAY CKN ON CKN.Stok_Kodu=SKT.Stok_ID AND CKN.FIS_TIPI = 'SatisFaturasi'
LEFT JOIN SATIS_FATURA_DETAY GRN ON GRN.Stok_Kodu=SKT.Stok_ID AND GRN.FIS_TIPI = 'AlisFaturasi'

LEFT JOIN FIYAT_LISTESI ALS ON ALS.Fiyat_ID=SKT.Stok_ID AND ALS.Aciklama = 'Peşin Alış Fiyatı' AND ALS.Birim='TL' AND ALS.Durumu='Evet'
LEFT JOIN FIYAT_LISTESI STS ON STS.Fiyat_ID=SKT.Stok_ID AND STS.Aciklama = 'Peşin Satış Fiyatı' AND STS.Birim='TL' AND STS.Durumu='Evet'


GROUP BY SKT.Genel_Stok_Kodu, SKT.Stok_ID, SKT.Genel_Stok_Adi, SKT.Genel_Aciklama,ALS.Tutar,STS.Tutar

order by SKT.Stok_ID  DEsc
En son erdogan_ozkaya tarafından 27 Şub 2013 07:17 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

YARDIM.. Re: kar zarar tablosu

Mesaj gönderen erdogan_ozkaya »

arkadaşlar, yardım edebilecek biri yokmu acaba :)

Kod: Tümünü seç

---SATIŞ FİYATINI GETİRCEM
SELECT 
URUNLER.Fiyat_ID FIYAT_KODU,
URUNLER.Fiyat_ID FIYAT_KODU2,
URUNLER.Stok_ID, 
URUNLER.Genel_Stok_Kodu, 
URUNLER.Genel_Stok_Adi,
URUNLER.CIKAN,
URUNLER.GIREN,     
(URUNLER.CIKAN-URUNLER.GIREN) KALAN,  

ISNULL(((URUNLER.TUTAR)),0) ALIS_FIYATI,
ISNULL(((URUNLER.TUTAR)),0) SATIS_FIYATI, ----BU KISMASATIŞ FİYATINI GETİRCEM OKADAR

ISNULL(((URUNLER.GIREN*URUNLER.TUTAR)),0) GIREN_TOPLAM,
  
ISNULL(((URUNLER.CIKAN*URUNLER.TUTAR)),0) CIKAN_TOPLAM,   

ISNULL(((URUNLER.CIKAN-URUNLER.GIREN) * URUNLER.TUTAR),0) KAR_ZARAR    

FROM
(SELECT 
SK.Stok_ID, 
SK.Genel_Stok_Kodu, 
SK.Genel_Stok_Adi,  
FL.Fiyat_ID,
FL.TUTAR, 

FL2.Aciklama,
FL2.Birim,
FL2.Durumu,

ISNULL(SUM(CKN.Birim_Miktari),0) CIKAN,
ISNULL(SUM(GRN.Birim_Miktari),0) GIREN 

FROM STOK_KARTLARI AS SK 

LEFT OUTER JOIN SATIS_FATURA_DETAY CKN ON CKN.Stok_Kodu=SK.Stok_ID AND CKN.FIS_TIPI = 'SatisFaturasi'
LEFT OUTER JOIN SATIS_FATURA_DETAY GRN ON GRN.Stok_Kodu=SK.Stok_ID AND GRN.FIS_TIPI = 'AlisFaturasi'

LEFT OUTER JOIN FIYAT_LISTESI FL ON FL.Fiyat_ID=SK.Stok_ID 
AND FL.Aciklama = 'Peşin Alış Fiyatı' 
AND FL.Birim='TL'
AND FL.Durumu='Evet'


LEFT OUTER JOIN FIYAT_LISTESI FL2 ON FL2.Fiyat_ID=SK.Stok_ID 
AND FL2.Aciklama = 'Peşin Satış Fiyatı' 
AND FL2.Birim='TL'
AND FL2.Durumu='Evet'
 
  
GROUP BY 
FL2.Aciklama,
FL2.Birim,
FL2.Durumu,

SK.Stok_ID, 
SK.Genel_Stok_Kodu, 
SK.Genel_Stok_Adi,
CKN.Birim_Miktari, 
FL.Fiyat_ID, 
FL.TUTAR
) URUNLER 
order by Stok_ID DEsc

 
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: kar zarar tablosu

Mesaj gönderen White Rose »

s.a

ISNULL(((URUNLER.CIKAN-URUNLER.GIREN) * URUNLER.TUTAR),0) KAR_ZARAR
Satırı
ISNULL(((URUNLER.GIREN-URUNLER.CIKAN) * URUNLER.TUTAR),0) KAR_ZARAR
olmayacak mı
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: kar zarar tablosu

Mesaj gönderen erdogan_ozkaya »

hayır fiyat tablosundaki satış fiyatını gelmesi gerekiyor sonra hesabı yine yapabilirim
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: ÇÖZLDÜ | kar zarar tablosu

Mesaj gönderen erdogan_ozkaya »

Kod: Tümünü seç

procedure TSTOK_KAR_ZARAR_ANALIZI.btn1Click(Sender: TObject);
begin
 qryKAR_ZARAR_DB.Close;
 qryKAR_ZARAR_DB.SQL.Clear;
 qryKAR_ZARAR_DB.SQL.Add(' SELECT SKT.Stok_ID,SKT.Genel_Stok_Kodu, SKT.Genel_Stok_Adi, SKT.Genel_Aciklama,'
                        +' ISNULL(SUM(CKN.Birim_Miktari),0) CIKAN, ISNULL(SUM(GRN.Birim_Miktari),0) GIREN,'
                        +' (ISNULL(SUM(CKN.Birim_Miktari),0)-ISNULL(SUM(GRN.Birim_Miktari),0)) DEPO_KALAN,'
                        +' ISNULL(ALS.Tutar,0) ALIS_TTR,ISNULL(STS.Tutar,0) SATIS_TTR,'
                        +' (ISNULL(SUM(ALS.Tutar),0)*ISNULL(SUM(GRN.Birim_Miktari),0)) GIRIS_TOPLAM_TUTAR,'
                        +' (ISNULL(SUM(STS.Tutar),0)*ISNULL(SUM(CKN.Birim_Miktari),0)) CIKIS_TOPLAM_TUTAR,'
                        +' (ISNULL(SUM(STS.Tutar),0)*ISNULL(SUM(CKN.Birim_Miktari),0)-ISNULL(SUM(ALS.Tutar),0)*'
                        +' ISNULL(SUM(GRN.Birim_Miktari),0)) KAR_ZARAR  FROM STOK_KARTLARI SKT'


                        +' LEFT JOIN SATIS_FATURA_DETAY CKN ON CKN.Stok_Kodu=SKT.Stok_ID AND CKN.FIS_TIPI = '+#39+'SatisFaturasi'+#39+''
                        +' and CKN.Cikis_Tarihi>=:tar1 and CKN.Cikis_Tarihi<=:tar2'
                        +' and CKN.Depo_Kodu='+#39+DEPO_KODU_TEXT.Text+#39+''

                        +' LEFT JOIN SATIS_FATURA_DETAY GRN ON GRN.Stok_Kodu=SKT.Stok_ID AND GRN.FIS_TIPI = '+#39+'AlisFaturasi'+#39+''
                        +' and GRN.Cikis_Tarihi>=:tar3 and GRN.Cikis_Tarihi<=:tar4'
                        +' and CKN.Depo_Kodu='+#39+DEPO_KODU_TEXT.Text+#39+''

                        +' LEFT JOIN FIYAT_LISTESI ALS ON ALS.Fiyat_ID=SKT.Stok_ID AND ALS.Aciklama = '+#39+'Peşin Alış Fiyatı'+#39+' AND ALS.Birim='+#39+'TL'+#39+' AND ALS.Durumu='+#39+'Evet'+#39+' '
                        +' LEFT JOIN FIYAT_LISTESI STS ON STS.Fiyat_ID=SKT.Stok_ID AND STS.Aciklama = '+#39+'Peşin Satış Fiyatı'+#39+' AND STS.Birim='+#39+'TL'+#39+' AND STS.Durumu='+#39+'Evet'+#39+''



                        +' GROUP BY SKT.Genel_Stok_Kodu, SKT.Stok_ID, SKT.Genel_Stok_Adi, SKT.Genel_Aciklama,ALS.Tutar,STS.Tutar'
                        +' order by SKT.Stok_ID  DESC');


                        qryKAR_ZARAR_DB.Parameters.ParamByName('tar1').Value:=StrToDate(DateToStr(dtp1.Date));
                        qryKAR_ZARAR_DB.Parameters.ParamByName('tar2').Value:=StrToDate(DateToStr(dtp2.Date));
                        qryKAR_ZARAR_DB.Parameters.ParamByName('tar3').Value:=StrToDate(DateToStr(dtp1.Date));
                        qryKAR_ZARAR_DB.Parameters.ParamByName('tar4').Value:=StrToDate(DateToStr(dtp2.Date));

 qryKAR_ZARAR_DB.Open;
end;
Cevapla