![]() |
Stok hareketlerinde fiyat kontrol trigger |
Post Reply ![]() |
Author | |
cemil bakır ![]() Senior Member ![]() Joined: 11 Mart 2010 Location: türkiye Status: Offline Points: 204 |
![]() ![]() ![]() ![]() ![]() 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 |
|
![]() |
|
scorpion_4435 ![]() Groupie ![]() Joined: 17 Kasım 2009 Location: İzmir Status: Offline Points: 74 |
![]() ![]() ![]() ![]() ![]() |
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 |
|
![]() |
|
cemil bakır ![]() Senior Member ![]() Joined: 11 Mart 2010 Location: türkiye Status: Offline Points: 204 |
![]() ![]() ![]() ![]() ![]() |
teşekkürler buna kullanıcı değilde cari karttında tanımlı olan iskonto tanımlayabilirmiyiz
|
|
![]() |
Post Reply ![]() |
|
Tweet |
Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |