........
Opis działania przycisku [Zeruj Połączenia] w programie IBADMIN.EXE
Program księgowy FKVI.EXE jest programem sieciowym. Oznacza to, iż jednocześnie może w nim pracować kilka osób. Nie ma ograniczeń na liczbę osób jednocześnie w nim pracujących.
Program księgowy prowadzi ewidencję ilości osób znajdujących się w danej chwili w programie. Jest to konieczne z uwagi na fakt , iż są takie operacje w programie księgowym , które wymagają wyłączności dostępu, tzn. program musi mieć pewność , iż w danej chwili w programie jest tylko jedna osoba. Taka operacją jest np. zmiana Centralnego Kalendarza Systemu FK.
Również w danym Dzienniku Księgowym w jednej chwili może być tylko jedna osoba. W przeciwnym razie wystąpić by mogły problemy z numeracją w ramach Dziennika. Oczywiście jest dopuszczalna jednoczesna praca w różnych Dziennikach Finansowych (np. 101, 130, 132, 135 itd.) i nie Finansowych (np. Zakupu, Sprzedaży, Rozliczeń, Pozostałe itd.)
W momencie prawidłowego wyjścia użytkownika z programu księgowego a więc poprzez naciśnięcie przycisku [Koniec Pracy] następuje zmniejszenie o jeden liczby osób, które są widoczne przez program jako aktywne i działające w programie.
Przy kolejnych wyjściach z programu FK osób, które weszły do niego wcześniej program każdorazowo odejmuje cyfrę jeden od sumarycznej liczby osób w nim się znajdujących.
Po wyjściu wszystkich osób z programu program widzi, że jest zero osób w programie.
Problemy mogą się pojawić , gdy komputer , na którym pracuje użytkownik programu FK zawiesi się lub użytkownik wyłączy komputer nie wychodząc z programu poprzez naciśnięcie przycisku [Koniec Pracy] lub gdy nastąpi zanik napięcia a zasilacz awaryjny UPS nie zadziała.
W takich wypadkach użytkownik zostaje jak gdyby uwięziony w programie. Dla programu FK ci użytkownicy, którzy wyszli z programu w sposób nieprawidłowy (z własnej winy lub nie) nadal są w programie.
W takiej sytuacji nie jest możliwym zmiana Centralnego Kalendarza Systemu FK a gdy np. zanik napięcia miał miejsce w momencie gdy użytkownik był w którymś z Dzienników , to również nie jest możliwy dostęp do tego Dziennika.
Dla takiej właśnie sytuacji został zaprojektowany przycisk [Zeruj Połączenia] . Po naciśnięciu tego przycisku następuje zerowanie liczby użytkowników widocznych przez program jako aktywni. Od tej chwili wg programu FK jest w nim zero użytkowników.
Problemy mogą się pojawić w sytuacji gdy przycisk [Zeruj Połączenia] jest naciśnięty, a nie wszyscy użytkownicy programu FK z niego wyszli. Bo np. u nich komputer się nie zawiesił lub spadki napięcia ich nie dotyczą a nikt ich nie uprzedził o planowanym naciśnięciu przycisku [Zeruj Połączenia].
Wtedy dzieje się rzecz następująca :
Naciśnięcie przycisku [Zeruj Połączenia] wyzerowuje liczbę osób, które wg programu FK są aktywne. Można znowu zmieniać Centralny Kalendarz Systemu FK, można znowu wchodzić do wszystkich Dzienników.
No ale przecież w programie są już osoby, które tam już były wcześniej przed naciśnięciem przycisku [Zeruj Połączenia] (bo np. przed naciśnięciem tego przycisku nie poinformowano ich o konieczności wyjścia z programu, lub miały otwarte dwie sesje programu FK a wyszły tylko z jednej).
W związku z tym mamy teraz 3 problemy.
Pierwszy wiąże się z faktem, iż jeśli przyjmiemy że jedna osoba- nazwijmy ją Pani X -z jakiegoś powodu nie wyszła z programu FK a konkretnie z np. Dziennika Zakupu w momencie naciśnięcia przycisku [Zeruj Połączenia] , to po wyzerowaniu wszystkich połączeń przez Administratora Programu - nazwijmy go Pani Y - i tak Pani X jest w programie FK, mało tego, jest w Dzienniku Zakupu i po prostu sobie w najlepsze pracuje.
Jeśli teraz Pani Y (i przyjmijmy, że nikt poza nią) wejdzie do programu FK, to wg programu aktywna w nim będzie tylko ta jedna osoba (Pani Y). My zaś wiemy, że tak naprawdę aktywne w nim będą dwie osoby (Pani X i Pani Y). Program więc wpuści tą nową osobę czyli Panią Y np. do Dziennika Zakupu, gdzie o zgrozo jest już przecież ta pierwsza osoba czyli Pani X.
Łatwo przewidzieć , iż pojawienie się problemów z numeracją w ramach Dziennika Zakupu w związku z jednoczesna pracą w nim dwóch osób będzie tylko kwestią czasu.
Drugi problem polega na tym, iż Pani X i Pani Y mogą teraz zmieniać bez żadnych ograniczeń Centralny Kalendarz FK co nie jest sytuacja pożądaną w programie FK.
Trzeci problem polega na tym, iż jeśli Pani X była w Dzienniku Zakupu w momencie wyzerowania połączeń, to wg programu w Dzienniku Zakupu jest teraz zero osób aktywnych. Przy wyjściu Pani X z Dziennika Zakupu dla programu jest teraz 0-1= (-1) osób w Dzienniku Zakupu. Czyli liczba ujemna (-1) ,różna od zera. Czyli teraz nikt nie zdoła wejść do Dziennika Zakupu , bo warunkiem takiego wejścia jest liczba równa zeru osób znajdujących się w Dzienniku. Powstaje zamieszanie, Przecież teraz faktycznie nikogo nie ma w Dzienniku a program do niego nikogo nie wpuszcza. Czyli co robimy ? . Znowu naciskamy przycisk [Zeruj Połączenia]. Jest to jak widać droga do nikąd ...
Warto więc stosować prostą zasadę:
Naciskamy przycisk [Zeruj Połączenia] tylko wtedy , gdyż mamy 100% pewności, iż wszyscy jego użytkownicy wyszli z programu. Warto też zadbać o awaryjne zasilanie dla wszystkich komputerów, na których jest możliwa praca z programem FK.