+ Cevap Ver
3 sonuçtan 1 ile 3 arası

Konu: .:: Triger ::. Son Alış Fiyatını FİYAT5 e DÖVİZLİ Olarak Yazar...

  1. #1
    Junior Member
    Üyelik tarihi
    Jun 2016
    Mesajlar
    3
    Tecrübe Puanı
    0

    .:: Triger ::. Son Alış Fiyatını FİYAT5 e DÖVİZLİ Olarak Yazar...

    CREATE TRIGGER [dbo].[Tr_StokFiyat5Guncelle]
    ON [dbo].[STOK_HAR]
    AFTER INSERT
    AS
    BEGIN

    DECLARE @CON INT
    SET @CON = (SELECT COUNTER FROM INSERTED)

    IF (SELECT COUNT(*) FROM STOK_HAR WHERE MODUL='FATURA' AND ISLEM LIKE '%satınalma%' and NORMALIADE=0 AND COUNTER=@CON)=1
    UPDATE STOK SET
    FIYAT5= (SELECT TOP 1 IDFIYAT FROM STOK_HAR WHERE MODUL='FATURA' AND ISLEM LIKE '%satınalma%' and NORMALIADE=0 AND COUNTER=@CON),
    DTURU5= (SELECT TOP 1 IDTURU FROM STOK_HAR WHERE MODUL='FATURA' AND ISLEM LIKE '%satınalma%' and NORMALIADE=0 AND COUNTER=@CON)
    WHERE KODU IN (SELECT TOP 1 KODU FROM STOK_HAR WHERE MODUL='FATURA' AND ISLEM LIKE '%satınalma%' and NORMALIADE=0 AND COUNTER=@CON)



    END

  2. #2
    Member
    Üyelik tarihi
    Dec 2014
    Mesajlar
    44
    Tecrübe Puanı
    0
    Triger - Stok kartındaki Alış fiyatına Stok kar oranını ekleyip FIYAT1 e yazar.

    ALTER TRIGGER [dbo].[Tr_StokFiyat5Duzenle_UPDATE]
    ON [dbo].[STOK]
    AFTER UPDATE
    AS
    BEGIN

    DECLARE @KODU nvarchar(30)
    SET @KODU = (SELECT TOP 1 KODU FROM INSERTED)
    DECLARE @ALISF1 FLOAT , @KDV INT,@OTVYS FLOAT, @IND FLOAT,@KARORANI FLOAT
    SET @ALISF1 = (SELECT ALISF1 FROM STOK WHERE KODU=@KODU)
    SET @KDV = (SELECT SATIS_KDV1 FROM STOK WHERE KODU=@KODU)
    SET @OTVYS = (SELECT OTVYS FROM STOK WHERE KODU=@KODU)
    SET @IND = (SELECT A1IND1 FROM STOK WHERE KODU=@KODU)
    SET @KARORANI = (SELECT KARORANI FROM STOK WHERE KODU=@KODU)
    DECLARE @FIYAT FLOAT
    SET @FIYAT=@ALISF1-- kdv ekler/ (1+ ([dbo].[Fn_Bolme](@KDV,100)))
    --SET @FIYAT=@FIYAT-(@FIYAT*@IND/100)
    --SET @FIYAT=@FIYAT * (1+ ([dbo].[Fn_Bolme](@OTVYS,100)))
    SET @FIYAT=@FIYAT * (1+ ([dbo].[Fn_Bolme](@KARORANI,100)))
    --SET @FIYAT=@FIYAT*(1+ ([dbo].[Fn_Bolme](@KDV,100)))
    IF (SELECT COUNT(*) FROM STOK WHERE KODU=@KODU)=1
    UPDATE STOK SET
    FIYAT1=@FIYAT
    WHERE KODU = @KODU AND ALISF1>0
    END

  3. #3
    Member
    Üyelik tarihi
    Dec 2014
    Mesajlar
    44
    Tecrübe Puanı
    0
    Triger - Alış fiyat değişikliğinden alış fiyatları güncellendiğinde (kayıt edildiğinde) satış fiyatı1 e otomatik yansıtır. Alış Fiyatı * 1,6 şeklinde

    alter TRIGGER [dbo].[Tr_StokSatisFiyatGuncelle]
    ON [dbo].[FIYAT_DEGISIKLIGI_DT]
    AFTER INSERT,UPDATE
    AS
    BEGIN

    DECLARE @CON INT
    SET @CON = (SELECT COUNTER FROM INSERTED)

    IF (SELECT COUNT(*) FROM FIYAT_DEGISIKLIGI_DT WHERE COUNTER=@CON)=1
    UPDATE STOK SET
    FIYAT1= (SELECT TOP 1 (YENIFIYAT*1.60) FROM FIYAT_DEGISIKLIGI_DT WHERE COUNTER=@CON)
    WHERE KODU= (SELECT TOP 1 KODU FROM FIYAT_DEGISIKLIGI_DT WHERE COUNTER=@CON )

    END

+ Cevap Ver

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •