———————————————————————————————————————————————————————————
ADISYON UYGULAMASI : Z RAPORU ALINMADAN SATIŞLARI GÖRÜNTÜLEME
SQL CÜMLESİ :
SELECT SH.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,SH.BIRIMKODU,SH.PLASIYERKODU AS SATISELEMANI,SH.TARIH FROM STOKHAR2 SH,STOK S WHERE S.STOKKODU=SH.STOKKODU AND SH.GIRISCIKISTIPI='CIKIS' AND IPTAL=0 GROUP BY SH.STOKKODU,S.STOKADI,SH.BIRIMKODU,SH.PLASIYERKODU,SH.TARIH ORDER BY SH.TARIH,S.STOKADI
— FIYATLI İSTERNİR İSE
SELECT SH.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,SH.BIRIMKODU,ROUND((SH.FIYAT+(SH.FIYAT*S.SATISKDV/100)),2) AS FIYAT,ROUND(SUM(SH.GENELTOPLAM),2) AS GENELTOPLAM,SH.PLASIYERKODU AS SATISELEMANI,SH.TARIH FROM STOKHAR2 SH,STOK S WHERE S.STOKKODU=SH.STOKKODU AND SH.GIRISCIKISTIPI='CIKIS' AND IPTAL=0 GROUP BY SH.STOKKODU,S.STOKADI,SH.BIRIMKODU,SH.PLASIYERKODU,SH.TARIH,SH.FIYAT,S.SATISKDV ORDER BY SH.TARIH,S.STOKADI
ADISYON UYGULAMASI : Z RAPORU ALINDIKTAN SONRA SATIŞLARI GÖRÜNTÜLEME
SQL CÜMLESİ :
SELECT SH.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,SH.BIRIMKODU,SH.PLASIYERKODU AS SATISELEMANI,SH.TARIH FROM STOKHAR SH,STOK S WHERE S.STOKKODU=SH.STOKKODU AND SH.GIRISCIKISTIPI='CIKIS' AND IPTAL=0 GROUP BY SH.STOKKODU,S.STOKADI,SH.BIRIMKODU,SH.PLASIYERKODU,SH.TARIH ORDER BY SH.TARIH,S.STOKADI
— FİYATLI İSTERNİR İSE
SELECT SH.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,SH.BIRIMKODU,ROUND((SH.FIYAT+(SH.FIYAT*S.SATISKDV/100)),2) AS FIYAT,ROUND(SUM(SH.GENELTOPLAM),2) AS GENELTOPLAM,SH.PLASIYERKODU AS SATISELEMANI,SH.TARIH FROM STOKHAR SH,STOK S WHERE S.STOKKODU=SH.STOKKODU AND SH.GIRISCIKISTIPI='CIKIS' AND IPTAL=0 GROUP BY SH.STOKKODU,S.STOKADI,SH.BIRIMKODU,SH.PLASIYERKODU,SH.TARIH,SH.FIYAT,S.SATISKDV ORDER BY SH.TARIH,S.STOKADI
—- AYLIK BAZDA URUN SATIS RAPORLARI
SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'OCAK' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=1 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'SUBAT' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=2 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'MART' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=3 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'NISAN' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=4 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'MAYIS' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=5 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'HAZIRAN' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=6 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'TEMMUZ' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=7 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'AGUSTOS' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=8 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'EYLUL' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=9 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'EKIM' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=10 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'KASIM' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=11 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU UNION SELECT S.STOKKODU,S.STOKADI,SUM(SH.MIKTAR) AS MIKTAR,S.STOKSEVIYESIBIRIMI,'ARALIK' AS AY,MONTH(TARIH) AS AYNO,SH.DEPOKODU FROM STOKHAR SH,STOK S WHERE SH.STOKKODU=S.STOKKODU AND MONTH(TARIH)=12 AND SH.GIRISCIKISTIPI='CIKIS' AND SH.EVRAKTIPI='FATURA' AND SH.NORMALIADE='NORMAL' GROUP BY S.STOKKODU,S.STOKADI,S.STOKSEVIYESIBIRIMI,SH.TARIH,SH.DEPOKODU ORDER BY AYNO ASC,SH.DEPOKODU ASC,S.STOKADI ASC
—————————————————-
MIKRODAN HAREKEN GÖREN URUNLERIN STOK RAPORU
Sadece 600,601,602,603,604 eklenmısıtır diğerlerini siz ilave edebilirsiniz.
SELECT S.sto_kod AS STOKKODU,S.sto_isim AS STOKADI, dbo.fn_DepolardakiMiktar(S.sto_kod,D.dep_no,GETDATE()) as MIKTAR,D.dep_adi AS DEPOADI FROM STOKLAR S,DEPOLAR D,STOK_HAREKETLERI SH where SH.sth_cikis_depo_no IN(600,601,602,603,604) AND SH.sth_stok_kod=S.sto_kod and D.dep_no IN(600,601,602,603,604) order by D.dep_no ASC,S.sto_kod asc
—————————————————
PLASIYERLERIN GUNLUK FATURA VE TAHSILAT TOPLAMLARI, SAHADAKI BAKIYE TOPLAM
SQL CÜMLESİ:
SELECT CH.TARIH,M.MUSTERIKODU,M.UNVAN, ISNULL((SELECT ROUND(SUM(ALACAK-BORC),2) FROM CARIHAREKETLER CH WHERE CH.MUSTERIKODU=M.MUSTERIKODU AND CH.IPTAL=0),0) AS BAKIYE, ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='SATIS' AND FM1.PLASIYERKODU=P.PLASIYERKODU),0) AS SATISFATURATOPLAMI, ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),CH.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU AND SH.EVRAKSERI=CH.EVRAKSERI AND SH.EVRAKSIRA=CH.EVRAKSIRANO AND SH.EVRAKTIPI=CH.EVRAKTIPI AND SH.PLASIYERKODU=P.PLASIYERKODU AND SH.IPTAL=0),0) AS MALIYET, ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='ALIS' AND FM1.PLASIYERKODU=P.PLASIYERKODU),0) AS ALISFATURATOPLAMI,ISNULL((SELECT ROUND(SUM(CH1.ALACAK),2) FROM CARIHAREKETLER CH1 WHERE CH1.EVRAKTIPI='TAHSILAT' AND CH1.MUSTERIKODU=M.MUSTERIKODU AND CH1.PLASIYERKODU=P.PLASIYERKODU AND CH1.EVRAKSERI=CH.EVRAKSERI AND CH1.EVRAKSIRANO=CH.EVRAKSIRANO AND CH1.EVRAKTIPI=CH.EVRAKTIPI),0) AS TAHSILATTOPLAMI, P.PLASIYERADI,P.PLASIYERKODU,ISNULL((SELECT ROUND(SUM(CHB.ALACAK-CHB.BORC),2) FROM CARIHAREKETLER CHB,MUSTERI MB WHERE CHB.MUSTERIKODU=MB.MUSTERIKODU AND MB.PLASIYERKODU=P.PLASIYERKODU),0) AS PLASIYERTOPLAMBAKIYE, (CASE WHEN CH.HAREKETTURU='B' THEN (ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='SATIS' AND FM1.PLASIYERKODU=P.PLASIYERKODU),0)-ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),CH.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU AND SH.EVRAKSERI=CH.EVRAKSERI AND SH.EVRAKSIRA=CH.EVRAKSIRANO AND SH.EVRAKTIPI=CH.EVRAKTIPI),0)) ELSE (ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='ALIS' AND FM1.PLASIYERKODU=P.PLASIYERKODU),0)-ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),CH.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU AND SH.EVRAKSERI=CH.EVRAKSERI AND SH.EVRAKSIRA=CH.EVRAKSIRANO AND SH.EVRAKTIPI=CH.EVRAKTIPI),0)) END) AS KAR FROM CARIHAREKETLER CH,MUSTERI M,PLASIYERLER P WHERE P.PLASIYERKODU=CH.PLASIYERKODU AND P.PLASIYERKODU=CH.PLASIYERKODU AND M.MUSTERIKODU=CH.MUSTERIKODU
SQL Cümlesi ALTERNATIF:
SELECT T1.TARIH,M.MUSTERIKODU,M.UNVAN,ISNULL((SELECT ROUND(SUM(ALACAK-BORC),2) FROM CARIHAREKETLER CH WHERE CH.MUSTERIKODU=M.MUSTERIKODU),0) AS BAKIYE,ISNULL((SELECT ROUND(SUM(CH1.BORC),2) FROM CARIHAREKETLER CH1 WHERE CH1.EVRAKTIPI='FATURA' and CH1.HAREKETTURU='B' AND CH1.MUSTERIKODU=M.MUSTERIKODU AND CH1.TARIH=T1.TARIH),0) AS SATISFATURATOPLAMI,ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),T1.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU),0) AS MALIYET,ISNULL((SELECT ROUND(SUM(CH1.ALACAK),2) FROM CARIHAREKETLER CH1 WHERE CH1.EVRAKTIPI='FATURA' and CH1.HAREKETTURU='A' AND CH1.MUSTERIKODU=M.MUSTERIKODU AND CH1.TARIH=T1.TARIH),0) AS ALISFATURATOPLAMI,ISNULL((SELECT ROUND(SUM(CH1.ALACAK),2) FROM CARIHAREKETLER CH1 WHERE CH1.EVRAKTIPI='TAHSILAT' AND CH1.MUSTERIKODU=M.MUSTERIKODU AND CH1.TARIH=T1.TARIH),0) AS TAHSILATTOPLAMI,P.PLASIYERADI,P.PLASIYERKODU,ISNULL((SELECT ROUND(SUM(CHB.ALACAK-CHB.BORC),2) FROM CARIHAREKETLER CHB,MUSTERI MB WHERE CHB.MUSTERIKODU=MB.MUSTERIKODU AND MB.PLASIYERKODU=P.PLASIYERKODU),0) AS PLASIYERTOPLAMBAKIYE FROM MUSTERI M,PLASIYERLER P,(SELECT DISTINCT TARIH FROM CARIHAREKETLER) T1 WHERE M.PLASIYERKODU=P.PLASIYERKODU ORDER BY TARIH ASC
–aşağıdaki fonksiyon oluşturulmalıdır yada 2.2.2.6 dan sonraki bir versiyon kullanmanız gereklidir.
CREATE FUNCTION [dbo].[sonAlisFiyati] (@stokkodu nvarchar(50), @depo nvarchar (50)) RETURNS float AS BEGIN DECLARE @VAL As Float SELECT TOP 1 @VAL=FIYAT FROM STOKHAR SH WHERE SH.GIRISCIKISTIPI='GIRIS' AND SH.EVRAKTIPI='FATURA' AND SH.DEPOKODU IN (@depo) AND SH.STOKKODU=@stokKodu IF @VAL is NULL SET @VAL=0 RETURN @VAL END
INSERT INTO ZIYARET (TARIH,MUSTERIKODU,PLASIYERKODU,BASLANGICSAATI,BITISSAATI,KM,TAMAMLANDIMI,ACIKLAMA,AKTARILDI,EVRAKSERI,EVRAKSIRA,TIPI,TUTAR,ENLEM,BOYLAM,ZIYARETACIKLAMA) SELECT SM.TARIH,SM.MUSTERIKODU,SM.PLASIYERKODU,SM.TARIH,SM.TARIH,0,1,'SIPARIS',0,SM.EVRAKSERI,SM.EVRAKSIRA,'SIPARIS',SM.GENELTOPLAM,SM.ENLEM,SM.BOYLAM,'SIPARIS' FROM SIPARISMASTER SM
—————————————————————-
Eğer Evraklara Plasiyer Kodu Girilmemiş ise Musterinin Plasiyer atamasından Plasiyerin Satış, Maliyet ve Tahsilatları
SQL:
SELECT CH.TARIH,M.MUSTERIKODU,M.UNVAN, ISNULL((SELECT ROUND(SUM(ALACAK-BORC),2) FROM CARIHAREKETLER CH WHERE CH.MUSTERIKODU=M.MUSTERIKODU AND CH.IPTAL=0),0) AS BAKIYE, ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='SATIS'),0) AS SATISFATURATOPLAMI, ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),CH.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU AND SH.EVRAKSERI=CH.EVRAKSERI AND SH.EVRAKSIRA=CH.EVRAKSIRANO AND SH.EVRAKTIPI=CH.EVRAKTIPI AND SH.IPTAL=0),0) AS MALIYET, ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='ALIS'),0) AS ALISFATURATOPLAMI, ISNULL((SELECT ROUND(SUM(CH1.ALACAK),2) FROM CARIHAREKETLER CH1 WHERE CH1.EVRAKTIPI='TAHSILAT' AND CH1.MUSTERIKODU=M.MUSTERIKODU AND CH1.EVRAKSERI=CH.EVRAKSERI AND CH1.EVRAKSIRANO=CH.EVRAKSIRANO AND CH1.EVRAKTIPI=CH.EVRAKTIPI),0) AS TAHSILATTOPLAMI, P.PLASIYERADI,P.PLASIYERKODU,ISNULL((SELECT ROUND(SUM(CHB.ALACAK-CHB.BORC),2) FROM CARIHAREKETLER CHB,MUSTERI MB WHERE CHB.MUSTERIKODU=MB.MUSTERIKODU),0) AS PLASIYERTOPLAMBAKIYE, (CASE WHEN CH.HAREKETTURU='B' THEN (ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='SATIS'),0)-ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),CH.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU AND SH.EVRAKSERI=CH.EVRAKSERI AND SH.EVRAKSIRA=CH.EVRAKSIRANO AND SH.EVRAKTIPI=CH.EVRAKTIPI),0)) ELSE (ISNULL((SELECT ROUND(SUM(ARATOPLAM),2) FROM FATURAMASTER FM1 WHERE FM1.MUSTERIKODU=M.MUSTERIKODU AND FM1.IPTAL=0 AND FM1.EVRAKSERI=CH.EVRAKSERI AND FM1.EVRAKSIRA=CH.EVRAKSIRANO AND FM1.NORMALIADE=CH.NORMALIADE AND FM1.TIPI='ALIS'),0)-ISNULL((SELECT SUM(dbo.sonAlisFiyati(SH.STOKKODU,'0')*SH.MIKTAR) FROM STOKHAR SH WHERE CONVERT(VARCHAR(11),SH.TARIH,104)=CONVERT(VARCHAR(11),CH.TARIH,104) AND SH.MUSTERIKODU=M.MUSTERIKODU AND SH.EVRAKSERI=CH.EVRAKSERI AND SH.EVRAKSIRA=CH.EVRAKSIRANO AND SH.EVRAKTIPI=CH.EVRAKTIPI),0)) END) AS KAR FROM CARIHAREKETLER CH,MUSTERI M,PLASIYERLER P WHERE P.PLASIYERKODU=M.PLASIYERKODU
—————————————————————-
MIKRO DA belli bir kritere göre merkezdeki mal miktarına göre elimde olan olmayan stoklar
DECLARE @depoKodu INT DECLARE @hedefDepoKodu INT DECLARE @merkezMiktar FLOAT declare @subeMiktar FLOAT SET @depoKodu=1 set @hedefDepoKodu=2 SET @merkezMiktar=500 SET @subeMiktar=5 select sto_kod,sto_isim,dbo.fn_DepodakiMiktar(sto_kod,@depoKodu,getdate()) as merkezDepoMiktari,dbo.fn_DepodakiMiktar(sto_kod,@hedefDepoKodu,getdate()) as subeDepoMiktari from STOKLAR where dbo.fn_DepodakiMiktar(sto_kod,@hedefDepoKodu,getdate())<@subeMiktar and dbo.fn_DepodakiMiktar(sto_kod,@depoKodu,getdate())>@merkezMiktar