Trigger OSTRZEGAJĄCY, a nie błąd
Moderator: mikey
- STAY_PJE
- Posty: 651
- Rejestracja: 24 wrz 2009, 12:08
- Rola: Konsultant CDN XL
- Lokalizacja: Warszawa i od Helu do Wawelu
- Kontakt:
Re: Trigger OSTRZEGAJĄCY, a nie błąd
dobrze wiedzeć
-
MangoGuarana
- Posty: 15
- Rejestracja: 06 lis 2014, 09:29
- Rola: Konsultant CDN XL
Re: Trigger OSTRZEGAJĄCY, a nie błąd
Wydaje mi się, że to jednak tak nie działa. (przynajmniej u mnie)
Robię RAISERROR, a po nim ROLLBACK lub COMMIT. Niezależnie od opcji jaką wybiorę po raiserror żadna dalsza część kodu się nie wykonuje.
Robię RAISERROR, a po nim ROLLBACK lub COMMIT. Niezależnie od opcji jaką wybiorę po raiserror żadna dalsza część kodu się nie wykonuje.
-
MangoGuarana
- Posty: 15
- Rejestracja: 06 lis 2014, 09:29
- Rola: Konsultant CDN XL
Re: Trigger OSTRZEGAJĄCY, a nie błąd
Dobra, poszło jak dodałam begin try.
-
marceynowa
- Posty: 347
- Rejestracja: 29 lut 2008, 11:27
- Rola: Administrator CDN XL
- Wersja: 2022
- Lokalizacja: Gdynia
Re: Trigger OSTRZEGAJĄCY, a nie błąd
Można prosić o podsumowanie. Jak powinien wyglądać trigger wyświetlający tylko informację?
Re: Trigger OSTRZEGAJĄCY, a nie błąd
Dzień dobry,
napisałem triggera informującego o dodawaniu towaru z pewnym atrybutem. Zastosowałem po RAISERROR COMMIT TRAN, jednak nie działa to jak powinno. Jeśli Trigger zostanie podpięty na elementach do FAI i zadziała, tzn. pokaże informację oraz cofnie zapis towaru. Powtórne dodanie towaru przechodzi dalej prawidłowo. Jednak na fakturze dodałem jedną sztukę towaru, a na PZI wygenerowanej z FAI pojawiają się dwie sztuki. Wychodzi na to, że RAISERROR zawsze cofa operację, a zastąpienie ROLLBACK TRAN na COMMIT TRAN miesza w programie.
Może macie jakąś podpowiedź?[/b][/b]
napisałem triggera informującego o dodawaniu towaru z pewnym atrybutem. Zastosowałem po RAISERROR COMMIT TRAN, jednak nie działa to jak powinno. Jeśli Trigger zostanie podpięty na elementach do FAI i zadziała, tzn. pokaże informację oraz cofnie zapis towaru. Powtórne dodanie towaru przechodzi dalej prawidłowo. Jednak na fakturze dodałem jedną sztukę towaru, a na PZI wygenerowanej z FAI pojawiają się dwie sztuki. Wychodzi na to, że RAISERROR zawsze cofa operację, a zastąpienie ROLLBACK TRAN na COMMIT TRAN miesza w programie.
Może macie jakąś podpowiedź?[/b][/b]
pozdrawiam
Krzysztof
Krzysztof
Re: Trigger OSTRZEGAJĄCY, a nie błąd
Samo działanie jest takie jak to opisałem dawno temu, z tym że trzeba tutaj BARDZO uważać na to w którym miejscu działa sam trigger. Jeśli zrobisz go powiedzmy, na zamówieniach w oparciu o zmianę Zan_Stan i po RAISERROR będziesz robić COMMIT TRAN, to zapomnij np. o tym, że rezerwacje będą poprawne. Więc jak najbardziej jest to opcja do wyświetlania komunikatu, ale użycie tego na formatce jako całości jest, ogólnie rzecz biorąc, błędem mającym często poważne konsekwencje. Wszystko zależy tutaj od tego w którym miejscu podpinasz się z wywołaniem komunikatu.
Pozdrawiam,
Mateusz
Pozdrawiam,
Mateusz
Re: Trigger OSTRZEGAJĄCY, a nie błąd
Dlatego dodałem go na zakładce dodawania elementów. Otwieram okno z pozycją dodania towaru, dodaję towar np. z atrybutem A, trigger zadziała i pojawia się info. Jednak po kliknięciu 'ok' okno z wyborem towaru jest puste, znaczy zadział ROLLBACK TRAN (dziwne bo go nie mam). Dodaję ten sam towar jeszcze raz w tym miejscu, przechodzi dalej bez wyzwalania triggera, towar zostaje dodany do listy. Powstaje błąd dot. ilości.
pozdrawiam
Krzysztof
Krzysztof