Trigger OSTRZEGAJĄCY, a nie błąd

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

Awatar użytkownika
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

Post autor: STAY_PJE »

dobrze wiedzeć

MangoGuarana
Posty: 15
Rejestracja: 06 lis 2014, 09:29
Rola: Konsultant CDN XL

Re: Trigger OSTRZEGAJĄCY, a nie błąd

Post autor: MangoGuarana »

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.

MangoGuarana
Posty: 15
Rejestracja: 06 lis 2014, 09:29
Rola: Konsultant CDN XL

Re: Trigger OSTRZEGAJĄCY, a nie błąd

Post autor: MangoGuarana »

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

Post autor: marceynowa »

Można prosić o podsumowanie. Jak powinien wyglądać trigger wyświetlający tylko informację?

bosak
Posty: 24
Rejestracja: 10 lut 2009, 22:20
Rola: Administrator CDN XL
Wersja: 7.1

Re: Trigger OSTRZEGAJĄCY, a nie błąd

Post autor: bosak »

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]
pozdrawiam
Krzysztof

elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Trigger OSTRZEGAJĄCY, a nie błąd

Post autor: elmiq »

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
Mateusz Świerkosz

http://elmiq.blogspot.com/

bosak
Posty: 24
Rejestracja: 10 lut 2009, 22:20
Rola: Administrator CDN XL
Wersja: 7.1

Re: Trigger OSTRZEGAJĄCY, a nie błąd

Post autor: bosak »

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

ODPOWIEDZ