|
Menu główne
use PerlMongers::Warszawa;
use PerlMongers::Krakow;
NG_gRadio
|
| Perl Ewidencja Czasu Pracy - Poprawki |
|
przez wrares
(69 odsłon)
|
Do programu Ewidencja Czasu Pracy , wprowadziliśmy poprawkę, która eliminuje błąd, przy wyliczaniu ilości godzin, które zostały podane we wszystkich arkuszach, a są wykorzystywane w zestawieniach. Podajemy także wyjaśnienie, zwrotu pustych wartości, przy sumowaniu wszystkich zapisów kiedy arkusz używany jest z programem OpenOffice. Nim zaczniemy omawiać powyższe przypadki pobierzmy plik Kardeks... i wykonajmy następujące czynności Cytat:
1) Założenie katalogu c:\Kardeks
2) Pobranie pliku na dysk lokalny do katalogu Kardeks
3) Rozpakowanie pliku Kardeks.zip
Po tych czynnościach, otrzymamy katalog, z plikami skryptów oraz docelowymi arkuszami.
Obecnie wykonujemy następujące zadanie Cytat:
1) Uruchomienie skryptu kartoteka.pl i utworzenie arkusza w standardzie Excel o nazwie kartoteka.xls
2) Uruchomienie skryptu czytaj.pl i utworzenie arkusza w standardzie Excel o nazwie zestawienie.xls
3) Uruchamiamy program OpenOffice, a w Nim wczytujemy arkusz zestawienie.xls
Widzimy że pomimo istnienia danych dniówkowych w arkuszu kartoteka.xls, żadne podsumowanie nie zostało wygenerowano w arkuszu zestawienie.xls Jak sobie z tym poradzić ?. Rozwiązanie jest proste
Cytat:
1) Uruchamiamy program OpenOffice
2) Wczytujemy arkusz kartoteka.xls
3) Dokonujemy dowolnej zmiany
4) Przy pytaniu w jakim formacie ma być zapisany arkusz - wybieramy Microsoft Excel
5) Ponownie wykonujemy skrypt czytaj.pl
6) Otrzymujemy podsumowanie ze wszystkich arkuszy
Drugi błąd dotyczy błędnego wyliczania godzin w zestawieniach. W poprzedniej wersji wpisanie w pierwszym arkuszu kartoteka.xls np 4 godzin, powodowało naliczenie w zestawieniu 36 godzin gdy arkuszy było 9 (9 x 4 = 36). I to pomimo tego, że dotyczyło tylko jednego pracownika. W tym wydaniu dopisaliśmy dodatkową funkcję w pliku czytaj.pl
sub czysc {
$symbole{zm1} = 0;
$symbole{zm2} = 0;
$symbole{zm3} = 0;
$symbole{n50} = 0;
$symbole{n100} = 0;
$symbole{Uw} = 0;
$symbole{Um} = 0;
$symbole{Ok} = 0;
$symbole{Wy} = 0;
$symbole{Uo} = 0;
$symbole{Ub} = 0;
$symbole{Sz} = 0;
$symbole{Ch} = 0;
$symbole{Od} = 0;
$symbole{Op} = 0;
$symbole{Nn} = 0;
$symbole{Dl} = 0;
$symbole{Bl} = 0;
$symbole{Rh} = 0;
$symbole{Iu} = 0;
$symbole{godziny} = 0;
}
i wywołują ją tutaj
for ($i = 1; $i <= $liczba_arkuszy; $i++) {
&suma_dla_wszystkich;
$wyniki{zm1} += $symbole{zm1};
$wyniki{zm2} += $symbole{zm2};
$wyniki{zm3} += $symbole{zm3};
$wyniki{n50} += $symbole{n50};
$wyniki{n100} += $symbole{n100};
$wyniki{Uw} += $symbole{Uw};
$wyniki{Um} += $symbole{Um};
$wyniki{Ok} += $symbole{Ok};
$wyniki{Wy} += $symbole{Wy};
$wyniki{Uo} += $symbole{Uo};
$wyniki{Ub} += $symbole{Ub};
$wyniki{Sz} += $symbole{Sz};
$wyniki{Ch} += $symbole{Ch};
$wyniki{Od} += $symbole{Od};
$wyniki{Op} += $symbole{Op};
$wyniki{Nn} += $symbole{Nn};
$wyniki{Dl} += $symbole{Dl};
$wyniki{Bl} += $symbole{Bl};
$wyniki{Rh} += $symbole{Rh};
$wyniki{Iu} += $symbole{Iu};
$wyniki{godziny} += $symbole{godziny};
&czysc;
}
Wszyscy którzy korzystają z tego rozwiązania powinni dokonać podmiany skryptów.
|
|
|
Szukaj w PerlGtk.pl
The Perl Job site
Szukaj kodu :
|