Forum

Bakiye geçen gün bu...
 
Bildirimler
Hepsini Temizle

[Çözüldü] Bakiye geçen gün bulma

7 Yazılar
2 Üyeler
0 Reactions
902 Görüntüleme
(@leventheres)
Gönderiler: 13
Eminent Member
Konu başlatıcı
 
[#550937]

Merhaba Arkadaşlar, Go3 kullanıyorum. Bir müşterinin bakiyesinin ne kadar gün geçtiğini bulmak için araştırma yapıyorum. Bir türlü sonucu bulamadım. Yapmak istediğim şey şu;

Bir carimiz var bakiyesi 1.100 TL diyelim. Ben yıllara sari işlem yaptığım için ortalama vade sorguları işimi görmüyor. ve Borç kapama da yapmıyorum.

Bana göre en garanti bakiye kadar son kestiğim faturaları geriye doğru toplayarak bakiye ye eşitleme ve o faturadaki tarihi görmek örneğin; (Tahsilatlar beni ilgilendirmiyor. Sadece Tarih açıklama ve borç bilgilerini görmem yeterli Cari bakiyesi 1.100 TL

Tarih                 Açıklama                    Borç  

01.03.2026      Satış faturası                100 TL

02.03.2026      Satış faturası                  50 TL

04.03.2026      Satış faturası                120 TL

05.03.2026      Satış faturası                250 TL

08.03.2026      Satış faturası                275 TL

10.03.2026      Satış faturası                300 TL

15.03.2026      Satış faturası                580 TL

21.03.2026      Satış faturası                235 TL

​Carinin bakiyesi 1.100 TL. En son kesilen faturalardan geriye doğru toplarsak 235+580+300=1.115 TL yapıyor. Yani satış fatruası 300 TL olan faturanın tarihi 10.03.2026

Bugün 29.03.2026-10.03.2026 = 19 gün geçmiş yani 1.100 TL'nin vadesi 19 gün geçmiş ben bunu görmek istiyorum. Nasıl bir sorgu veya excel formülü gerekiyor

Yardımlarınız ve ilginiz için çok teşekkür ederim.


 
Gönderildi : 29/03/2026 10:49
Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33857
Illustrious Member Yönetici
 

Selamlar,

Excel ile kolayca bulabilirsin aslında, kullanmak mı istemiyorsun?

Tarih, açıklama ve borç olacak şekilde 3 sutun olsun. A,B,C yi kullandığın için D sutunu toplama olmalı

=TOPLA($C$2:C2)

Sonra bakiye geçen satırı bulman için E sutununu kullanavilirsin

=EĞER(D2>=1100;"BULUNDU";"")

Son olarak gün hesabı 🙂

=BUGÜN()-İNDİS(A:A;KAÇINCI("BULUNDU";E:E;0))

SQL ile yapmak istiyorsan aşağıdaki kodu inceleyebilirsin;

WITH Hareketler AS (
SELECT
Tarih,
Aciklama,
Borc,
SUM(Borc) OVER (ORDER BY Tarih DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS KumulatifToplam
FROM CariHareketler
WHERE CariKod = 'XXX'
AND Tip = 'Fatura'
)
SELECT TOP 1 *
FROM Hareketler
WHERE KumulatifToplam >= 1100
ORDER BY Tarih DESC

Sonra sonucu görmek için

SELECT DATEDIFF(DAY, Tarih, GETDATE()) AS GecenGun


Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 29/03/2026 17:33
(@leventheres)
Gönderiler: 13
Eminent Member
Konu başlatıcı
 

Merhaba Arkadaşım (Hakan) vermiş olduğun cevap için çok teşekkür ederim. Sql kod oldu eline sağlık, ancak bu sorgu sadece bir cari ve bakiyesi için veriyor. Ben tüm çariler için istiyorum. örneğin şöyle yapılabilir mi? (Logo Go3 kullanıyorum. Verdiğin kodu Go3'e göre uyarladım.

Carinin Kodu   Bakiyesi   Geçen Gün

120.0001        5.500            25

120.0100        1.850            10

120.0250        6.875          120 yani tüm carileri gösterecek şekilde, senin verdiğin örnekte tek bir cari ve bakiye koşulu olmadan göstermiyor. Tekrar İlgine, alakana çok teşekkür ederim. İyi çalışmalar,


 
Gönderildi : 30/03/2026 20:18
(@leventheres)
Gönderiler: 13
Eminent Member
Konu başlatıcı
 

Selam arkadaşlar, GO3'de aşağıdaki gibi bir sorgu var. (Hakan UZUNER sorgusunu GO3 uyarladım.) 

WITH Hareketler AS (SELECT CLIENTREF, DATE_, FICHENO, NETTOTAL, SUM(NETTOTAL) OVER (ORDER BY DATE_ DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS KumulatifToplam
FROM LG_005_01_INVOICE
WHERE TRCODE = 8 AND CLIENTREF= 313)
SELECT TOP 1 *
FROM Hareketler
WHERE KumulatifToplam >= 1919.96
ORDER BY DATE_ DESC

313 2025-10-16 00:00:00.000 1900000000166351 231 2033

CLIENTREF (carinin kodu oluyor, KümülatifToplam = 1.919,96 bu carinin şu anki bakiyesi)

Bu sorgunun sonucu aşağıdadır.

SELECT DATEDIFF(DAY, DATE_, GETDATE()) AS GecenGun, CLIENTREF, NETTOTAL, KumulatifToplam
FROM dbo.caribakiye10
WHERE (CLIENTREF = 313)

166 313 231 2033  

 

bu sorgu doğru sonucu veriyor yani 313 nolu cari 166 gündür ödeme yapmıyor

benim yapmak istediğim sadece 313 nolu cari değil tüm carileri görmek istiyorum. Sorguda nasıl bir değişiklik yapmam gerekiyor. Teşekkürler. İyi çalışmalar,


 
Gönderildi : 31/03/2026 20:41
Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33857
Illustrious Member Yönetici
 

Selam, bunu dener misin

WITH Bakiyeler AS
(
SELECT
CLIENTREF,
BAKIYE
FROM dbo.caribakiye10
WHERE BAKIYE > 0
),
Hareketler AS
(
SELECT
I.CLIENTREF,
I.DATE_,
I.FICHENO,
I.LOGICALREF,
I.NETTOTAL,
B.BAKIYE,
SUM(I.NETTOTAL) OVER (
PARTITION BY I.CLIENTREF
ORDER BY I.DATE_ DESC, I.LOGICALREF DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS KumulatifToplam
FROM LG_005_01_INVOICE I
INNER JOIN Bakiyeler B
ON B.CLIENTREF = I.CLIENTREF
WHERE I.TRCODE = 8
),
EslesenSatirlar AS
(
SELECT
CLIENTREF,
DATE_,
FICHENO,
LOGICALREF,
NETTOTAL,
BAKIYE,
KumulatifToplam,
ROW_NUMBER() OVER (
PARTITION BY CLIENTREF
ORDER BY DATE_ DESC, LOGICALREF DESC
) AS RN
FROM Hareketler
WHERE KumulatifToplam >= BAKIYE
)
SELECT
C.CODE AS CariKodu,
C.DEFINITION_ AS CariUnvani,
E.BAKIYE,
E.DATE_ AS EslesenTarih,
DATEDIFF(DAY, E.DATE_, GETDATE()) AS GecenGun,
E.FICHENO,
E.NETTOTAL,
E.KumulatifToplam
FROM EslesenSatirlar E
INNER JOIN LG_005_CLCARD C
ON C.LOGICALREF = E.CLIENTREF
WHERE E.RN = 1
ORDER BY GecenGun DESC, C.CODE;


Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 01/04/2026 14:14
(@leventheres)
Gönderiler: 13
Eminent Member
Konu başlatıcı
 

@hakanuzuner 

Arkadaşım eline emeğine sağlık. Çok Teşekkür ederim. Bir kaç değişiklik yaptım. Tam istediğim gibi oldu. İyi çalışmalar,


 
Gönderildi : 01/04/2026 22:09
Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33857
Illustrious Member Yönetici
 

Rica ederiz, iyi çalışmalar diliyoruz.


Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 02/04/2026 10:14
Paylaş: