Sayfayı Yazdır | Pencereyi Kapat

Fatura vade izleme hk.

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Genel
Forum Adı: ERP ve Excel
Forum Tanımlaması: ERP'den Excel'e Veri Çekmek ve Excel İle İlgili Bilgiler ve Sorular İçin...
URL: http://www.erpne.org/forum_posts.asp?TID=4396
Tarih: 24 Kasım 2024 Saat 07:20
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Fatura vade izleme hk.
Mesajı Yazan: dbicer83
Konu: Fatura vade izleme hk.
Mesaj Tarihi: 27 Ağustos 2016 Saat 09:59
Merhabalar,
Ödenmeyen faturalar için asagidaki detaylarda rapor almak istiyorum.
Cari altinda buna benzer raporlar var fakat format olarak çok islem yapmak gerekmektedir.
Yardimci olabilir misiniz?
Tesekkürler.


Plasiyer Kodu - Plasiyer Adi- Cari Kodu- Cari Adi -Asil Fatura Tutari- Kalan Fatura tutari -Fatura tarihi -Vade Tarihi - Vade asimi (gün)





Cevaplar:
Mesajı Yazan: rhan
Mesaj Tarihi: 27 Ağustos 2016 Saat 11:50
Cari - Ek listeler, tarih arali yaslandirma listesi isini görür.


-------------
İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU

0544 241 45 55
0242 311 45 56


Mesajı Yazan: dbicer83
Mesaj Tarihi: 27 Ağustos 2016 Saat 12:04
Orjinalini yazan: rhan rhan Yazdı:

Cari - Ek listeler, tarih arali yaslandirma listesi isini görür.
Mevcutta bu raporu kullaniyorum.
Fakat liste haline getirmek için çok zaman aliyor.
SQL üzerinde birseyler yapilabilir mi?


Mesajı Yazan: rhan
Mesaj Tarihi: 27 Ağustos 2016 Saat 13:41
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: dbicer83
Mesaj Tarihi: 27 Ağustos 2016 Saat 22:36
calistiramadim ama nerede hata yapiyor olabilirim 
Tesekkürler 


Mesajı Yazan: rhan
Mesaj Tarihi: 27 Ağustos 2016 Saat 23:32
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: dbicer83
Mesaj Tarihi: 28 Ağustos 2016 Saat 00:34
Elinize saglik. Çok harika olmus,
Cari grup kodu maskesi yapmak isitiyorum.
ne eklemeliyim.
Tsk.


Mesajı Yazan: dbicer83
Mesaj Tarihi: 30 Ağustos 2016 Saat 11:15
Merhabalar,
Müsteriye faturayi X plasiyer kesmis fakat müsteri Y müsterinin sorumlulugundadir.
X in kestigi faturayi Y nin listesinde görmek istiyoruz.
Nasil bir güncelleme yapabiliriz?
tsekkürler.



Mesajı Yazan: dbicer83
Mesaj Tarihi: 30 Ağustos 2016 Saat 22:58
plasiyer kodunu çatar üzerinden degilde casabit üzerinden alsin istiyorum 
Yardimci olabilirseniz çok memnun olurum.
Tesekkürler 


Mesajı Yazan: dbicer83
Mesaj Tarihi: 01 Eylül 2016 Saat 23:48
Konu hakkinda yorum yapabilecek var mi 
Tesekkürler 


Mesajı Yazan: rhan
Mesaj Tarihi: 02 Eylül 2016 Saat 13:04

UPDATE PLASIYER_DUZENLEME
SET HP = SP
FROM (
SELECT CH.PLASIYER_KODU HP , CS.PLASIYER_KODU SP, CH.ACIKLAMA
FROM TBLCAHAR CH WITH (NOLOCK)
INNER JOIN TBLCASABIT CS WITH (NOLOCK) ON CS.CARI_KOD = CH.CARI_KOD
WHERE 1=1 AND CH.HAREKET_TURU = 'B'
AND CH.PLASIYER_KODU <> CS.PLASIYER_KODU
) PLASIYER_DUZENLEME

UPDATE PLASIYER_DUZENLEME
SET HP = SP
FROM (
SELECT CH.PLASIYER_KODU HP , CS.PLASIYER_KODU SP, CH.STHAR_ACIKLAMA
FROM TBLSTHAR CH WITH (NOLOCK)
INNER JOIN TBLCASABIT CS WITH (NOLOCK) ON CS.CARI_KOD = CH.STHAR_ACIKLAMA
WHERE 1=1 AND CH.STHAR_HTUR IN ('I', 'J', 'K', 'L', 'M')
AND CH.PLASIYER_KODU <> CS.PLASIYER_KODU
) PLASIYER_DUZENLEME

UPDATE PLASIYER_DUZENLEME
SET HP = SP
FROM (
SELECT CH.PLA_KODU HP , CS.PLASIYER_KODU SP, CH.CARI_KODU
FROM TBLFATUIRS CH WITH (NOLOCK)
INNER JOIN TBLCASABIT CS WITH (NOLOCK) ON CS.CARI_KOD = CH.CARI_KODU
WHERE 1=1 AND CH.FTIRSIP IN ('1', '3')
AND CH.PLA_KODU <> CS.PLASIYER_KODU
) PLASIYER_DUZENLEME



karta göre hareketleri güncelliyor.


-------------
İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU

0544 241 45 55
0242 311 45 56


Mesajı Yazan: dbicer83
Mesaj Tarihi: 02 Eylül 2016 Saat 14:40
bu güncellemeyi Cahar tablosunda mi yapiyor. Söyle ki örnegin yilin baslarinda farkli plasiyer ilerleyen zamanlarda farkli plasiyer sorumlulugundadir. Bu kod yardimiyla tamamini guncellemis mi olackatir.
Tesekkürler 



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