Borc-alacak ayni satır
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=3962
Tarih: 23 Kasım 2024 Saat 05:44 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: Borc-alacak ayni satır
Mesajı Yazan: social
Konu: Borc-alacak ayni satır
Mesaj Tarihi: 14 Ocak 2015 Saat 15:42
http://hizliresim.com/GpDyOv" rel="nofollow">
yukarydaky ekrandaki gibi bir rapor yapmaya çaly?yyorum,ozel hesap kapatma kullanylyyor. Faturalary keserken tanymladygym plasyyer kodlaryny giriyorum ve tahsylatlardada ayny plasyyerlery gyryyorum. ystedygym rapor ekranynda
Kod----isim-plasiyer kodu(faturadaki)--borç----alacak(plasiyer kodu,dekont-kasa-çek)---devirden kalan---ocak_kalan....
?imdi alacak bakyyesynyn plasiyery neden lazym çunku,A diye kesylen faturayy dekont odemesynde B seçilmi? olabylyr.O yuzden alacak haraketynyn plasyyeryde lazym ama sorun tek satyrda bunlary almak istiyorum. ozellykle O plasiyerynyndeki borç haraketini R plasiyeri ile kapattymky fark belly olsun dyye
su an ki sekylde borç ve alacagy ayry ayry satyrlara atyyor,ben bu raporu excel e aktaryp,10 dakykada by yenyletecegym.
Yardymcy olacaklara symdyden çok te?ekkurler
|
Cevaplar:
Mesajı Yazan: Conari
Mesaj Tarihi: 14 Ocak 2015 Saat 17:20
CÜMLEYY Yazsaydyn,
Group by yapman gerek veya Case when blo?u.
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: social
Mesaj Tarihi: 14 Ocak 2015 Saat 21:36
SELECT DISTINCT dbo.TBLCAHAR.CARI_KOD AS KOD, dbo.TBLCASABIT.CARI_ISIM, dbo.TBLCARIPLASIYER.PLASIYER_ACIKLAMA, dbo.TBLCAHAR.BELGE_NO, dbo.TBLCAHAR.ACIKLAMA, dbo.TBLCAHAR.TARIH, (CASE WHEN TBLCAHAR.BORC > 0 THEN TBLCAHAR.BORC ELSE 0 END) AS BORC, dbo.TBLCAHAR.KAPATILMIS_TUTAR, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2012-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2014-12-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS KALAN_2014, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-01-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS OCAK_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-02-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-02-28 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS SUBAT_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-03-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-03-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS MART_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-04-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-04-30 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS NISAN_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-05-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-05-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS MAYIS_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-06-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-06-30 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS HAZIRAN_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-07-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-07-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS TEMMUZ_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-08-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-08-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS AGUSTOS_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-09-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-09-30 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS EYLUL_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-10-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-10-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS EKIM_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-11-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-11-30 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS KASIM_KALAN, (CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-12-01 00:00:00', 102) AND CONVERT(DATETIME, '2015-12-31 00:00:00', 102) THEN SUM(TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR) END) AS ARALIK_KALAN FROM dbo.TBLCASABIT INNER JOIN dbo.TBLCAHAR ON dbo.TBLCASABIT.CARI_KOD = dbo.TBLCAHAR.CARI_KOD LEFT OUTER JOIN dbo.TBLCARIPLASIYER ON dbo.TBLCAHAR.PLASIYER_KODU = dbo.TBLCARIPLASIYER.PLASIYER_KODU GROUP BY dbo.TBLCAHAR.CARI_KOD, dbo.TBLCASABIT.CARI_ISIM, dbo.TBLCAHAR.ALACAK, dbo.TBLCAHAR.BORC, dbo.TBLCAHAR.VADE_TARIHI, dbo.TBLCAHAR.PLASIYER_KODU, dbo.TBLCAHAR.BORC, dbo.TBLCAHAR.ALACAK, dbo.TBLCAHAR.KAPATILMIS_TUTAR, dbo.TBLCAHAR.BELGE_NO, dbo.TBLCAHAR.ACIKLAMA, dbo.TBLCAHAR.TARIH, dbo.TBLCARIPLASIYER.PLASIYER_ACIKLAMA, dbo.TBLCASABIT.CARI_TIP HAVING (dbo.TBLCAHAR.BORC > '0') AND (dbo.TBLCASABIT.CARI_TIP = 'A') AND (dbo.TBLCAHAR.BORC <> dbo.TBLCAHAR.KAPATILMIS_TUTAR)
|
Mesajı Yazan: social
Mesaj Tarihi: 14 Ocak 2015 Saat 21:38
(dbo.TBLCAHAR.BORC > '0') ile alacak satyrlaryny kaldyrdym,kapatylmy? tutary kullanyyorum ama ne derece dogru oldu acaba
Ayryca alacak haraketini yapan plasiyerin kodunu aldyramadym,bu alacak haraketini yapan plasyyery ekleyebylyrsem i?im çözulmu? olacak veya en azyndan borç haraketini yapan ile alacak haraketini yapan plasiyer kodu farkly ise bunu bir sekylde gorebylyrsen super olur
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 15 Ocak 2015 Saat 00:01
alacak hareketlerin eski ?irket'te kaldy?y için sorgunun önüne bunlary alabilmen için ekleme yaptym <eski_sirket> yazan yerlere bu Veritabanyny yazarsyn. Önemli Not: bir Belge(Fatura) bir den fazla Plasiyer ile (Alacak) kapatylmy? ise bunu a?a?ydaki sorgu YANLI? verecektir. örnek A carisi, 123 Belge No, X Borc Plasiyer, Borc, Kap.Tutar, N ve M Alacak.Plasiyerleri; ise bu satyr 2 kez raporlanacak bire bir ise do?u hesaplar GROUP BY kullandy?yn bir sorguda sayysal alanlaryn gruplanmasy genellikle do?ru de?ildir.
WITH ESKI AS (SELECT CARI_KOD,BELGE_NO,PLASIYER_KODU,INC_KEY_NUMBER FROM <eski_sirket>..TBLCAHAR WHERE BORC > 0 AND BORC <> KAPATILMIS_TUTAR ), KAPAMA AS (SELECT CARI_KOD,BORCNO,ALACAKNO,BELGE_NO,PLASIYER_KODU AS PLS_BORC FROM <eski_sirket>..TBLOZELHESAP JOIN ESKI ON BORCNO=INC_KEY_NUMBER ), PLS_ALC AS (SELECT DISTINCT B.CARI_KOD,B.PLASIYER_KODU AS PLS_ALC,C.PLASIYER_ACIKLAMA AS PLASIYER,A.BELGE_NO,PLS_BORC FROM KAPAMA A JOIN <eski_sirket>..TBLCAHAR B ON A.ALACAKNO=B.INC_KEY_NUMBER LEFT JOIN <eski_sirket>..TBLCARIPLASIYER C ON B.PLASIYER_KODU=C.PLASIYER_KODU ) SELECT dbo.TBLCAHAR.CARI_KOD AS KOD, dbo.TBLCASABIT.CARI_ISIM, dbo.TBLCARIPLASIYER.PLASIYER_ACIKLAMA, dbo.TBLCAHAR.BELGE_NO, dbo.TBLCAHAR.ACIKLAMA, dbo.TBLCAHAR.TARIH, SUM(CASE WHEN TBLCAHAR.BORC > 0 THEN TBLCAHAR.BORC ELSE 0 END) AS BORC, SUM(dbo.TBLCAHAR.KAPATILMIS_TUTAR) KAPATILMIS_TUTAR, PLS_ALC.PLASIYER, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI < CONVERT(DATETIME, '2015-01-01', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS KALAN_2014, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-01-01', 102) AND CONVERT(DATETIME, '2015-01-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS OCAK_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-02-01', 102) AND CONVERT(DATETIME, '2015-02-28', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS SUBAT_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-03-01', 102) AND CONVERT(DATETIME, '2015-03-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS MART_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-04-01 ', 102) AND CONVERT(DATETIME, '2015-04-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS NISAN_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-05-01', 102) AND CONVERT(DATETIME, '2015-05-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS MAYIS_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-06-01', 102) AND CONVERT(DATETIME, '2015-06-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS HAZIRAN_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-07-01', 102) AND CONVERT(DATETIME, '2015-07-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS TEMMUZ_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-08-01', 102) AND CONVERT(DATETIME, '2015-08-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS AGUSTOS_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-09-01', 102) AND CONVERT(DATETIME, '2015-09-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS EYLUL_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-10-01', 102) AND CONVERT(DATETIME, '2015-10-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS EKIM_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-11-01', 102) AND CONVERT(DATETIME, '2015-11-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS KASIM_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-12-01 ', 102) AND CONVERT(DATETIME, '2015-12-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS ARALIK_KALAN FROM dbo.TBLCASABIT INNER JOIN dbo.TBLCAHAR ON dbo.TBLCASABIT.CARI_KOD = dbo.TBLCAHAR.CARI_KOD LEFT OUTER JOIN dbo.TBLCARIPLASIYER ON dbo.TBLCAHAR.PLASIYER_KODU = dbo.TBLCARIPLASIYER.PLASIYER_KODU LEFT JOIN PLS_ALC ON PLS_ALC.CARI_KOD=TBLCAHAR.CARI_KOD AND TBLCAHAR.BELGE_NO=PLS_ALC.BELGE_NO WHERE (dbo.TBLCAHAR.BORC > '0') AND (dbo.TBLCASABIT.CARI_TIP = 'A') AND (dbo.TBLCAHAR.BORC <> dbo.TBLCAHAR.KAPATILMIS_TUTAR) GROUP BY dbo.TBLCAHAR.CARI_KOD, dbo.TBLCASABIT.CARI_ISIM, dbo.TBLCAHAR.VADE_TARIHI, dbo.TBLCAHAR.PLASIYER_KODU, dbo.TBLCAHAR.BELGE_NO, dbo.TBLCAHAR.ACIKLAMA, dbo.TBLCAHAR.TARIH, dbo.TBLCARIPLASIYER.PLASIYER_ACIKLAMA, dbo.TBLCASABIT.CARI_TIP, PLS_ALC.PLASIYER
------------- Mehmet Baykan
|
Mesajı Yazan: social
Mesaj Tarihi: 15 Ocak 2015 Saat 08:00
Hocam tesekkurler ama 2014 sirketindd plasiyer kullanmiyorduk,o yuzden sorgu sanirim hatali olacaktir.Eski sirketden alacak haraketlerinin gelmesine gerek yok,zaten devirler kapatilmamis haraket bazinda oldugundan 2014 kalan sutununda toplamini aldiriyorum.Sadece alacak hareketine ait cahardaki plasiyeri ekleyebylyrmysynyz rapora ben ugrasyyorum ama beceremedym,kapatylmy? tutaryn hangy plasiyer kodu tarafyndan yapyldygy.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 15 Ocak 2015 Saat 08:47
veri'si 2014 de?ilse nerededir.? istedi?iniz Cari karttaki plasiyer de?il ise
------------- Mehmet Baykan
|
Mesajı Yazan: social
Mesaj Tarihi: 15 Ocak 2015 Saat 09:12
2015 sirketinde plasiyere geçildi. Cahardaki plasiyeri istiyorum.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 15 Ocak 2015 Saat 09:20
<eski_sirket> veritabany isimlerini silerek dener misin?
------------- Mehmet Baykan
|
Mesajı Yazan: social
Mesaj Tarihi: 15 Ocak 2015 Saat 09:30
http://hizliresim.com/12Ellj" rel="nofollow">
silsemde,silmesemde bu hatayy veryyor
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 15 Ocak 2015 Saat 09:53
2015 ?irketinizde alacak (tahsilat) hareketleri var my? devirle borç satyrlary gelmi? ve borcun plasiyeri devir hareketlerinde kayytly, 15 günlük tahsilâtynyzdan (alacak hareketi) girilmi? plasiyer bilgisi raporlanyr. ESKY_1 nedir? yazym hatasy var galiba
------------- Mehmet Baykan
|
Mesajı Yazan: social
Mesaj Tarihi: 15 Ocak 2015 Saat 10:01
mbaykan Yazdı:
2015 ?irketinizde alacak (tahsilat) hareketleri var my? devirle borç satyrlary gelmi? ve borcun plasiyeri devir hareketlerinde kayytly, 15 günlük tahsilâtynyzdan (alacak hareketi) girilmi? plasiyer bilgisi raporlanyr.
|
Hocam 2015 faal olarak kullanylyyor,dekont ve kasadan alacak haraketleri var. Soyle dusunun deviri hiç kary?tyrmayyn hocam,ben sadece ?unu istiyorum.
Mahmut Carisine Fatura kesylyrken Plasiyer kodu kysmyna H yazylmy? olsun ve bu Hasar Faturasy Olsun,Ayryca Mahmut Carisine Birde aksesuar Faturasy kesilmi? olsun ve Bununda Plasiyer kodu kysmyna A yazylmy? olsun.
Var olan raporda bunu alabiliyorum ama eklemek istedigim ?u.
Mahmut---Fatura_Kesilirken_Girilen_Plasiyer_Kodu-----Borç-----Kapatylmy?_Tutar----Dekont veya Kasa Tahsilat Yapylyrken_Girilen_Plasiyer_Kodu
Sizin kodu copy-paste yapynca ESKI1 diye degi?tiriyor.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 15 Ocak 2015 Saat 11:56
View yaratyrken WITH'in kullanymy kurally oldu?u için o hatayy veriyormu?. do?rusudesign mode'da WITH deste?i yok
CREATE VIEW V_CARIRAP AS WITH ESKI (CARI_KOD,BELGE_NO,PLASIYER_KODU,INC_KEY_NUMBER) AS (SELECT CARI_KOD,BELGE_NO,PLASIYER_KODU,INC_KEY_NUMBER FROM <eski_sirket>..TBLCAHAR WHERE BORC > 0 AND BORC <> KAPATILMIS_TUTAR ), KAPAMA (CARI_KOD,BORCNO,ALACAKNO,BELGE_NO,PLS_BORC) AS (SELECT CARI_KOD,BORCNO,ALACAKNO,BELGE_NO,PLASIYER_KODU AS PLS_BORC FROM <eski_sirket>..TBLOZELHESAP JOIN ESKI ON BORCNO=INC_KEY_NUMBER ), PLS_ALC (CARI_KOD,PLS_ALC,PLASIYER,BELGE_NO,PLS_BORC) AS (SELECT DISTINCT B.CARI_KOD,B.PLASIYER_KODU AS PLS_ALC,C.PLASIYER_ACIKLAMA AS PLASIYER,A.BELGE_NO,PLS_BORC FROM KAPAMA A JOIN <eski_sirket>..TBLCAHAR B ON A.ALACAKNO=B.INC_KEY_NUMBER LEFT JOIN <eski_sirket>..TBLCARIPLASIYER C ON B.PLASIYER_KODU=C.PLASIYER_KODU ) SELECT dbo.TBLCAHAR.CARI_KOD AS KOD, dbo.TBLCASABIT.CARI_ISIM, dbo.TBLCARIPLASIYER.PLASIYER_ACIKLAMA, dbo.TBLCAHAR.BELGE_NO, dbo.TBLCAHAR.ACIKLAMA, dbo.TBLCAHAR.TARIH, SUM(CASE WHEN TBLCAHAR.BORC > 0 THEN TBLCAHAR.BORC ELSE 0 END) AS BORC, SUM(dbo.TBLCAHAR.KAPATILMIS_TUTAR) KAPATILMIS_TUTAR, SUM(CASE WHEN TBLCAHAR.BORC > 0 THEN TBLCAHAR.BORC ELSE 0 END) - SUM(dbo.TBLCAHAR.KAPATILMIS_TUTAR) AS BAKIYE,PLS_ALC.PLASIYER, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI < CONVERT(DATETIME, '2015-01-01', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS KALAN_2014, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-01-01', 102) AND CONVERT(DATETIME, '2015-01-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS OCAK_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-02-01', 102) AND CONVERT(DATETIME, '2015-02-28', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS SUBAT_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-03-01', 102) AND CONVERT(DATETIME, '2015-03-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS MART_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-04-01 ', 102) AND CONVERT(DATETIME, '2015-04-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS NISAN_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-05-01', 102) AND CONVERT(DATETIME, '2015-05-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS MAYIS_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-06-01', 102) AND CONVERT(DATETIME, '2015-06-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS HAZIRAN_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-07-01', 102) AND CONVERT(DATETIME, '2015-07-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS TEMMUZ_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-08-01', 102) AND CONVERT(DATETIME, '2015-08-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS AGUSTOS_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-09-01', 102) AND CONVERT(DATETIME, '2015-09-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS EYLUL_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-10-01', 102) AND CONVERT(DATETIME, '2015-10-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS EKIM_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-11-01', 102) AND CONVERT(DATETIME, '2015-11-30', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS KASIM_KALAN, SUM(CASE WHEN TBLCAHAR.BORC > 0 AND TBLCAHAR.VADE_TARIHI BETWEEN CONVERT(DATETIME, '2015-12-01 ', 102) AND CONVERT(DATETIME, '2015-12-31', 102) THEN TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR END) AS ARALIK_KALAN FROM dbo.TBLCASABIT INNER JOIN dbo.TBLCAHAR ON dbo.TBLCASABIT.CARI_KOD = dbo.TBLCAHAR.CARI_KOD LEFT OUTER JOIN dbo.TBLCARIPLASIYER ON dbo.TBLCAHAR.PLASIYER_KODU = dbo.TBLCARIPLASIYER.PLASIYER_KODU LEFT JOIN PLS_ALC ON PLS_ALC.CARI_KOD=TBLCAHAR.CARI_KOD AND TBLCAHAR.BELGE_NO=PLS_ALC.BELGE_NO WHERE (dbo.TBLCAHAR.BORC > '0') AND (dbo.TBLCASABIT.CARI_TIP = 'A') AND (dbo.TBLCAHAR.BORC <> dbo.TBLCAHAR.KAPATILMIS_TUTAR) GROUP BY dbo.TBLCAHAR.CARI_KOD, dbo.TBLCASABIT.CARI_ISIM, dbo.TBLCAHAR.VADE_TARIHI, dbo.TBLCAHAR.PLASIYER_KODU, dbo.TBLCAHAR.BELGE_NO, dbo.TBLCAHAR.ACIKLAMA, dbo.TBLCAHAR.TARIH, dbo.TBLCARIPLASIYER.PLASIYER_ACIKLAMA, dbo.TBLCASABIT.CARI_TIP, PLS_ALC.PLASIYER HAVING SUM(CASE WHEN TBLCAHAR.BORC > 0 THEN TBLCAHAR.BORC ELSE 0 END) - SUM(dbo.TBLCAHAR.KAPATILMIS_TUTAR) >=10
<eski_sirket>.. yoksa silinebilir
------------- Mehmet Baykan
|
Mesajı Yazan: social
Mesaj Tarihi: 15 Ocak 2015 Saat 21:05
Mehmet Bey sayenizde çok güzel bir rapor oldu,muhasebenyn tahsylat takybyny %70 0ranynda kolayla?tyrdy.Birde raporu excele çekerken,cari kod degi?iminde bir toplam aldyrabilseydik tadyndan yenmezdi :) Hocam çok ama çok te?ekkurler.Elinize emeginize sa?lyk
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 16 Ocak 2015 Saat 07:28
Veri menüsünde (Excel >=2007) Alt toplamlar komutu ile alynabilir
------------- Mehmet Baykan
|
Mesajı Yazan: Conari
Mesaj Tarihi: 16 Ocak 2015 Saat 08:01
Extend ile çekmiyorsunuz VBA da toplam aldyrabilirsiniz.
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: social
Mesaj Tarihi: 16 Ocak 2015 Saat 09:35
vba ile yapmak zorundayym gibi ama vba dah hiç anlamam,
degi?en A sutunundaki KOD a gore alt toplamyny aldyrmak için nasyl bir makro olmaly.?u sekylde G,H,I,K,L,M,N,O,P,R,S,T,U,V,W sutunlarynyda toplayacak ve rengyde bold kyrmyzy olacak,ayryca kendysy yeny bir satyr açyp toplamlary almaly.Boyle birsey macroya baglanabylyrmy.
Makro oncesi http://hizliresim.com/W6qZG2" rel="nofollow">
makro sonrasy http://hizliresim.com/bgV268" rel="nofollow">
|
Mesajı Yazan: Conari
Mesaj Tarihi: 16 Ocak 2015 Saat 10:13
Veriyi nasyl çekiyorsunuz? dy? veri al la my?
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: social
Mesaj Tarihi: 16 Ocak 2015 Saat 11:15
evet dy? verial,su an son durumda union ile alt toplam aldyrdym.Bu alt toplamy ka?ullu biçimlendirme veya macro ile mesela cari isim bo? olan komple satyryn yazy rengini kyrmyzy boyutunuda 12 yapsyn gibi bir?ey olsun ky toplam satyrlary belyrly olsun ystyyorum
http://hizliresim.com/dWv0qX" rel="nofollow">
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 16 Ocak 2015 Saat 11:46
rapor konusunda bir geli?tirme daha: Stored Procedure ile Bugüne göre 1 yyllyk dönem raporlanyr
CREATE PROCEDURE USP_CARIRAP (@KRS AS VARCHAR(4)='10') AS BEGIN SET LANGUAGE Turkish; DECLARE @SQL AS NVARCHAR(4000),@AY1 VARCHAR(7),@AYISIM1 VARCHAR(15); DECLARE @AY2 VARCHAR(7),@AYISIM2 VARCHAR(15); DECLARE @AY3 VARCHAR(7),@AYISIM3 VARCHAR(15); DECLARE @AY4 VARCHAR(7),@AYISIM4 VARCHAR(15); DECLARE @AY5 VARCHAR(7),@AYISIM5 VARCHAR(15); DECLARE @AY6 VARCHAR(7),@AYISIM6 VARCHAR(15); DECLARE @AY7 VARCHAR(7),@AYISIM7 VARCHAR(15); DECLARE @AY8 VARCHAR(7),@AYISIM8 VARCHAR(15); DECLARE @AY9 VARCHAR(7),@AYISIM9 VARCHAR(15); DECLARE @AY10 VARCHAR(7),@AYISIM10 VARCHAR(15); DECLARE @AY11 VARCHAR(7),@AYISIM11 VARCHAR(15); DECLARE @AY12 VARCHAR(7),@AYISIM12 VARCHAR(15);
SELECT @AY1=CONVERT(VARCHAR(7),GETDATE(),102),@AYISIM1=QUOTENAME(UPPER(DATENAME(mm,GETDATE()))+'_'+LEFT(@AY1,4)) SELECT @AY2=CONVERT(VARCHAR(7),DATEADD(m,1,GETDATE()),102),@AYISIM2=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,1,GETDATE())))+'_'+LEFT(@AY2,4)) SELECT @AY3=CONVERT(VARCHAR(7),DATEADD(m,2,GETDATE()),102),@AYISIM3=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,2,GETDATE())))+'_'+LEFT(@AY3,4)) SELECT @AY4=CONVERT(VARCHAR(7),DATEADD(m,3,GETDATE()),102),@AYISIM4=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,3,GETDATE())))+'_'+LEFT(@AY4,4)) SELECT @AY5=CONVERT(VARCHAR(7),DATEADD(m,4,GETDATE()),102),@AYISIM5=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,4,GETDATE())))+'_'+LEFT(@AY5,4)) SELECT @AY6=CONVERT(VARCHAR(7),DATEADD(m,5,GETDATE()),102),@AYISIM6=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,5,GETDATE())))+'_'+LEFT(@AY6,4)) SELECT @AY7=CONVERT(VARCHAR(7),DATEADD(m,6,GETDATE()),102),@AYISIM7=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,6,GETDATE())))+'_'+LEFT(@AY7,4)) SELECT @AY8=CONVERT(VARCHAR(7),DATEADD(m,7,GETDATE()),102),@AYISIM8=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,7,GETDATE())))+'_'+LEFT(@AY8,4)) SELECT @AY9=CONVERT(VARCHAR(7),DATEADD(m,8,GETDATE()),102),@AYISIM9=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,8,GETDATE())))+'_'+LEFT(@AY9,4)) SELECT @AY10=CONVERT(VARCHAR(7),DATEADD(m,9,GETDATE()),102),@AYISIM10=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,9,GETDATE())))+'_'+LEFT(@AY10,4)) SELECT @AY11=CONVERT(VARCHAR(7),DATEADD(m,10,GETDATE()),102),@AYISIM11=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,10,GETDATE())))+'_'+LEFT(@AY11,4)) SELECT @AY12=CONVERT(VARCHAR(7),DATEADD(m,11,GETDATE()),102),@AYISIM12=QUOTENAME(UPPER(DATENAME(mm,DATEADD(m,11,GETDATE())))+'_'+LEFT(@AY12,4)) SET @SQL=N'WITH ESKI (CARI_KOD,BELGE_NO,PLASIYER_KODU,INC_KEY_NUMBER) AS (SELECT CARI_KOD,BELGE_NO,PLASIYER_KODU,INC_KEY_NUMBER FROM TBLCAHAR WHERE BORC > 0 AND BORC <> KAPATILMIS_TUTAR ), KAPAMA (CARI_KOD,BORCNO,ALACAKNO,BELGE_NO,PLS_BORC) AS (SELECT CARI_KOD,BORCNO,ALACAKNO,BELGE_NO,PLASIYER_KODU AS PLS_BORC FROM TBLOZELHESAP JOIN ESKI ON BORCNO=INC_KEY_NUMBER ), PLS_ALC (CARI_KOD,PLS_ALC,PLASIYER,BELGE_NO,PLS_BORC) AS (SELECT DISTINCT B.CARI_KOD,B.PLASIYER_KODU AS PLS_ALC,C.PLASIYER_ACIKLAMA AS PLASIYER,A.BELGE_NO,PLS_BORC FROM KAPAMA A JOIN TBLCAHAR B ON A.ALACAKNO=B.INC_KEY_NUMBER LEFT JOIN TBLCARIPLASIYER C ON B.PLASIYER_KODU=C.PLASIYER_KODU ) SELECT A.CARI_KOD AS KOD, B.CARI_ISIM, C.PLASIYER_ACIKLAMA, A.BELGE_NO, A.ACIKLAMA, A.TARIH, SUM(CASE WHEN A.BORC > 0 THEN A.BORC ELSE 0 END) AS BORC, SUM(A.KAPATILMIS_TUTAR) KAPATILMIS_TUTAR, SUM(CASE WHEN A.BORC > 0 THEN A.BORC ELSE 0 END) - SUM(A.KAPATILMIS_TUTAR) AS BAKIYE, PLS_ALC.PLASIYER, SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) < ''' +@AY1 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS DEVIR_KALAN, SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY1 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM1 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY2 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM2 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY3 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM3 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY4 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM4 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY5 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM5 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY6 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM6 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY7 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM7 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY8 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM8 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY9 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM9 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY10 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM10 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY11 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM11 +N', SUM(CASE WHEN A.BORC > 0 AND CONVERT(VARCHAR(7),A.VADE_TARIHI,102) = ''' +@AY12 +N''' THEN A.BORC - A.KAPATILMIS_TUTAR END) AS ' +@AYISIM12 +N' FROM dbo.TBLCASABIT B INNER JOIN dbo.TBLCAHAR A ON B.CARI_KOD = A.CARI_KOD LEFT OUTER JOIN dbo.TBLCARIPLASIYER C ON A.PLASIYER_KODU = C.PLASIYER_KODU LEFT JOIN PLS_ALC ON PLS_ALC.CARI_KOD=A.CARI_KOD AND A.BELGE_NO=PLS_ALC.BELGE_NO WHERE (A.BORC > ''0'') AND (B.CARI_TIP = ''A'') AND (A.BORC <> A.KAPATILMIS_TUTAR) GROUP BY A.CARI_KOD, B.CARI_ISIM,CONVERT(VARCHAR(7),A.VADE_TARIHI,102), A.PLASIYER_KODU, A.BELGE_NO, A.ACIKLAMA, A.TARIH, C.PLASIYER_ACIKLAMA, B.CARI_TIP, PLS_ALC.PLASIYER HAVING SUM(CASE WHEN A.BORC > 0 THEN A.BORC ELSE 0 END) - SUM(A.KAPATILMIS_TUTAR) >=' +@KRS EXECUTE(@SQL)
END
Çaly?tyrmak için EXECUTE dbo.USP_CARIRAP '5' (excel dy? veri için SQL seçip, EXECUTE'u kaldyryn) burada 5 TL'nin altyndaki bakiyeleri dikkate almaz EXECUTE dbo.USP_CARIRAP (excel dy? veri için SQL seçip, EXECUTE'u kaldyryn) default'u 10 TL.dir
------------- Mehmet Baykan
|
Mesajı Yazan: social
Mesaj Tarihi: 17 Ocak 2015 Saat 10:00
A?agydaki excel macro ile toplam satyryndan sonra 1 bo?luk açyyor,toplam fontlary kyrmyzy,alt çyzgyly ve 12 boyutuna getyryyor,fontunuda cambria yapyyor.
Sub boya()
For i = [a65536].End(3).Row To 3 Step -1 If Cells(i, 1) <> Cells(i - 1, 1) Then Range(Cells(i, 1), Cells(i, "o")).Insert Next For X = 2 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(X, 2).Value = "" Then Range(Cells(X, 2), Cells(X, Cells(X, Columns.Count).End(xlToLeft).Column)).Font.Color = vbRed Range(Cells(X, 2), Cells(X, Cells(X, Columns.Count).End(xlToLeft).Column)).Font.Size = 12 Range(Cells(X, 2), Cells(X, Cells(X, Columns.Count).End(xlToLeft).Column)).Font.Name = "Cambria" Range(Cells(X, 2), Cells(X, Cells(X, Columns.Count).End(xlToLeft).Column)).Font.Underline = True
End If Next
End Sub
|
|