Sayfayı Yazdır | Pencereyi Kapat

Ödeme vadesine göre fatura kapama

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=3999
Tarih: 22 Kasım 2024 Saat 20:12
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Ödeme vadesine göre fatura kapama
Mesajı Yazan: muratozt
Konu: Ödeme vadesine göre fatura kapama
Mesaj Tarihi: 15 Şubat 2015 Saat 13:47
Arkada?lar merhaba,

forumda aradym fakat bulamadym ?öyle bir ?eye ihtiyacym var;
mü?teriye kesilen faturalary yapylan tahsilatlar ile kar?yla?tyryp vadesine göre ödenmemi? yada vadesinden geç ödenmi? faturalary listemem gerekiyor . yardymcy olabilirseniz çok sevinirim

Saygylarymla,



Cevaplar:
Mesajı Yazan: Conari
Mesaj Tarihi: 16 Şubat 2015 Saat 12:19
Özel hesap kapatma yoksa sistemin yapty?y, Fatura bazly vade farky raporu i? görür. cari >raporlar altynda.

-------------
Netsisden vazgeçemiyorum. Beni engelliyor..


Mesajı Yazan: mbaykan
Mesaj Tarihi: 06 Aralık 2015 Saat 21:36
A?a?yda yazdy?ymdan 4 rapor çykar

WITH BORCLU AS (SELECT CARI_KOD,CARI_ISIM,CARI_TIP,CM_BORCT - CM_ALACT BAKIYE FROM TBLCASABIT
WHERE CM_BORCT - CM_ALACT > 0 AND M_KOD LIKE '[13]2%'),
ALACAKLI AS (SELECT CARI_KOD,CARI_ISIM,CARI_TIP,CM_ALACT - CM_BORCT BAKIYE FROM TBLCASABIT
WHERE CM_ALACT - CM_BORCT > 0 AND M_KOD LIKE '[13]2%'),
LISTE_B AS (SELECT A.CARI_KOD,CARI_ISIM,MAX(CM_BORCT - CM_ALACT) BAKIYE,MAX(TARIH) SON_TAHSILAT,DATEDIFF(d,MAX(TARIH),GETDATE()) GUN
FROM TBLCAHAR A
JOIN TBLCASABIT B ON A.CARI_KOD=B.CARI_KOD
WHERE ALACAK > 0 AND A.CARI_KOD IN (SELECT CARI_KOD FROM BORCLU)
GROUP BY A.CARI_KOD,CARI_ISIM,CARI_TIP),
LISTE_A AS (SELECT A.CARI_KOD,CARI_ISIM,MAX(CM_ALACT - CM_BORCT) BAKIYE,MAX(TARIH) SON_ODEME,DATEDIFF(d,MAX(TARIH),GETDATE()) GUN
FROM TBLCAHAR A
JOIN TBLCASABIT B ON A.CARI_KOD=B.CARI_KOD
WHERE BORC > 0 AND A.CARI_KOD IN (SELECT CARI_KOD FROM ALACAKLI)
GROUP BY A.CARI_KOD,CARI_ISIM,CARI_TIP),
BHAR AS (SELECT A.CARI_KOD,BORC,TARIH,DATEDIFF(d,TARIH,GETDATE()) GUN,B.BAKIYE,
ROW_NUMBER() OVER (PARTITION BY A.CARI_KOD ORDER BY A.CARI_KOD,TARIH DESC,INC_KEY_NUMBER DESC) AS SIRA
FROM TBLCAHAR A (NOLOCK)
JOIN BORCLU B ON A.CARI_KOD=B.CARI_KOD
WHERE A.BORC > 0
--ORDER BY TARIH DESC,INC_KEY_NUMBER DESC
),
AHAR AS (SELECT A.CARI_KOD,ALACAK,TARIH,DATEDIFF(d,TARIH,GETDATE()) GUN,B.BAKIYE,
ROW_NUMBER() OVER (PARTITION BY A.CARI_KOD ORDER BY A.CARI_KOD,TARIH DESC,INC_KEY_NUMBER DESC) AS SIRA
FROM TBLCAHAR A (NOLOCK)
JOIN ALACAKLI B ON A.CARI_KOD=B.CARI_KOD
WHERE A.ALACAK > 0
),
BBHAR AS (SELECT B1.CARI_KOD,B1.BAKIYE,B1.TARIH,B1.BORC,B1.GUN,
SUM(B2.BORC) TBORC,SUM(B2.GUN*B2.BORC) ADAT,SUM(B2.GUN) TGUN,B1.SIRA
FROM BHAR B1
JOIN BHAR B2 ON B1.CARI_KOD=B2.CARI_KOD AND B2.SIRA<=B1.SIRA
GROUP BY B1.CARI_KOD,B1.SIRA,B1.BORC,B1.GUN,B1.TARIH,B1.BAKIYE
),
AAHAR AS (SELECT A1.CARI_KOD,A1.BAKIYE,A1.TARIH,A1.ALACAK,A1.GUN,
SUM(A2.ALACAK) TALACAK,SUM(A2.GUN*A2.ALACAK) ADAT,SUM(A2.GUN) TGUN,A1.SIRA
FROM AHAR A1
JOIN AHAR A2 ON A1.CARI_KOD=A2.CARI_KOD AND A2.SIRA<=A1.SIRA
GROUP BY A1.CARI_KOD,A1.SIRA,A1.ALACAK,A1.GUN,A1.TARIH,A1.BAKIYE
),
SONUCB AS (SELECT CARI_KOD,BAKIYE,TARIH,BORC,TBORC TBORC1,CASE WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN BAKIYE ELSE TBORC END TBORC,GUN,
CASE  WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN ADAT - BORC*GUN + GUN*(BAKIYE - (TBORC - BORC)) ELSE ADAT END ADAT,SIRA,
ROUND(ADAT/TBORC,0) ORT1,
ROUND((CASE  WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN ADAT - BORC*GUN + GUN*(BAKIYE - (TBORC - BORC)) ELSE ADAT END)/
CASE WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN BAKIYE ELSE TBORC END,0) ORT
--,CASE WHEN (BAKIYE BETWEEN TBORC - BORC AND TBORC) OR BAKIYE >= TBORC THEN 1 ELSE 0 END C
FROM BBHAR
WHERE (CASE WHEN (BAKIYE BETWEEN TBORC - BORC AND TBORC) OR BAKIYE > TBORC THEN 1 ELSE 0 END) = 1),
SONUCA AS (SELECT CARI_KOD,BAKIYE,TARIH,ALACAK,TALACAK TALAC1,CASE WHEN BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN BAKIYE ELSE TALACAK END TALACAK,GUN,
CASE  WHEN BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN ADAT - ALACAK*GUN + GUN*(BAKIYE - (TALACAK - ALACAK)) ELSE ADAT END ADAT,SIRA,
ROUND(ADAT/TALACAK,0) ORT1,
ROUND((CASE  WHEN BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN ADAT - ALACAK*GUN + GUN*(BAKIYE - (TALACAK - ALACAK)) ELSE ADAT END)/
CASE WHEN BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN BAKIYE ELSE TALACAK END,0) ORT
--,CASE WHEN (BAKIYE BETWEEN TBORC - BORC AND TBORC) OR BAKIYE >= TBORC THEN 1 ELSE 0 END C
FROM AAHAR
WHERE (CASE WHEN (BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK) OR BAKIYE > TALACAK THEN 1 ELSE 0 END) = 1)

--BORC YASLANDIRMA SONUCB DEN
--OZET ICIN
--SELECT CARI_KOD,MAX(BAKIYE) BAKIYE,MAX(ORT) GUN FROM SONUCB GROUP BY CARI_KOD
SELECT * FROM SONUCB
--ALACAK YASLANDIRMA SONUCA DAN
--OZET ICIN
--SELECT CARI_KOD,-MAX(BAKIYE) BAKIYE,MAX(ORT) GUN FROM SONUCA GROUP BY CARI_KOD
--DETAY ICIN
--SELECT * FROM SONUCA



-------------
Mehmet Baykan


Mesajı Yazan: wontimes
Mesaj Tarihi: 25 Mart 2021 Saat 17:29
Merhabalar Üstadım , 

Bu raporda ; 

TBORC --- TBORC1---TBORC neyi ifade ediyor ? açıklayabilir misiniz rica etsem.

Sadece 120 li cariler için raporu revize edebilir misiniz ? ben denedim ancak bağlantılar var sanırım
beceremedim.

Sevgi ve Saygılarımla  


-------------
İmza Bulamadım


Mesajı Yazan: mbaykan
Mesaj Tarihi: 25 Mart 2021 Saat 18:17
--OZEL HESAP KAPATMALI BEKLEYEN CARI HAREKETLER

WITH TMP AS (SELECT A.SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,HAREKET_TURU HT,ACIKLAMA,ROW_NUMBER() OVER(PARTITION BY CARI_KOD ORDER BY CARI_KOD,VADE_TARIHI,INC_KEY_NUMBER) SIRA,
DOVIZ_TURU DT, (SELECT CAST(CM_BORCT - CM_ALACT AS money) FROM TBLCASABIT U WHERE U.CARI_KOD=A.CARI_KOD) BAKIYE,
BORC,CASE WHEN BORC>0 THEN BORC - ROUND((CASE WHEN ROUND(DOVIZ_TUTAR,2)>0 AND DOVIZ_TURU<>0 THEN (BORC+ALACAK)/ROUND(DOVIZ_TUTAR,2) ELSE 1 END)*KAPATILMIS_TUTAR,2) ELSE 0 END GBORC,
ALACAK, CASE WHEN ALACAK>0 THEN ALACAK - ROUND((CASE WHEN ROUND(DOVIZ_TUTAR,2)>0 AND DOVIZ_TURU<>0 THEN (BORC+ALACAK)/ROUND(DOVIZ_TUTAR,2) ELSE 1 END)*KAPATILMIS_TUTAR,2) ELSE 0 END GALACAK,
--KAPATILMIS_TUTAR,DOVIZ_TUTAR,
--ROUND((CASE WHEN ROUND(DOVIZ_TUTAR,2)>0 AND DOVIZ_TURU<>0 THEN (BORC+ALACAK)/ROUND(DOVIZ_TUTAR,2) ELSE 1 END)*KAPATILMIS_TUTAR,2) KAPTL_TUTAR,
DATEDIFF(d,GETDATE(),VADE_TARIHI) GUN,A.INC_KEY_NUMBER,
ROUND((DATEDIFF(d,GETDATE(),VADE_TARIHI))*((CASE WHEN BORC>0 THEN BORC - ROUND((CASE WHEN ROUND(DOVIZ_TUTAR,2)>0 AND DOVIZ_TURU<>0 THEN (BORC+ALACAK)/ROUND(DOVIZ_TUTAR,2) ELSE 1 END)*KAPATILMIS_TUTAR,2) ELSE 0 END) - (CASE WHEN ALACAK>0 THEN ALACAK - ROUND((CASE WHEN ROUND(DOVIZ_TUTAR,2)>0 AND DOVIZ_TURU<>0 THEN (BORC+ALACAK)/ROUND(DOVIZ_TUTAR,2) ELSE 1 END)*KAPATILMIS_TUTAR,2) ELSE 0 END)),2) AS ADAT
--CASE WHEN ACIKLAMA<>'KUR FARKI' THEN DATEDIFF(D,VADE_TARIHI,CAST(GETDATE() AS DATE)) ELSE 0 END GUN
FROM TBLCAHAR A (NOLOCK)
WHERE CARI_KOD IN (SELECT CARI_KOD FROM TBLCASABIT WHERE HESAPTUTMASEKLI='K') AND
BORC + ALACAK > ROUND((CASE WHEN ROUND(DOVIZ_TUTAR,2)>0 AND DOVIZ_TURU<>0 THEN (BORC+ALACAK)/ROUND(DOVIZ_TUTAR,2) ELSE 1 END)*KAPATILMIS_TUTAR,2)
--ORDER BY CARI_KOD,TARIH,SIRA
)
,

--YASLANDIRMALI BEKLEYEN CARI HAREKETLER

BORCLU AS (SELECT CARI_KOD,CARI_ISIM,CARI_TIP,'Y' HTS, ROUND(CM_BORCT - CM_ALACT,2) BAKIYE FROM TBLCASABIT --CBAK
WHERE /*BAKIYE*/ ROUND(CM_BORCT - CM_ALACT,2) > 0 AND HESAPTUTMASEKLI='Y' --AND SUBE_KODU=-1 --AND M_KOD LIKE '[13]2%'
),
ALACAKLI AS (SELECT CARI_KOD,CARI_ISIM,CARI_TIP,'Y' HTS, ROUND(CM_ALACT - CM_BORCT,2) BAKIYE FROM TBLCASABIT  --CBAK
WHERE /*BAKIYE*/ ROUND(CM_BORCT - CM_ALACT,2) < 0 AND HESAPTUTMASEKLI='Y' --AND SUBE_KODU=-1 --AND M_KOD LIKE '[13]2%'
),

BHAR AS (SELECT A.SUBE_KODU,A.CARI_KOD,ROUND(BORC,2) BORC,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HAREKET_TURU HT,DATEDIFF(d,GETDATE(),VADE_TARIHI) GUN,B.BAKIYE,INC_KEY_NUMBER,
ROW_NUMBER() OVER (PARTITION BY A.CARI_KOD ORDER BY A.CARI_KOD,/*TARIH*/VADE_TARIHI DESC,INC_KEY_NUMBER DESC) AS SIRA
FROM TBLCAHAR A (NOLOCK)
JOIN BORCLU B ON A.CARI_KOD=B.CARI_KOD
WHERE ROUND(A.BORC,2) > 0
),
AHAR AS (SELECT A.SUBE_KODU,A.CARI_KOD,ROUND(ALACAK,2) ALACAK,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HAREKET_TURU HT,DATEDIFF(d,GETDATE(),VADE_TARIHI) GUN,B.BAKIYE,INC_KEY_NUMBER,
ROW_NUMBER() OVER (PARTITION BY A.CARI_KOD ORDER BY A.CARI_KOD,/*TARIH*/VADE_TARIHI DESC,INC_KEY_NUMBER DESC) AS SIRA
FROM TBLCAHAR A (NOLOCK)
JOIN ALACAKLI B ON A.CARI_KOD=B.CARI_KOD
WHERE ROUND(A.ALACAK,2) > 0  
),
BBHAR AS (SELECT B1.SUBE_KODU,B1.CARI_KOD,B1.BAKIYE,B1.TARIH,B1.VADE_TARIHI,B1.BORC,B1.GUN,B1.INC_KEY_NUMBER,B1.BELGE_NO,B1.ACIKLAMA,B1.HT,
SUM(B2.BORC) TBORC,SUM(B2.GUN*B2.BORC) ADAT,SUM(B2.GUN) TGUN,B1.SIRA
FROM BHAR B1
JOIN BHAR B2 ON B1.SUBE_KODU=B2.SUBE_KODU AND B1.CARI_KOD=B2.CARI_KOD AND B2.SIRA<=B1.SIRA
GROUP BY B1.SUBE_KODU,B1.CARI_KOD,B1.SIRA,B1.BORC,B1.GUN,B1.TARIH,B1.VADE_TARIHI,B1.BAKIYE,B1.INC_KEY_NUMBER,B1.BELGE_NO,B1.ACIKLAMA,B1.HT
),
AAHAR AS (SELECT A1.SUBE_KODU,A1.CARI_KOD,A1.BAKIYE,A1.TARIH,A1.VADE_TARIHI,A1.ALACAK,A1.GUN,A1.INC_KEY_NUMBER,A1.BELGE_NO,A1.ACIKLAMA,A1.HT,
SUM(A2.ALACAK) TALACAK,SUM(A2.GUN*A2.ALACAK) ADAT,SUM(A2.GUN) TGUN,A1.SIRA
FROM AHAR A1
JOIN AHAR A2 ON A1.SUBE_KODU=A2.SUBE_KODU AND A1.CARI_KOD=A2.CARI_KOD AND A2.SIRA<=A1.SIRA
GROUP BY A1.SUBE_KODU,A1.CARI_KOD,A1.SIRA,A1.ALACAK,A1.GUN,A1.TARIH,A1.VADE_TARIHI,A1.BAKIYE,A1.INC_KEY_NUMBER,A1.BELGE_NO,A1.ACIKLAMA,A1.HT
),
SONUCB AS (SELECT SUBE_KODU,CARI_KOD,BAKIYE,TARIH,VADE_TARIHI,BELGE_NO,HT,ACIKLAMA,BORC,TBORC TBORC1,CASE WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN BAKIYE ELSE TBORC END TBORC,GUN,BBHAR.INC_KEY_NUMBER,
CASE  WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN ADAT - BORC*GUN + GUN*(BAKIYE - (TBORC - BORC)) ELSE ADAT END ADAT,SIRA,
ROUND(ADAT/TBORC,0) ORT1,
ROUND((CASE  WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN ADAT - BORC*GUN + GUN*(BAKIYE - (TBORC - BORC)) ELSE ADAT END)/
CASE WHEN BAKIYE BETWEEN TBORC - BORC AND TBORC THEN BAKIYE ELSE TBORC END,0) ORT
--,CASE WHEN (BAKIYE BETWEEN TBORC - BORC AND TBORC) OR BAKIYE >= TBORC THEN 1 ELSE 0 END C
FROM BBHAR
WHERE (CASE WHEN (BAKIYE BETWEEN TBORC - BORC AND TBORC) OR BAKIYE > TBORC THEN 1 ELSE 0 END) = 1),

SONUCA AS (SELECT SUBE_KODU,CARI_KOD,BAKIYE,TARIH,VADE_TARIHI,BELGE_NO,HT,ACIKLAMA,ALACAK,TALACAK TALAC1,CASE WHEN -BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN -BAKIYE ELSE TALACAK END TALACAK,GUN,AAHAR.INC_KEY_NUMBER,
CASE  WHEN -BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN ADAT - ALACAK*GUN + GUN*(-1*BAKIYE - (TALACAK - ALACAK)) ELSE ADAT END ADAT,SIRA,
ROUND(ADAT/TALACAK,0) AS ORT1,
ROUND((CASE  WHEN -BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN ADAT - ALACAK*GUN + GUN*(-1*BAKIYE - (TALACAK - ALACAK)) ELSE ADAT END)/
CASE WHEN -BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK THEN -BAKIYE ELSE TALACAK END,0) AS ORT
--,CASE WHEN (BAKIYE BETWEEN TBORC - BORC AND TBORC) OR BAKIYE >= TBORC THEN 1 ELSE 0 END C
FROM AAHAR
WHERE (CASE WHEN (BAKIYE BETWEEN TALACAK - ALACAK AND TALACAK) OR BAKIYE > TALACAK THEN 1 ELSE 0 END) = 1)

--BORC YASLANDIRMA SONUCB DEN
--OZET ICIN
--SELECT CARI_KOD,MAX(BAKIYE) BAKIYE,MAX(ORT) GUN FROM SONUCB GROUP BY CARI_KOD
SELECT SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,HT,ACIKLAMA,SIRA,BAKIYE,BORC BORC1,/*TBORC1,TBORC,*/BORC -(TBORC1 - TBORC) BORC,0.0 ALACAK1,/*0.0 TALACAK,0.0 TALAC1,*/0.0 ALACAK,GUN
--,INC_KEY_NUMBER,ADAT,ORT1 ORT

FROM SONUCB

UNION ALL
--ALACAK YASLANDIRMA SONUCA DAN
--OZET ICIN
--SELECT CARI_KOD,-MAX(BAKIYE) BAKIYE,MAX(ORT) GUN FROM SONUCA GROUP BY CARI_KOD
--DETAY ICIN
SELECT SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,HT,ACIKLAMA,ROW_NUMBER() OVER (PARTITION BY CARI_KOD ORDER BY CARI_KOD,SIRA DESC) AS SIRA,
-BAKIYE BAKIYE ,0.0 BORC1,/*0.0 TBORC1,0.0 TBORC,*/0.0,ALACAK ALACAK1,/*TALACAK,TALAC1,*/ALACAK - (TALAC1-TALACAK) ALACAK,GUN
--,INC_KEY_NUMBER,ADAT,ORT1 ORT
FROM SONUCA

UNION ALL
SELECT SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,HT,ACIKLAMA,SIRA,BAKIYE,BORC BORC1,GBORC BORC,ALACAK ALACAK1,GALACAK ALACAK,GUN
--,ROUND(ADAT/(GBORC + GALACAK),0) ORT
FROM TMP
WHERE GBORC + GALACAK>0

ORDER BY CARI_KOD,TARIH
GO


BORC1 ve ALACAK1 sütunları hareketin asıl tutarları,
BORC ve ALACAK sütunları ise kapatma/yaşlandırma sonrası hareketin bakiye tutarlarıdır.

BAKIYE ise + Borç bakiyeyeyi  - Alacak bakiyeyi gösterir



-------------
Mehmet Baykan


Mesajı Yazan: wontimes
Mesaj Tarihi: 25 Mart 2021 Saat 19:49
Üstad ben bunu çalıştıramadım , yorum satırlarından falan herhalde , birbirine girdi :)) 

-------------
İmza Bulamadım


Mesajı Yazan: wontimes
Mesaj Tarihi: 25 Mart 2021 Saat 19:58
Üst tarafı almamışım Üstad çok pardon , tamam çalıştı ... inceleyeceğim şimdi 

Çok Teşekkürler 


-------------
İmza Bulamadım


Mesajı Yazan: wontimes
Mesaj Tarihi: 25 Mart 2021 Saat 21:56
Üstad Merhaba , 

sorguda bir hata olabilir mi ? bir çok caride tahsilatlar çıkmıyor , ama çıkanlarda var , ekteki resimde gönderiyorum.
Üst kısım sizin rapordan gelen alt taraf netsis...

Saygılar

https://hizliresim.com/04vv14" rel="nofollow - https://hizliresim.com/04vv14




-------------
İmza Bulamadım



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net