Masz w swojej procedurze:
(SELECT dok_Typ FROM inserted) = 16
Jeżeli w tabeli inserted będzie więcej niż 1 rekord to ten test wywoła błąd.
Musisz to obsłużyć.
@Bird22 Dzięki za poświęcony czas, cierpliwość, a nawet edycję pierwszej swojej odpowiedzi

(załapałem poranną odpowiedź, ale nie miałem czasu)
Proponuję takie rozwiązanie.
IF (SELECT Count (dok_Id) FROM inserted)=1 -- Zapewnienie, że tylko 1 wiersz (tak się dzieje przy edycji ZK)
IF (SELECT Dok_Typ FROM inserted) = 16 AND (SELECT pwd_Fk01 FROM pw_Dane WHERE pwd_IdObiektu = (SELECT dok_Id FROM inserted) AND pwd_TypObiektu = -8 ) >0 --dalsze sprawdzanie warunków
Czy myślicie, że coś jeszcze warto uwzględnić?