Mikro Yazılım Homepage
Forum Home Forum Home > Mikro Ürünleri ile ilgili Forumlar > Mikro Fly
  New Posts New Posts RSS Feed - Stok hareketlerinde fiyat kontrol trigger
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Stok hareketlerinde fiyat kontrol trigger

 Post Reply Post Reply
Author
Message
cemil bakır View Drop Down
Senior Member
Senior Member


Joined: 11 Mart 2010
Location: türkiye
Status: Offline
Points: 204
Post Options Post Options   Thanks (0) Thanks(0)   Quote cemil bakır Quote  Post ReplyReply Direct Link To This Post Topic: Stok hareketlerinde fiyat kontrol trigger
    Posted: 02 Eylül 2021 at 13:29
CREATE TRIGGER [dbo].[Fiyat_Kontrol] ON [dbo].[STOK_HAREKETLERI]
FOR INSERT, update
AS

DECLARE


@CariKod varchar(25),
@CariRecid int,
@StokKodu varchar(25),
@CDate date,
@ListeNo int,
@FiyatKodu int,
@CariFiyati float,
@GirilenFiyat float,
@Dovizi int,
@Miktar float,
@KullanıcıID int,
@Protip tinyint,
@Mesaj nvarchar(max),
@HamFiyat float,
@EnIyiFiyat float
set @CariKod='' Select @CariKod=sth_cari_kodu from inserted
set @CariRecid=0 select @CariRecid=(select cari_RECid_RECno from CARI_HESAPLAR where cari_kod=@CariKod)
set @StokKodu='' Select @StokKodu=sth_stok_kod from inserted
set @CDate='' select @CDate=sth_create_date from inserted
set @ListeNo=0 select @ListeNo=sth_fiyat_liste_no from inserted
set @FiyatKodu=1 select @FiyatKodu=( select cari_satis_fk from CARI_HESAPLAR WHERE cari_kod=@CariKod)
set @CariFiyati=0 select @CariFiyati=(select sfiyat_fiyati from STOK_SATIS_FIYAT_LISTELERI where sfiyat_stokkod=@StokKodu and sfiyat_listesirano=@FiyatKodu)
set @Miktar=0 select @Miktar=sth_miktar from inserted
set @GirilenFiyat=0 Select @GirilenFiyat=(sth_tutar/sth_miktar) from inserted

set @KullanıcıID=0 Select @KullanıcıID=sth_lastup_user from inserted

set @Protip=1 Select @Protip=sth_tip from inserted

set @EnIyiFiyat=0 select @EnIyiFiyat=(case
when @KullanıcıID in (1) then @CariFiyati * 0.60
when @KullanıcıID in (2,3,4) then @CariFiyati * 0.70
end)

set @Mesaj='Evrağa Girilen Satış Fiyatı; ' + @StokKodu + ' stok kodlu ürün için Cariye Tanımlanmış en iyi satış fiyatı olan ' + CAST(@EnIyiFiyat AS nvarchar(10)) + ' fiyatından daha düşük olamaz! Lütfen Satış Yöneticisi ile görüşünüz! '
if @Protip!=0
IF @GirilenFiyat<@EnIyiFiyat

BEGIN RAISERROR(@Mesaj, 16, 1)
ROLLBACK
RETURN
END

V 16 GÖRE NASIL UYARLARIM
Back to Top
scorpion_4435 View Drop Down
Groupie
Groupie


Joined: 17 Kasım 2009
Location: İzmir
Status: Offline
Points: 74
Post Options Post Options   Thanks (0) Thanks(0)   Quote scorpion_4435 Quote  Post ReplyReply Direct Link To This Post Posted: 02 Eylül 2021 at 15:24
Mrblar
Aşağıdaki düzenlenmiş hali
----------------------------------------
CREATE TRIGGER [dbo].[Fiyat_Kontrol_v16] ON [dbo].[STOK_HAREKETLERI]
FOR INSERT, update
AS

DECLARE


@CariKod varchar(25),
@CariGuid UniqueIdentifier,
@StokKodu varchar(25),
@CDate date,
@ListeNo int,
@FiyatKodu int,
@CariFiyati float,
@GirilenFiyat float,
@Dovizi int,
@Miktar float,
@KullanıcıID int,
@Protip tinyint,
@Mesaj nvarchar(max),
@HamFiyat float,
@EnIyiFiyat float
set @CariKod='' Select @CariKod=sth_cari_kodu from inserted
set @CariGuid='00000000-0000-0000-0000-000000000000' select @CariGuid=(select cari_Guid from CARI_HESAPLAR where cari_kod=@CariKod)
set @StokKodu='' Select @StokKodu=sth_stok_kod from inserted
set @CDate='' select @CDate=sth_create_date from inserted
set @ListeNo=0 select @ListeNo=sth_fiyat_liste_no from inserted
set @FiyatKodu=1 select @FiyatKodu=( select cari_satis_fk from CARI_HESAPLAR WHERE cari_kod=@CariKod)
set @CariFiyati=0 select @CariFiyati=(select sfiyat_fiyati from STOK_SATIS_FIYAT_LISTELERI where sfiyat_stokkod=@StokKodu and sfiyat_listesirano=@FiyatKodu)
set @Miktar=0 select @Miktar=sth_miktar from inserted
set @GirilenFiyat=0 Select @GirilenFiyat=(sth_tutar/sth_miktar) from inserted

set @KullanıcıID=0 Select @KullanıcıID=sth_lastup_user from inserted

set @Protip=1 Select @Protip=sth_tip from inserted

set @EnIyiFiyat=0 select @EnIyiFiyat=(case
when @KullanıcıID in (1) then @CariFiyati * 0.60
when @KullanıcıID in (2,3,4) then @CariFiyati * 0.70
end)

set @Mesaj='Evrağa Girilen Satış Fiyatı; ' + @StokKodu + ' stok kodlu ürün için Cariye Tanımlanmış en iyi satış fiyatı olan ' + CAST(@EnIyiFiyat AS nvarchar(10)) + ' fiyatından daha düşük olamaz! Lütfen Satış Yöneticisi ile görüşünüz! '
if @Protip!=0
IF @GirilenFiyat<@EnIyiFiyat

BEGIN RAISERROR(@Mesaj, 16, 1)
ROLLBACK
RETURN
END
GO

ALTER TABLE [dbo].[STOK_HAREKETLERI] ENABLE TRIGGER [Fiyat_Kontrol_v16]
GO


Back to Top
cemil bakır View Drop Down
Senior Member
Senior Member


Joined: 11 Mart 2010
Location: türkiye
Status: Offline
Points: 204
Post Options Post Options   Thanks (0) Thanks(0)   Quote cemil bakır Quote  Post ReplyReply Direct Link To This Post Posted: 02 Eylül 2021 at 20:11
teşekkürler buna kullanıcı değilde cari karttında tanımlı olan iskonto tanımlayabilirmiyiz
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.06
Copyright ©2001-2023 Web Wiz Ltd.

This page was generated in 0.688 seconds.