Bu sorgu yardımı ile cari hesap bakiyelerinin ve muhasebe bakiyelerinin karşılaştırması yapılabilir.
CREATE VIEW dbo.CARI_MUHASEBE_KARSILASTIRMA
AS
SELECT TOP 100 PERCENT
cari_kod AS [Cari Kodu]
,ISNULL(cari_unvan1,'') AS [Cari Ünvanı]
,cari_muh_kod AS [Cari Muhasebe Kodu]
,CASE WHEN muh_hesap_kod IS NULL THEN 'Yok' ELSE 'Var' END AS [Muhasebe Hesap Kodu]
,ISNULL(muh_hesap_isim1,'') AS [Muhasebe Hesap Ünvanı]
,ISNULL(SUM(dbo.fn_CariHesapAnaDovizBakiye('',0,cari_kod,'','',NULL,NULL,NULL,0)),'') AS [Cari Bakiye]
,ISNULL(SUM(dbo.fn_muhbakiye(muh_hesap_kod, dbo.fn_GetAktifFirma(), dbo.fn_GetAktifMaliYil(), 0)),'') AS [Muhasebe Bakiye]
FROM dbo.CARI_HESAPLAR WITH(NOLOCK)
FULL OUTER JOIN dbo.MUHASEBE_HESAP_PLANI WITH(NOLOCK)
ON (muh_hesap_kod=cari_muh_kod)
WHERE cari_muh_kod <> ''
GROUP BY cari_kod, cari_unvan1, cari_muh_kod, muh_hesap_kod, muh_hesap_isim1
GO
10 yorum:
2011 yılı cari kapanış ve 2012 cari açılışı karşılaştıran kodunuz varmı v12 için?
yararlı bir bilgi.
Merhaba aşağıdaki sorguya tarih arası yardımı ile iki yıla ait bakiyeleri alabilirsiniz.
SELECT * FROM dbo.fn_CariMuhasebeBakiyeKontrol(?T1,?T2,?K1)
Aşağıdaki sorguyu SQL Managment Studio ya yapıştırarak oluşturun.
CREATE FUNCTION dbo.fn_CariMuhasebeBakiyeKontrol
(
@ilktar datetime = NULL,
@sontar datetime = NULL,
@carikod varchar(25) = ''
)
RETURNS TABLE AS
RETURN
(
SELECT TOP 100 PERCENT
cari_kod AS [CARİ KOD]
,cari_unvan1 AS [CARİ ÜNVAN]
,dbo.fn_CariHesapAnaDovizBakiye('', 0, cari_kod, '', '',0, @ilktar, @sontar, 0) AS [CARİ BAKİYE 1 (TL)]
,dbo.fn_CariHesapOrjinalDovizBakiye('',0,cari_kod,'','',0, @ilktar, @sontar, 0) AS [CARİ BAKİYE 1 (ORJİNAL)]
,dbo.fn_DovizSembolu(cari_doviz_cinsi) AS [DÖVİZ CİNSİ 1]
,dbo.fn_CariHesapAnaDovizBakiye('', 1, cari_kod, '', '',0, @ilktar, @sontar, 0) AS [CARİ BAKİYE 2 (TL)]
,dbo.fn_CariHesapOrjinalDovizBakiye('',1,cari_kod,'','',0, @ilktar, @sontar, 0) AS [CARİ BAKİYE 2 (ORJİNAL)]
,dbo.fn_DovizSembolu(cari_doviz_cinsi1) AS [DÖVİZ CİNSİ 2]
,dbo.fn_CariHesapAnaDovizBakiye('', 2, cari_kod, '', '',0, @ilktar, @sontar, 0) AS [CARİ BAKİYE 3 (TL)]
,dbo.fn_CariHesapOrjinalDovizBakiye('',2,cari_kod,'','',0, @ilktar, @sontar, 0) AS [CARİ BAKİYE 3 (ORJİNAL)]
,dbo.fn_DovizSembolu(cari_doviz_cinsi) AS [DÖVİZ CİNSİ 3]
,cari_muh_kod AS [MUH.KOD 1]
,dbo.fn_MuhHesapIsmi(cari_muh_kod) AS [MUH.İSİM 1]
,(SELECT SUM(fis_meblag0)
FROM dbo.MUHASEBE_FISLERI WITH(NOLOCK)
WHERE fis_hesap_kod=cari_muh_kod AND fis_tarih BETWEEN @ilktar AND @sontar) AS [MUH.BAKİYE 1 (TL)]
,(SELECT SUM(fis_meblag2)
FROM dbo.MUHASEBE_FISLERI WITH(NOLOCK)
WHERE fis_hesap_kod=cari_muh_kod AND fis_tarih BETWEEN @ilktar AND @sontar) AS [MUH.BAKİYE 1 (ORJİNAL)]
,cari_muh_kod1 AS [MUH.KOD 2]
,dbo.fn_MuhHesapIsmi(cari_muh_kod1) AS [MUH.İSİM 2]
,(SELECT SUM(fis_meblag0)
FROM dbo.MUHASEBE_FISLERI WITH(NOLOCK)
WHERE fis_hesap_kod=cari_muh_kod1 AND fis_tarih BETWEEN @ilktar AND @sontar) AS [MUH.BAKİYE 2 (TL)]
,(SELECT SUM(fis_meblag2)
FROM dbo.MUHASEBE_FISLERI WITH(NOLOCK)
WHERE fis_hesap_kod=cari_muh_kod1 AND fis_tarih BETWEEN @ilktar AND @sontar) AS [MUH.BAKİYE 2 (ORJİNAL)]
,cari_muh_kod2 AS [MUH.KOD 3]
,dbo.fn_MuhHesapIsmi(cari_muh_kod2) AS [MUH.İSİM 3]
,(SELECT SUM(fis_meblag0)
FROM dbo.MUHASEBE_FISLERI WITH(NOLOCK)
WHERE fis_hesap_kod=cari_muh_kod2 AND fis_tarih BETWEEN @ilktar AND @sontar) AS [MUH.BAKİYE 3 (TL)]
,(SELECT SUM(fis_meblag2)
FROM dbo.MUHASEBE_FISLERI WITH(NOLOCK)
WHERE fis_hesap_kod=cari_muh_kod2 AND fis_tarih BETWEEN @ilktar AND @sontar) AS [MUH.BAKİYE 3 (ORJİNAL)]
,CASE WHEN UPPER(LEFT(cari_unvan1, 40)) <> UPPER(dbo.fn_MuhHesapIsmi(cari_muh_kod)) OR dbo.fn_MuhHesapIsmi(cari_muh_kod) IS NULL
THEN 'Hayır'
ELSE 'Evet' END AS ['HESAP İSMİ UYUMLU MU?']
FROM dbo.CARI_HESAPLAR WITH(NOLOCK)
WHERE cari_kod=@carikod OR @carikod=''
)
thank you very much for information
thank you very mcuh
:) Paylaşmak güzeldir
Teşekkürler
Bu sorguda ilk tarih olmadan sadece verdiğimiz son tarihe göre bakiye durumunu alabilir miyiz muhasebe hesaplarında?
Makalede yer alan sorgu son tarihe göre yani şimdiki bakiyeye göre çalışır. Makaledeki sorguyu kullanabilirsiniz.
SELECT TOP 100 PERCENT
cari_kod AS [Cari Kodu]
,ISNULL(cari_unvan1,'') AS [Cari Ünvanı]
,cari_muh_kod AS [Cari Muhasebe Kodu]
,CASE WHEN muh_hesap_kod IS NULL THEN 'Yok' ELSE 'Var' END AS [Muhasebe Hesap Kodu]
,ISNULL(muh_hesap_isim1,'') AS [Muhasebe Hesap Ünvanı]
,ISNULL(SUM(dbo.fn_CariHesapAnaDovizBakiye('',0,cari_kod,'','',NULL,NULL,NULL,0)),'') AS [Cari Bakiye]
,ISNULL(SUM(dbo.fn_muhbakiye(muh_hesap_kod, dbo.fn_GetAktifFirma(), dbo.fn_GetAktifMaliYil(), 0)),'') AS [Muhasebe Bakiye]
FROM dbo.CARI_HESAPLAR WITH(NOLOCK)
FULL OUTER JOIN dbo.MUHASEBE_HESAP_PLANI WITH(NOLOCK)
ON (muh_hesap_kod=cari_muh_kod)
WHERE cari_muh_kod <> ''
GROUP BY cari_kod, cari_unvan1, cari_muh_kod, muh_hesap_kod, muh_hesap_isim1
bu sorguya tarih sorgusu nasıl ekleriz. tarihleri biz girmek istiyoruz.
Ayrıca tablo yönetimi gibi nasıl kullanabiliriz yani cari kodda iken hareket detaylarına nasıl girebiliriz.
Sizin sorguyu sql de çalıştırdım ama bir sonuç çıkmadı.
SELECT * FROM dbo.fn_CariMuhasebeBakiyeKontrol(?T1,?T2,?K1)
nerde kullanacağımı bilemedim.
Merhaba,
Yazmış olduğum ilk yorumları kontrol ederseniz istediğiniz şekilde çalışan tarihleri sizin vereceğiniz bir sorgu bulunmaktardır.
Yönetim ekranları gibi çalışmaz. Yanlızca raporlama amaçlıdır.
Yorum Gönder