OZEL HESAP KAPATILMAMISLAR
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=4315
Tarih: 23 Kasım 2024 Saat 00:48 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: OZEL HESAP KAPATILMAMISLAR
Mesajı Yazan: social
Konu: OZEL HESAP KAPATILMAMISLAR
Mesaj Tarihi: 08 Mart 2016 Saat 15:38
arkadaslar merhaba cari hareketinde alacak kaydi olupta özel hesap kismindan kapatilmamis haraketi olani nasil gorebilirim ornek alinin 50tl borcu var 50 tl alacagi var ve bakiyesi 0 diyelim ama özel hesap penceresi gösterilmesin isaretli ve alacak kaydinda pencere açilmadigi için 50 tl borca karsilik kapatma yapilmamis. bende istiyorumki cari haraketinde alacak kaydi olup borca kapatma yapilmamislari listelesin SELECT (CASE WHEN TBLCAHAR.ALACAK > '0' THEN TBLCAHAR.KAPATILMIS_TUTAR > '0') END) buna benzer birsey sanirim yardimlarinizi bekliyorum tesekkurler
|
Cevaplar:
Mesajı Yazan: rhan
Mesaj Tarihi: 08 Mart 2016 Saat 17:54
CREATE FUNCTION [dbo].[OZELYASLANDIR](@CARIKODU TDBCARIKOD,@DOVIZLIMI VARCHAR(1)) RETURNS --DECLARE @TEMP TABLE ( CARIKOD VARCHAR(35),CARIISIM VARCHAR(100),BELGENO VARCHAR(20),BELGETARIHI SMALLDATETIME,ACIKLAMA VARCHAR(50),TAHSILAT FLOAT,ODEME FLOAT, VADEGUNU SMALLDATETIME,ASILTUTAR FLOAT,DOVIZTUR INT,DOVIZTUTAR FLOAT,PLASIYERKODU VARCHAR(50),PLASIYERISMI VARCHAR(100),PROJE VARCHAR(15),INCKEYNO INT) AS BEGIN
IF @CARIKODU = '' BEGIN SET @CARIKODU = '%' END
DECLARE @CKOD VARCHAR(100),@DOVTIP INT,@TB FLOAT,@TA FLOAT,@DB FLOAT,@DA FLOAT,@KURISIM VARCHAR(100),@HESAPTUTMASEKLI VARCHAR(100) DECLARE @CARI_KOD VARCHAR(100),@CARI_ISIM VARCHAR(100),@BELGE_NO VARCHAR(100),@TARIH SMALLDATETIME ,@ACIKLAMA VARCHAR(100),@VADE_TARIHI SMALLDATETIME,@PROJE_KODU VARCHAR(100),@DOVIZ_TURU INT,@SUBE_KODU INT,@HAREKET_TURU VARCHAR(100),@BORC FLOAT,@ALACAK FLOAT,@DOVIZ_TUTAR FLOAT,@KAPATILMIS_TUTAR FLOAT,@INC_KEY_NUMBER FLOAT,@FIRMA_DOVIZ_TIPI FLOAT,@FIRMA_DOVIZ_TUTARI FLOAT,@PLASIYER_KODU VARCHAR(100),@PLASIYER_ACIKLAMA VARCHAR(100) DECLARE @CKODU VARCHAR(100),@CARIISIM VARCHAR(100),@BELGENO VARCHAR(100),@BELGETARIHI SMALLDATETIME,@TMP_ACIKLAMA VARCHAR(100),@TMP_BORC FLOAT,@TMP_ALACAK FLOAT,@VADE SMALLDATETIME,@SONALACAK FLOAT,@ASILTUTAR FLOAT,@DOVIZTUR INT,@DOVIZTUTAR FLOAT,@MODUL VARCHAR(100),@KA VARCHAR(100) DECLARE @BAKIYE FLOAT,@TOPLAM FLOAT
IF @DOVIZLIMI='E' BEGIN DECLARE CURCARI CURSOR FOR SELECT TRA.CARI_KOD,TRA.DOVIZ_TURU DOVIZTIP,TRA.BORC BORC, TRA.ALACAK ALACAK,TRA.BDOVTOP, TRA.ADOVTOP,ISNULL(KUR.ISIM,'YTL') KURISIM,HESAPTUTMASEKLI FROM TBLCASABIT CARIANA LEFT OUTER JOIN( SELECT CARI_KOD,CAHAR.DOVIZ_TURU,SUM(BORC) BORC ,SUM(ALACAK) ALACAK,SUM(CASE WHEN BORC>0 THEN DOVIZ_TUTAR ELSE 0 END) BDOVTOP,SUM(CASE WHEN ALACAK>0 THEN DOVIZ_TUTAR ELSE 0 END) ADOVTOP FROM TBLCAHAR CAHAR WHERE (HAREKET_TURU BETWEEN 'A' AND 'L') AND CAHAR.DOVIZ_TURU>=0 AND CAHAR.DOVIZ_TURU<=99 GROUP BY CARI_KOD,DOVIZ_TURU ) TRA ON ( CARIANA.CARI_KOD = TRA.CARI_KOD ) LEFT OUTER JOIN NETSIS..KUR KUR ON ( KUR.SIRA = TRA.DOVIZ_TURU ) WHERE (CARIANA.CM_BORCT + CARIANA.CM_ALACT <> 0) AND TRA.CARI_KOD LIKE @CARIKODU ORDER BY CARIANA.CARI_KOD ASC ,TRA.DOVIZ_TURU
OPEN CURCARI FETCH NEXT FROM CURCARI INTO @CKOD,@DOVTIP,@TB,@TA,@DB,@DA,@KURISIM,@HESAPTUTMASEKLI WHILE @@FETCH_STATUS <> -1 BEGIN IF @DOVTIP<>0 BEGIN IF @HESAPTUTMASEKLI='K' BEGIN DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD),BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,HAREKET_TURU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),DOVIZ_TUTAR,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA,INC_KEY_NUMBER FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE DOVIZ_TUTAR <> KAPATILMIS_TUTAR AND (CARI_KOD=@CKOD) AND DOVIZ_TURU = @DOVTIP ORDER BY VADE_TARIHI DESC OPEN HAREKET FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@HAREKET_TURU,@BORC,@ALACAK,@DOVIZ_TUTAR,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@INC_KEY_NUMBER WHILE @@FETCH_STATUS <> -1 BEGIN SET @SONALACAK = (@BORC + @ALACAK) SET @ASILTUTAR = (@BORC + @ALACAK) IF @BORC > 0 SET @BORC = @BORC - @KAPATILMIS_TUTAR IF @ALACAK > 0 SET @ALACAK = @ALACAK - @KAPATILMIS_TUTAR INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@HAREKET_TURU,@BORC,@ALACAK,@DOVIZ_TUTAR,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@INC_KEY_NUMBER END CLOSE HAREKET DEALLOCATE HAREKET END IF @HESAPTUTMASEKLI = 'Y ' AND @DB < @DA BEGIN SET @BAKIYE = @DA-@DB -- ALACAK DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD), BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),INC_KEY_NUMBER,DOVIZ_TUTAR,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE (CARI_KOD=@CKOD) AND NOT ((DOVIZ_TURU>0) AND (DOVIZ_TUTAR=0)) AND (DOVIZ_TURU=@DOVTIP) AND (CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END)>0 ORDER BY VADE_TARIHI DESC OPEN HAREKET SET @TOPLAM = 0 FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA WHILE @@FETCH_STATUS<>-1 AND ( @BAKIYE > @TOPLAM ) BEGIN
SET @TOPLAM = @TOPLAM + @ALACAK SET @SONALACAK = @ALACAK SET @ASILTUTAR = @ALACAK IF @TOPLAM >= @BAKIYE BEGIN SET @SONALACAK = @ALACAK SET @ALACAK = (@TOPLAM - @BAKIYE - @ALACAK) * -1 IF @SONALACAK = @ALACAK SET @SONALACAK = @ALACAK ELSE SET @SONALACAK = @ALACAK END INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA END CLOSE HAREKET DEALLOCATE HAREKET END
IF @HESAPTUTMASEKLI = 'Y ' AND @DA < @DB BEGIN SET @BAKIYE = @DB-@DA -- BORC DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD), BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),INC_KEY_NUMBER,DOVIZ_TUTAR,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE (CARI_KOD=@CKOD) AND NOT ((DOVIZ_TURU>0) AND (DOVIZ_TUTAR=0)) AND (DOVIZ_TURU=@DOVTIP) AND (CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END)>0 ORDER BY VADE_TARIHI DESC
OPEN HAREKET SET @TOPLAM = 0 FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA WHILE @@FETCH_STATUS<>-1 AND ( @BAKIYE > @TOPLAM ) BEGIN SET @TOPLAM = @TOPLAM + @BORC SET @SONALACAK = @BORC SET @ASILTUTAR = @BORC IF @TOPLAM >= @BAKIYE BEGIN SET @SONALACAK = @BORC SET @BORC = (@TOPLAM - @BAKIYE - @BORC) * -1 IF @SONALACAK = @BORC SET @SONALACAK = @BORC ELSE SET @SONALACAK = @BORC END INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA END CLOSE HAREKET DEALLOCATE HAREKET END END
IF @DOVTIP=0 BEGIN
IF @HESAPTUTMASEKLI='K' BEGIN DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD),BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,HAREKET_TURU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),DOVIZ_TUTAR,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA,INC_KEY_NUMBER FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE BORC+ALACAK <> KAPATILMIS_TUTAR AND (CARI_KOD=@CKOD) AND DOVIZ_TURU = @DOVTIP ORDER BY VADE_TARIHI DESC OPEN HAREKET FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@HAREKET_TURU,@BORC,@ALACAK,@DOVIZ_TUTAR,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@INC_KEY_NUMBER WHILE @@FETCH_STATUS <> -1 BEGIN SET @SONALACAK = (@BORC + @ALACAK) SET @ASILTUTAR = (@BORC + @ALACAK) IF @BORC > 0 SET @BORC = @BORC - @KAPATILMIS_TUTAR IF @ALACAK > 0 SET @ALACAK = @ALACAK - @KAPATILMIS_TUTAR INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@HAREKET_TURU,@BORC,@ALACAK,@DOVIZ_TUTAR,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@INC_KEY_NUMBER END CLOSE HAREKET DEALLOCATE HAREKET END IF @HESAPTUTMASEKLI = 'Y ' AND @TB < @TA BEGIN SET @BAKIYE = @TA-@TB -- ALACAK DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD), BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),INC_KEY_NUMBER,DOVIZ_TUTAR,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE (CARI_KOD=@CKOD) AND (DOVIZ_TURU=@DOVTIP) AND (CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END)>0 ORDER BY VADE_TARIHI DESC OPEN HAREKET SET @TOPLAM = 0 FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA WHILE @@FETCH_STATUS<>-1 AND ( @BAKIYE > @TOPLAM ) BEGIN
SET @TOPLAM = @TOPLAM + @ALACAK SET @SONALACAK = @ALACAK SET @ASILTUTAR = @ALACAK IF @TOPLAM >= @BAKIYE BEGIN SET @SONALACAK = @ALACAK SET @ALACAK = (@TOPLAM - @BAKIYE - @ALACAK) * -1 IF @SONALACAK = @ALACAK SET @SONALACAK = @ALACAK ELSE SET @SONALACAK = @ALACAK END INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA END CLOSE HAREKET DEALLOCATE HAREKET END
IF @HESAPTUTMASEKLI = 'Y ' AND @TA < @TB BEGIN SET @BAKIYE = @TB-@TA -- BORC DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD), BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),INC_KEY_NUMBER,DOVIZ_TUTAR,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE (CARI_KOD=@CKOD) AND (DOVIZ_TURU=@DOVTIP) AND (CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END)>0 ORDER BY VADE_TARIHI DESC
OPEN HAREKET SET @TOPLAM = 0 FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA WHILE @@FETCH_STATUS<>-1 AND ( @BAKIYE > @TOPLAM ) BEGIN SET @TOPLAM = @TOPLAM + @BORC SET @SONALACAK = @BORC SET @ASILTUTAR = @BORC IF @TOPLAM >= @BAKIYE BEGIN SET @SONALACAK = @BORC SET @BORC = (@TOPLAM - @BAKIYE - @BORC) * -1 IF @SONALACAK = @BORC SET @SONALACAK = @BORC ELSE SET @SONALACAK = @BORC END INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA END CLOSE HAREKET DEALLOCATE HAREKET END END
FETCH NEXT FROM CURCARI INTO @CKOD,@DOVTIP,@TB,@TA,@DB,@DA,@KURISIM,@HESAPTUTMASEKLI END
CLOSE CURCARI DEALLOCATE CURCARI
END
IF @DOVIZLIMI='H' BEGIN DECLARE CURCARI CURSOR FOR SELECT CARI_KOD,0,CM_BORCT,CM_ALACT,0,0,'YTL',HESAPTUTMASEKLI FROM TBLCASABIT WHERE CARI_KOD LIKE @CARIKODU ORDER BY CARI_KOD
OPEN CURCARI FETCH NEXT FROM CURCARI INTO @CKOD,@DOVTIP,@TB,@TA,@DB,@DA,@KURISIM,@HESAPTUTMASEKLI WHILE @@FETCH_STATUS <> -1 BEGIN IF @HESAPTUTMASEKLI='K' BEGIN DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD),BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,HAREKET_TURU,(CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END),(CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END),DOVIZ_TUTAR,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA,INC_KEY_NUMBER FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE BORC+ALACAK <> KAPATILMIS_TUTAR AND (CARI_KOD=@CKOD) AND DOVIZ_TURU = @DOVTIP ORDER BY VADE_TARIHI DESC OPEN HAREKET FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@HAREKET_TURU,@BORC,@ALACAK,@DOVIZ_TUTAR,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@INC_KEY_NUMBER WHILE @@FETCH_STATUS <> -1 BEGIN SET @SONALACAK = (@BORC + @ALACAK) SET @ASILTUTAR = (@BORC + @ALACAK) IF @BORC > 0 SET @BORC = @BORC - @KAPATILMIS_TUTAR IF @ALACAK > 0 SET @ALACAK = @ALACAK - @KAPATILMIS_TUTAR INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@HAREKET_TURU,@BORC,@ALACAK,@DOVIZ_TUTAR,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@INC_KEY_NUMBER END CLOSE HAREKET DEALLOCATE HAREKET END
IF @HESAPTUTMASEKLI = 'Y ' AND @TB < @TA BEGIN SET @BAKIYE = @TA-@TB -- ALACAK DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD), BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,BORC,ALACAK,INC_KEY_NUMBER,DOVIZ_TUTAR,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE (CARI_KOD=@CKOD) --AND (CASE WHEN ALACAK>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE ALACAK END)>0 AND ALACAK>0 ORDER BY VADE_TARIHI DESC OPEN HAREKET SET @TOPLAM = 0 FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA WHILE @@FETCH_STATUS<>-1 AND ( @BAKIYE > @TOPLAM ) BEGIN SET @TOPLAM = @TOPLAM + @ALACAK SET @SONALACAK = @ALACAK SET @ASILTUTAR = @ALACAK IF @TOPLAM >= @BAKIYE BEGIN SET @SONALACAK = @ALACAK SET @ALACAK = (@TOPLAM - @BAKIYE - @ALACAK) * -1 IF @SONALACAK = @ALACAK SET @SONALACAK = @ALACAK ELSE SET @SONALACAK = @ALACAK END INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA END CLOSE HAREKET DEALLOCATE HAREKET END
IF @HESAPTUTMASEKLI = 'Y ' AND @TA < @TB BEGIN SET @BAKIYE = @TB-@TA -- BORC DECLARE HAREKET CURSOR FOR SELECT CARI_KOD,(SELECT CARI_ISIM FROM TBLCASABIT WITH (NOLOCK) WHERE TBLCASABIT.CARI_KOD = TBLCAHAR.CARI_KOD), BELGE_NO,TARIH,ACIKLAMA,VADE_TARIHI,TBLCAHAR.PROJE_KODU,DOVIZ_TURU,TBLCAHAR.SUBE_KODU,BORC,ALACAK,INC_KEY_NUMBER,DOVIZ_TUTAR,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,KAPATILMIS_TUTAR,TBLCAHAR.PLASIYER_KODU,PLASIYER_ACIKLAMA FROM TBLCAHAR WITH (NOLOCK) LEFT OUTER JOIN TBLCARIPLASIYER WITH (NOLOCK) ON (TBLCAHAR.PLASIYER_KODU = TBLCARIPLASIYER.PLASIYER_KODU) WHERE (CARI_KOD=@CKOD) --AND (CASE WHEN BORC>0 AND DOVIZ_TURU <> 0 THEN DOVIZ_TUTAR ELSE BORC END)>0 AND BORC>0 ORDER BY VADE_TARIHI DESC OPEN HAREKET SET @TOPLAM = 0 FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA WHILE @@FETCH_STATUS<>-1 AND ( @BAKIYE > @TOPLAM ) BEGIN SET @TOPLAM = @TOPLAM + @BORC SET @SONALACAK = @BORC SET @ASILTUTAR = @BORC IF @TOPLAM >= @BAKIYE BEGIN SET @SONALACAK = @BORC SET @BORC = (@TOPLAM - @BAKIYE - @BORC) * -1 IF @SONALACAK = @BORC SET @SONALACAK = @BORC ELSE SET @SONALACAK = @BORC END INSERT INTO @TEMP VALUES (@CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@BORC,@ALACAK,@VADE_TARIHI,@ASILTUTAR,@DOVIZ_TURU,@DOVIZ_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA,@PROJE_KODU,@INC_KEY_NUMBER) FETCH NEXT FROM HAREKET INTO @CARI_KOD,@CARI_ISIM,@BELGE_NO,@TARIH,@ACIKLAMA,@VADE_TARIHI,@PROJE_KODU,@DOVIZ_TURU,@SUBE_KODU,@BORC,@ALACAK,@INC_KEY_NUMBER,@DOVIZ_TUTAR,@FIRMA_DOVIZ_TIPI,@FIRMA_DOVIZ_TUTARI,@KAPATILMIS_TUTAR,@PLASIYER_KODU,@PLASIYER_ACIKLAMA END CLOSE HAREKET DEALLOCATE HAREKET END
FETCH NEXT FROM CURCARI INTO @CKOD,@DOVTIP,@TB,@TA,@DB,@DA,@KURISIM,@HESAPTUTMASEKLI END
CLOSE CURCARI DEALLOCATE CURCARI
END
RETURN
END
------------- İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU
0544 241 45 55
0242 311 45 56
|
Mesajı Yazan: rhan
Mesaj Tarihi: 08 Mart 2016 Saat 17:56
SELECT * FROM [dbo].[OZELYASLANDIR]('', 'H')
------------- İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU
0544 241 45 55
0242 311 45 56
|
Mesajı Yazan: social
Mesaj Tarihi: 08 Mart 2016 Saat 18:32
tesekkurler ama bu benim istedigimi karsilamiyor
|
Mesajı Yazan: Conari
Mesaj Tarihi: 09 Mart 2016 Saat 13:09
select * from tblcahar where alacak>0 and KAPATILMIS_TUTAR<>ALACAK Dövizliler için, döviz tipi kontrolü eklenmeli ve döviz tutarina bakilmali
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: social
Mesaj Tarihi: 23 Mart 2016 Saat 12:15
Conari Yazdı:
select * from tblcahar where alacak>0 and KAPATILMIS_TUTAR<>ALACAK Dövizliler için, döviz tipi kontrolü eklenmeli ve döviz tutarina bakilmali |
BUNA ALACAK BAKIYESI 1 TL UZERINDE OLANLARI ALMAMASINI SAGLAMAK LAZIM,sorun soyle oluyor mesela 1057,70 borc bakiyeli musteriden 1057,71 tahsilat yapilmis ve kapatmasi yapilmis,alacak bakiyesi 0,01kr kaldigindan oturu rapora bunu getiriyor hemde 0,01kr olarak degilde 1057,71 olarak tam tahsilatini getiriyor
|
Mesajı Yazan: Conari
Mesaj Tarihi: 24 Mart 2016 Saat 17:34
Hocam zaten * from dedik hepsi gelsin, diye sen bir kere istedigin alanlari seçeceksin. he kalan bakiyesi 1 TL altinda olanlar gelmesin diyorsan.. select *, ALACAK-KAPATILMIS_TUTAR AS KALAN from tblcahar where alacak>0 and KAPATILMIS_TUTAR<>ALACAK AND (ALACAK-KAPATILMIS_TUTAR)>1
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
|