Strona 1 z 1

UWAGA na transakcje anulowane

: 02 kwie 2008, 14:29
autor: Kyniu
Hej,

W moich innych bojach wychodziły mi czasem niezgodności co do liczby transakcji - otóż już wiem co było przyczyną. Zapomniałem o transakcjach anulowanych - niby proste a jednak się na tym naciąłem. Aby nie dać się wpuścić w maliny praktycznie na wszystkim (wykresy, raporty, wydruki, etc.) co operuje na danych z tabeli TraNag warto dopisać jeszcze jeden warunek:

TrN_TrNLp=127-transakcja aktywna
TrN_TrNLp<>127-transakcja anulowana


Bo tak się składa że dane z transakcji anulowanej są zapamiętywane - z poziomu bazy da się odtworzyć taką transakcję. A ja naiwnie myślałem że tak jak za czasów FPP anulowane to anulowane - zerujemy taki wiersz i tyle.

Kyniu

Re: UWAGA na transakcje anulowane

: 02 kwie 2008, 21:21
autor: wojtini
Ja proponuje używać pola:
Trn_Stan <> 6
bo to ono jest do tego przedwidziane aby zwracać stan dokumentu (wg. dokumentacji).

Re: UWAGA na transakcje anulowane

: 02 kwie 2008, 22:11
autor: Kyniu
wojtini pisze:Ja proponuje używać pola:
Trn_Stan <> 6
bo to ono jest do tego przedwidziane aby zwracać stan dokumentu (wg. dokumentacji).
Głupia ta dokumentacja i głupie te tabele. To co napisałem też jest z dokumentacji tabel. Co prawda Trn_Stan dostarcza więcej informacji niż TrN_TrNLp ale zacytuje dokumentację raz jeszcze żeby nie było że nie odrobiłem pracy domowej i wprowadzam kogoś w błąd: Jeśli TrN_TrNLp=127-transakcja aktywna; TrN_TrNLp<>127-transakcja anulowana. Więc albo dokumentacja nie jest do końca poprawna, albo nie wszystko w niej zawarto (bo jak przeglądałem dane to TrN_TrNLp przyjmuje różne wartości czyli być może mówi coś więcej o anulowaniu ale dokumentacja zbywa nas jedynie ogólnikowym "różne od 127") albo programiści sami już nie panują nad ilością kolumn. Ewentualnie każda z tych sytuacji po trosze.

Kyniu

Re: UWAGA na transakcje anulowane

: 03 kwie 2008, 07:36
autor: S0Cool
Jak pisał kolega wojtini, do sprawdzania czy dokument jest anulowany lepiej posłużyć się polem TRN_Stan. Pole TRN_TrnLp znajduje się w unikalnym indeksie służącym do nadawania dokumentowi kolejnego numeru w ramach roku i serii. W ramach rodzaju (TRN_TRNTyp), roku i serii może być tylko jeden dokument aktywny z konkretnym numerem i wiele anulowanych. Anulowane dostają wartości kolejne 1,2,3... w polu TRN_TRNLp, dzięki czemu przy sortowaniu po tym indeksie są widoczne przed dokumentem aktywnym z TrnTRNLp=127 i ustawione są w kolejności anulowania.
Być może istnieje jakaś sytuacja, w której anulowane dostają TRNLp > 127 tak, aby pojawiały się pod aktywnymi, ale ja się z tym nie spotkałem.