Trigger ma blokować możliwość zmiany magazynu na korekcie faktury/paragonu na magazyn depozytowy.
Trigger mam zrobiony i w zasadzie działa poprawnie, jednak na korekcie w miejscu "Magazyn docelowy" można wybrać magazyn <Oryginalny> - i problem się pojawia w przypadku gdy towar był sprzedany z magazynu depozytowego, po wyborze <Oryginalny> towar wraca na magazyn depozytowy i trigger tego nie blokuje.
Macie pomysł jak "uchwycić" ten wyjątek, aby również był blokowany?
Trigger:
Kod: Zaznacz cały
ALTER TRIGGER [CDN].[BlokadaKorektNaDepozyt]
ON [CDN].[TraNag]
FOR UPDATE AS
BEGIN
IF EXISTS(
SELECT 1 FROM inserted ins INNER JOIN deleted del ON ins.TrN_GIDNumer=del.TrN_GIDNumer AND ins.TrN_Stan>2 AND del.TrN_Stan<3 AND (ins.TrN_GIDTyp=2041 or ins.TrN_GIDTyp=2042) --MMW, MMP
INNER JOIN CDN.Magazyny mag on ins.TrN_MagDNumer=mag.MAG_GIDNumer
WHERE ((SUBSTRING(mag.MAG_Kod,len(mag.MAG_Kod),1)='D' ) OR mag.MAG_Kod='MAG')
AND (mag.MAG_Kod<>'MGD'))
BEGIN
RAISERROR('#CDN_BLAD/# #CDN_1=Korekty można dokonywać tylko na magazyny niedepozytowe. Wybierz prawidłowy magazyn docelowy. /# #CDN_3=Wybierz prawidłowy magazyn docelowy./#',16,1)
END
END