Niekompetencja: niedozwolony znak mBanku
2010-02-08
Dziś w cyklu „niekompetencja” wystąpi mBank. W roli głównej komunikat „Niedozwolony znak”. Konia z rzędem temu, kto powie mi gdzie jest ów niedozwolony znak i co to jest za znak.
Niekompetencja kryje się jednak gdzie indziej. Mój komputer swoimi fafnastoma rdzeniami wykonuje, powiedzmy, około czternastu kabzdrylionów operacji w czasie potrzebnym mi na przeczytanie komunikatu na ekranie. Panowie projektanci systemów bankowych, zamiast więc wyświetlać mi komunikat „niedozwolony znak”, moglibyście po prostu usunąć ów znak i sprawdzić, czy numer rachunku jest poprawny. Więcej! Śmiem przypuścić, że moglibyście bez problemu:
- dla pomylonych 1-3 cyfr zasugerować co może być źle, sprawdzając wszystkie możliwe kombinacje z sumą kontrolną,
- dla brakującej cyfry, zasugerować ją, znowu używając sumy kontrolnej.
Wystarczyłoby pomyśleć o komforcie użytkowników, zamiast toczyć się dalej w koleinach myśli korporacyjnej.
Janku, zdecydowanie TAK! Tylko to jest "choroba", na którą cierpi 99,9% firm, gdzie ludzie pracują na klasycznym etacie. :)
Jak wiemy, wszystko dąży do najniższego stanu energii... pracownicy etatowi również. Ich praca jest wysiedzeniem od... do..., a nie ich pasją. Słowem - po co mieliby pisać coś tak fajnego, jak to co opisałeś powyżej, skoro i tak nic za to nie dostaną od firmy (tu się kłania system motywacyjny). Lepiej posiedzieć kilka chwil na Facebooku, przeczytać jakiegoś newsa, czy po prostu pogadać z koleżanką siedzącą obok. :/ C'est la vie...
O tak, etaty to całe zło tego świata - ciekawe co powiedzą ci zajebiści nieetatowi pracownicy tka zaje**** zmotywowani do pracy kiedy przyjdzie czas przejścia na emeryturę/rentę.
E tam. Etat nic do tego nie ma. Na etacie też można używać szarych komórek.
Tak się dzieje czasami w mBanku jak się kopiuje dane z jakiegoś dokumentu. Tak jakby kodowanie mu się nie zgadzało. Jak przepisze się ręcznie, działa.
to się dzieje nawet jak się skopiuje nr konta z tej samej strony
kolejny temat na spotkanie z premierem. może on coś pomoże?
No niestety... ten problem mają wszyscy użytkownicy Safari na Maku będący jednocześnie klientami mBanku. Rozwiązanie jest następujące... : trzeba wejść w edycję tego numeru i usunąć spację gdzieś w środku (jak będziesz wpisywał raz jeszcze, to zobaczysz, że przy automatycznej podpowiedzi przez Safari poprzednio wpisywanego przez Ciebie numeru dziwna spacja się pojawi...), a następnie zapisać kontrahenta w liście "przelewowej"; następnym razem nie będzie już problemu... :)
mBank i tak jest cool, że obsługuje Safari. Np. taki Millennium tego nie robi...
przemek: „obsługuje” Safari? Przy dobrze napisanej aplikacji nie ma nic do „obsługiwania” moim zdaniem. Chodziło mi zaś bardziej o to, że skoro już jest Javascript, który coś ogląda i filtruje, to informatycy mogliby się pofatygować i CHOCIAŻBY wyciągnąć z tego pola tylko znaki [0-9], co załatwiłoby na miejscu większość kłopotów. Jak pisałem, można też spokojnie zrobić znacznie więcej, wystarczy tylko chcieć.
O Millennium już pisałem swego czasu, to jest niekompetencja w czystej postaci: http://jan.rychter.com/blog/2009/9/1/niekompetencja-w-firmach-bank-millennium.html
Janek, ta suma kontrolna to raptem dwie cyfry; toto się nadaje do sprawdzenia poprawności, a nie do poprawiania błędów.
Też mnie dziwią te opory przed usuwaniem niechcianych znaków. Podobnie jak w przypadku numerów kart kredytowych: w czym i komu przeszkadzają spacje?
a najlepsze jest to, ze problem lezy w przeklejaniu zaznaczonych numerow - i tak przez przypadek mozesz wkleic do formularza znak nowej linii, ktorego formularz nie widzi - bo i jak skoro jest tylko jedna linia. a mbank sprawdza czy wszystki znaki sa z zakresu 0-9 i jak widzi inny, to wywala blad.glupi trzeba przyzac, zwlaszcza, ze zwykly trim by wystarczyl w 99% przypadkow.
co do pomyslu z poprawianiem - nie powiedzialbym, zeby byl to dobry pomysl. w sprawach takich jak wysylanie milionow nie nalezy ufac maszynie, ze poprawi np. numer rachunku i zrobi przelew. lepiej byloby wyswietlic komunikat typu "znalezlismy blad w tym i tym polu, gdzie znajdowal sie niedozwolony znak - usunelismy go. sprawdz prosze czy dane w tym i tym polu sa wlasciwe i potwierdz przelew".
mogloby tez sie przydac sprawdzanie poprawnosci w trakcie wprowadzania (JS), ale oczywiscie - nie ufac mu po stronie serwera - po prostu jako dodatek dla wygody uzytkownika.
Marcin, Jarek: gdybym ja miał to projektować, to zrobiłbym tak:
1. Usunąłbym wszystkie znaki, które nie są cyfrą.
2. Sprawdziłbym ile jest cyfr, jeśli brakuje >1, to poprosiłbym jednak o uzupełnienie.
3. Zużyłbym 1/5 kabzdryliona cykli procesora na domyślenie się jaki numer powinien być na podstawie cyfr kontrolnych (które na ogół ludzie wpisują dobrze, bo to dwie pierwsze cyfry).
3. Wyświetliłbym powiększony numer rachunku ładnie, ze spacjami, z podświetloną cyfrą, którą sugeruję poprawić i zapytał czy to o taki numer rachunku chodzi? (TAK/NIE)
I ludzie, na litość wszelaką — po co wyświetlać jakiś komunikat o „niedozwolonym znaku”? Jeśli otrzymaliśmy z pola poprawny numer rachunku, to świetnie, nie ma co bombardować klienta okienkami!
ja sie z toba zgadzam - ten komunikat jest smieszny - zwlaszcza z tym char(173), ktora potencjalnemu klientowi nie dosc ze nie mowi nic, to jeszcze go dezorientuje.
inna sprawa jest rowniez to, ze nie ma sie co martwic o cykle procesora, bo raz, ze mowimy o banku - jezeli ten nie ma pieniedzy na sprzet na ktorym bazuje caly jego biznes, to mamy problem, a dwa, ze szczerze watpie, aby ich systemy byly projektowane z mysla o jakiejs optymalizacji nie z tej ziemii.
no i twoje ostatnie rozwiazanie juz bardziej mi sie podoba, tylko ze sprawdzaloby sie to co najwyzej przy 1 brakujacej cyfrze, gdzie od biedy mozemy przeleciec od 0-9 przez wszystkie miejsca nie bedace cyfra kontrolna - pozniej sprawy sie juz bardziej komplikuja. dodalbym do tego szukanie po numerach z historii.
Wygląda prawidłowo:
CL-USER(2): (valid-nip? "5211017744")
t
CL-USER(3):
Janku, nie widziałem Cię całe lata, może jakieś piwo?
Antoni: Piwo! No, wreszcie wiem po co prowadzę tego bloga!