Witam,
Chciałem skonstruować trigger, który aktualizuje pole własne rozszerzone, gdy zmieniana jest data realizacji zamówienia.
Niestety, gdy go włączam, niemożliwe jest edytowanie Faktur Sprzedażowych (FS) - po zapisaniu.
Czy może ktoś ma wiedzę dlaczego "gryzą się" te dwa elementy, gdy w IF jest wybrany Typ= 16 (ZK)?
ALTER TRIGGER [dbo].[Aktualizacja_Kolejnosci_ZK_Po_Zmianie_Terminu_Realizacji]
ON [dbo].[dok__Dokument]
AFTER UPDATE
AS
IF (SELECT dok_Typ FROM inserted) = 16 AND (SELECT pwd_Fk01 FROM pw_Dane WHERE pwd_IdObiektu = (SELECT dok_Id FROM inserted)) >0
BEGIN
DECLARE @termin int, @priorytet int, @pwdid int
SET @termin = (SELECT CONVERT(INT, dok_TerminRealizacji) FROM inserted) -- Termin ZK
SET @priorytet = (SELECT pwd_Fk01 FROM pw_Dane WHERE pwd_IdObiektu = (SELECT dok_Id FROM inserted))
SET @pwdid = (SELECT dok_Id FROM inserted) -- ID rekordu w tabeli pw_Dane
UPDATE dbo.pw_Dane
SET dbo.pw_Dane.pwd_Liczba01 = (CASE WHEN @priorytet in (29) THEN 3
WHEN @priorytet in (31) THEN 1
WHEN @priorytet in (32) THEN 2
WHEN @priorytet in (33,34,36,37,38,39,40,42,43,45,46) THEN 4
WHEN @priorytet in (47) THEN 6
ELSE 0 END )*100000000
+100000000-@termin*100
+@priorytet -- ustalenie kolejnosci kolumna #99Kolejność
WHERE dbo.pw_Dane.pwd_IdObiektu= @pwdid AND pwd_TypObiektu = -8
END