Co jeśli ktoś z góry zapłaci za kilka abonamentów???

Jakie funkcje dodać, co ulepszyć...
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Po tak "wyczerpujacym" opisie niewiele moge pomoc :-)
Piotr Szkut - PYXIS
ZTRM
Posty: 28
Rejestracja: wt 13 kwie 2010, 10:50

Post autor: ZTRM »

A więc tak, zaznaczam tego ptaszka i daję zaznacz abonamenty wtedy wyskakuje błąd "Floating point division by zero." i program zawiesza się czekałem tak 30 minut i nic, zaznaczył może ze 3 wpłaty i to nie te które miał podzielić tylko te co są wpłacone prawidłowo. Jedno co można zrobić to zamknąć program i uruchomić ponownie bo jest tak zmulony że nic nie da rady zrobić.

Jeśli to pomoże to ja bym to zrobil tak:

const
LICZBA_MIESIECY_BLEDNA_WPLATA = -1;


function zaIleMiesiecyMiGosciuZaplacil(wplata:real; wysokoscAbonamentu:real): integer;
var
liczbaMiesiecy : integer;

begin
liczbaMiesiecy := trunc(wplata / wysokoscAbonamentu);

if ((liczbaMiesiecy * wysokoscAbonamentu) <> wplata) then
begin
liczbaMiesiecy := LICZBA_MIESIECY_BLEDNA_WPLATA;
end

Result := liczbaMiesiecy;
end;
{----------------------------------------------------------}

i w petli


miesiace := zaIleMiesiecyMiGosciuZaplacil(wplata, wysokoscAbonamentu);
if (miesiace = LICZBA_MIESIECY_BLEDNA_WPLATA) then
OLAC GOSCIA, BO MA ZLA KWOTE
else
liczba_miesiecy



no chyba że się mylę bo dobry w te klocki to ja nie jestem.
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Podejrzewam, ze masz jakiegos klienta ktory ma abonament 0 zl a dostal wplate na konto. Zabezpiecze sie przed tym.

Co do drugiej czesci to sprawdzam na wstepie warunek czy:

(wplata/wysokoscAbonamentu) = trunc(wplata/wysokoscAbonamentu)

Jesli tak, to wiadomo, ze wplata jest calkowita krotnoscia abonamentu i robimy dalsza "obrobke" pod katem rozksiegowania takiej wplaty. To wystarcza.
Piotr Szkut - PYXIS
ZTRM
Posty: 28
Rejestracja: wt 13 kwie 2010, 10:50

Post autor: ZTRM »

Sprawdzałem to raczej nie mam takiego klienta co ma abonament wpisany 0zł chyba że program leci też po klientach nieaktywnych, jak się da na kliencie dezaktywację to pole abonament zmienia właśnie wartość na 0zł
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Program bierze pod uwage tylko abonenta do ktorego przypisana jest wplata.
Podesle tesowa to sprawdzisz czy trafilem.
Piotr Szkut - PYXIS
ZTRM
Posty: 28
Rejestracja: wt 13 kwie 2010, 10:50

Post autor: ZTRM »

No ok poczekam na wysłanie, ale co jeśli klient jest dezaktywowany kwota abonamentu zmienila wartosc na 0zł no ale on i tak dokonał wpłaty np spłata zaleglosci.
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Nie rozpozna jako wplaty abonamentowej. Nalezy takie "kwiatki" z palca rozksiegowywac.
Piotr Szkut - PYXIS
ZTRM
Posty: 28
Rejestracja: wt 13 kwie 2010, 10:50

Post autor: ZTRM »

No wlasnie jak ja mam klienta nieaktywnego i przychodzi od niego wplata to cos mi sie wydje ze normalnie mu ksieguje automatycznie, no ale rano to sprawdze
Jardo
Posty: 450
Rejestracja: pt 12 lut 2010, 21:26

Post autor: Jardo »

Mam to samo co kolega wcześniej. Robie masówke i widzę klienta z podwójnym abo.
Klikam zaznacz i zaksieguj - program doszedł z zaznaczaniem do gościa z 2x abonamntem (widać po gwiazdkach w 2 kolumnie)i wywalił komunikat Floating point division by zero

Edit: w sumie okazało się że ten gość wpłacił na konto usera nieaktywnego jeśli to może pomóc
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Tak. To cenna informacja, ale juz spozniona bo znalazlem ten blad w algorytmie. Zostalo to poprawione.

Dolozylem tez zaznaczanie wplat po kwocie. Powinno sie przydac.
Piotr Szkut - PYXIS
Jardo
Posty: 450
Rejestracja: pt 12 lut 2010, 21:26

Post autor: Jardo »

Tylko zastanawia mnie jak się program zachowa w przypadku jak powyżej jeśli wpłata będzie pochodziła od usera neiaktywnego - przydałoby się jakieś powiadomienie wyskakujące o takim fakcie. Jeśli chodzi o zaległość to nie ma problemu, ale w moim przypadku jest trochę inaczej. Mianowicie pewien gość się przeprowadził z lokalizacji A do B. W lokalizacji A zlikwidował umowe a w lokalizacji B już istniało przyłącze z inną umową. ALe zamiast płacić na konto umowy lokalizacji B płacił na soje stare z lokalizacji A. I z tego wynikł problem u mnie.
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Blad to blad. Trzeba go poprawic. Klient ma potwierdzenia na jakie konto przeslal kase, wiec sie ja odnajdzie. Bedzie na koncie usera nieaktywnego.
Piotr Szkut - PYXIS
Markus
Posty: 85
Rejestracja: pn 18 sty 2010, 02:14

Post autor: Markus »

A kolega przypisuje konto do lokalizacji a nie do klienta ;) ? Ja nigdy nie mam problemu jeśli klient zmienia miejsce instalcji i zamieszkania bo konto do płatności zostaje mu zawsze to samo.
Piotrze może jednak zrobić taką możliwość jak kiedyś podpowiadałem , by można było kopiować dane dla nowo tworzonego klienta: czyli imie, nazwisko itp do wyboru. Przydaje się właśnie przy przenoszeniu umowy dla klienta pod inny adres zameldowania i zmienia się adres oraz numer dowodu, a reszta pozostaje ta sama.
Jardo
Posty: 450
Rejestracja: pt 12 lut 2010, 21:26

Post autor: Jardo »

Markus pisze:A kolega przypisuje konto do lokalizacji a nie do klienta ;)
Do klienta, tylko klient się przeprowadził do lokalizacji gdzie już istniało przyłącze na rodziców klienta.
Pyxis
Site Admin
Posty: 2213
Rejestracja: pn 29 wrz 2008, 23:40
Lokalizacja: Strzegom
Kontakt:

Post autor: Pyxis »

Poszla do osob ktore mialy poprzednia bete wersja praktycznie finalna. Bardzo prosze o testy na swoich bazach.
Piotr Szkut - PYXIS
ODPOWIEDZ