InsERT GT => Subiekt GT => Wątek zaczęty przez: micha w Listopad 07, 2017, 11:02:37
-
Czy w związku z przyszłorocznym zakazem wystawiania faktur do paragonów z innym nipem będzie "w kolejnej wersji" możliwe wymuszenie kontroli tego i zablokowanie możliwości wystawienia FSd jeśli na PA/PAi był inny nip? Może wróbelki w Insercie coś ćwierkają?
Jestem dość pewien, że taka blokada będzie mi potrzebna. (Powiedzmy, że znam swoich pracowników i po prostu to wiem...) Nawet może bym i sobie sam napisał, ale po co wywalać drzwi, które może zaraz same się otworzą... :-)
-
Jeszcze nic nie wiem, aby taka blokada weszła.
-
No dobra, to jednak sam sobie te drzwi wyważyłem. Dla potomności:
IF EXISTS (SELECT * FROM inserted f
LEFT JOIN dok__Dokument p ON f.dok_DoDokNrPelny=p.dok_NrPelny
WHERE f.dok_typ = 2 AND f.dok_Podtyp=1 --FSd
AND REPLACE(ISNULL((SELECT adrh_NIP FROM adr_Historia WHERE adrh_Id=f.dok_PlatnikAdreshId),''),'-','') -- nip z faktury
not in ('', REPLACE(ISNULL(CASE WHEN p.dok_TypNrIdentNabywcy=1 THEN p.dok_NrIdentNabywcy ELSE (SELECT adrh_NIP FROM adr_Historia WHERE adrh_Id=p.dok_PlatnikAdreshId) END,''),'-','')) -- nip z paragonu
) RAISERROR('<msg>Na fakturze detalicznej NIP musi być taki sam jak na paragonie!</msg>',16,1)
Można trochę poprawić, ale co będę odbierał chleb serwisantom... :-)
-
No dobra, to jednak sam sobie te drzwi wyważyłem. Dla potomności:
Po pierwsze złączenie po pełnych numerach dokumentów jest nieefektywne, więc na większych bazach danych mogą ujawnić się problemy wydajnościowe... Po drugie nie zadziała dla zbiorczych faktur detalicznych...
Można trochę poprawić, ale co będę odbierał chleb serwisantom... :-)
Tak, "trochę" to pojęcie względne ;)
-
Po pierwsze złączenie po pełnych numerach dokumentów jest nieefektywne, więc na większych bazach danych mogą ujawnić się problemy wydajnościowe...
To właśnie było to „trochę”. Mam zasadę, że najpierw ma działać, dopiero potem ma działać szybko. :-)
Po drugie nie zadziała dla zbiorczych faktur detalicznych...
A tego istotnie nie zauważyłem. Jednak co fachowiec to fachowiec.. :-)