I co tu zrobić? Nawet próbowałam zapłacić, ale z mojego banku nie da się wykonać przelewu na kwotę 0 zł :o
Z uwagi na zboczenie zawodowe w mojej głowie od razu pojawiły się wizje procesów w bazie danych, których zawiłość mogła doprowadzić do takiej sytuacji. Być może w procesie wysyłania ponagleń gdzieś zabrakło IF'a
If zadłużenie <= 0 then
nie_wysyłaj_ponaglenia;
end if;
Uwaga na znak <= 0... Zdarzało mi się widzieć systemy, gdzie warunek był tylko = 0 , co skutkowało tym, że jeśli klient miał nadpłatę to dostawał ponaglenie do zapłaty... Także trzeba być czujnym.
Proces pierwszy, pewnie nocny, weryfikujący zadłużenia klientów i przygotowujący rekordy do ponagleń zaliczył mnie do klientów, których trzeba ponaglić. Słusznie. W nocy byłam nierzetelnym klientem i zalegałam z zapłatą.
Ale z samego rana, być może tknięta przeczuciem, zapłaciłam fakturę. Wprowadzając w firmie t-mobile niezłe zamieszanie :)
Prawdopodobnie, patrząc po efektach, proces wysyłający ponaglenia to nie ten sam proces, co proces weryfikujący czy klient ma zadłużenie. Więc gdy proces zaczął wysyłać te ponaglenia - to faktura była już zapłacona a saldo wynosiło 0 zł! Szok i niedowierzanie!
Na plus trzeba powiedzieć, że proces wysyłający ponaglenia wysyła informację o aktualnym saldzie zadłużenia- w sensie to 0 zł. Niemniej skoro i tak proces ma dostęp do informacji o aktualnym saldzie zadłużenia to czemu w sytuacji gdy zadłużenia nie ma - wysyłka ponaglenia nie jest anulowana? Wysyłanie ponaglenia na kwotę 0 zł nie wygląda profesjonalnie, co nie?
Niemniej jest to typowy problem procesów działających dwuetapowo. Problemem dużym jest to, że między jednym a drugim procesem - stan, dla którego proces jest wykonywany - może ulec zmianie!
Dlatego zawsze w drugim etapie należy ponownie weryfikować warunki wykonania procesu (dodać if ?). Prowadzi to jednak do tego, że oba procesy praktycznie dublują swoje funkcjonalności! Docelowo najlepiej jest przeprojektować proces tak, by działał jednoetapowo. Będzie i mniej tego typu błędów a do tego będzie szybciej (jeden proces zostanie usunięty) .
No ale to tylko moja wyobraźnia, co może stać za ponagleniem na kwotę 0 złotych. Co tak naprawę w systemie piszczy pewnie wiedzą tylko jego autorzy :)
ps. A czy testy nie powinny wykryć takiej sytuacji? Tak się nad typ zastanawiam...
ps. A czy testy nie powinny wykryć takiej sytuacji? Tak się nad typ zastanawiam...
Długi potrafią spędzać sen z powiek nie jednemu kredytobiorcy. Jeśli również macie problemy ze spłatami nie załamujcie rąk. Istnieją sposoby na to, aby skutecznie pozbyć się długu.
OdpowiedzUsuń