pobierz plik referatu - BDAS
Transkrypt
pobierz plik referatu - BDAS
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Rozdział 41 w Model danych języka użytkownika w informatycznym systemie rachunkowości budżetowej w 1 Wstęp da .b w Streszczenie. W niniejszym rozdziale przedstawiono implementację języka użytkownika w informatycznym systemie rachunkowości ze szczególnym uwzględnieniem potrzeb informacyjnych rachunkowości budżetowej. Ewolucja tegoż języka od prostych systemów czytania zawartości relacyjnych baz danych, poprzez język użytkownika oparty na SQL, aż do ścisłej integracji z systemem finansowym, pozwoliła na uwolnienie użytkownika od posiadania specjalistycznej wiedzy informatycznej. Dowolne wyrażenia można tworzyć wizualnie i w sposób niewidoczny dla użytkownika są one tłumaczone na język SQL. pl s. Rachunkowość budżetowa w Polsce jest prowadzona przez sektor finansów publicznych, do którego zaliczają się: − organy władzy publicznej i podległe im jednostki organizacyjne; − państwowe osoby prawne oraz inne państwowe jednostki organizacyjne nie objęte Krajowym Rejestrem Sądowym, których działalność jest finansowana ze środków publicznych w całości lub w części z wyjątkiem przedsiębiorstw państwowych, banków państwowych, spółek prawa handlowego [6 s. II/A/1]. Rachunkowość jednostek finansów publicznych jest rozwiązaniem branżowym bazującym na jednolitym planie kont, które odzwierciedla całościowo system procesów realizacji finansów publicznych w jednostkach pieniężnych. Konstrukcja planu kont jest określona rozporządzeniem Ministra Finansów w sprawie szczególnych zasad prowadzenia rachunkowości [8]. Aktami nadrzędnymi do wyżej wymienionego rozporządzenia jest ustawa o rachunkowości [14] oraz ustawa o finansach publicznych [15], która określa podstawowe formy organizacyjno-prawne jednostek sektora finansów publicznych, jak i również zadania, do których zostały powołane ponosząc wydatki publiczne [16 s. 12-13]. Jednostki sektora finansów publicznych muszą sporządzać sprawozdania budżetowe z wykonania procesów, którymi objęte są finanse publiczne. Zasady i terminy sporządzania sprawozdawczości budżetowej określone są rozporządzeniem Ministra Finansów w sprawie sprawozdawczości budżetowej [10], natomiast ich zgodność merytoryczna i formalnorachunkowa ustawą o rachunkowości [14], rozporządzeniem Ministra Finansów w sprawie klasyfikacji części budżetowych i określenia ich dysponentów [7] oraz rozporządzeniem Dariusz Szarmach: Politechnika Szczecińska, Instytut Systemów Informatycznych, ul. Żołnierska 49, 71-210 Szczecin, Polska email:[email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 D. Szarmach Ministra Finansów w sprawie szczegółowej klasyfikacji dochodów i wydatków, przychodów i rozchodów oraz środków pochodzących ze źródeł zagranicznych [9]. 2 Język użytkownika w Język użytkownika jest komputerowym językiem programowania umożliwiającym samodzielne tworzenie zestawień - musi on być zgodny z zawodem użytkownika i wykorzystywać znane użytkownikowi składnie i źródła pochodzenia informacji [5 s.232]. w 2.1 Istniejące rozwiązania da .b w Jako jeden z pierwszych język użytkownika w informatycznym systemie rachunkowości zdefiniował R. Budziński [2 s. 388-389] - wychodząc naprzeciw potrzebom informacyjnym użytkowników, umożliwił odczyt danych bezpośrednio z kont za określony interwał czasu. Semantyka i składania tego języka (opisana szczegółowo w [4 s. 143-150]) sprowadzała się do definicji listy wyrażeń K001-K999 numerycznych, które mogły korzystać ze stanów kont: BO_WN{konto}, BO_MA{konto}, OB_WN{konto}, OB_MA{konto}, BZ_WN{konto}, BZ_MA{konto}, PS_WN{konto}, PS_MA{konto}, MC_WN{konto}, MC_MA{konto} oraz operatorów + - * / i wyrażeń wcześniej zdefiniowanych. Przykład za [3 s.185]: K004=OB_WN{101.} K005=OB_MA{101.} K006=K006/(K004+K005)*100 Możliwe było także używanie, specyficznych dla interpretera wykorzystanego przy tworzeniu systemu TRANS, funkcji i wyrażeń logicznych: K007=IF{K004<=K005, 0, K005-K004} K003=TRANS{(P005>=1000 .and. P005<=15000) .and. subs(P001, 1, 6)=’960214’)} pl s. , gdzie P*** oznaczają kolejne pola kartoteki transakcji. Alternatywą dla takiego rozwiązania mogło być wprowadzenie systemu do czytania zawartości i struktury relacyjnych baz danych [13], gdzie znając schemat logiczny systemu i wykorzystując język SQL, można wybrać dowolny podzbiór rekordów bazy danych. Kolejnym etapem rozwoju języka użytkownika było powiązanie go z językiem SQL, co umożliwiało tworzenie zestawień tabelarycznych, arkuszy, wykresów, a nie tylko zestawień sumarycznych. Język ten został opisany przez autora w pracy [11]. Każde zestawienie składało się w nim z: − sekcji definicji zmiennych, które poza typem zmiennej i nazwą posiadały atrybuty informujące o sposobie ich prezentacji na zestawieniu lub wydruku; − sekcji parametrów z definicją, które zmienne stanowią parametry zestawienia i są wyświetlane do uzupełnienia przed wykonaniem głównej części programu; − sekcji inicjacji z możliwością ustawienia domyślnych wartości zestawienia zarówno przed wykonaniem głównej części zestawienia, jak i pytaniem o parametry; − sekcji głównej programu, gdzie następowały główne naczytywania danych i ich przetwarzanie. W sekcji głównej programu mogły występować instrukcje przypisania, instrukcje warunkowe oraz instrukcje czytania rekordów z bazy danych w postaci jednego rekordu lub zbio- 394 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Model danych języka użytkownika w informatycznym systemie rachunkowości budżetowej ru rekordów - wtedy wymagana była dodatkowa sekcja fetch, która była wykonywana dla każdego naczytanego rekordu, przykład zestawienia obrotów i sald: select w „select konto, nazwa_konta, typ_konta, szablon, bo_winien, bo_ma, boon_winien, boon_ma from konta into :sKonto, :sNazwaKonta, :sTypKonta, :sSzablon, :nBOWinien, :oboma, :nBOONWinien, :nBOONMa where Rok=:nRok AND konto>=:sOdKonta AND Konto<=:sDoKonta order by 1” fetch w w set sKonto=WstawKreskiDoKonta( sKonto, sSzablon ) set nCounter=nCounter+1 set nLP=nCounter set nONWinien=nBOONWinien-nBOWinien set nONMa=nBOONMa-nBOMa if nBOONWinien-nBOONMa>0 set nSaldoWinien=nBOONWinien-nBOONMa set nSaldoMa=NUMBER_Null if nBOONWinien-nBOONMa<0 set nSaldoWinien=NUMBER_Null set nSaldoMa=nBOONMa-nBOONWinien if nBOONWinien=nBOONMa set nSaldoWinien=0 set nSaldoMa=0 2.2 Model danych da .b Propozycja uwzględniała również możliwość używania funkcji dedykowanych podsystemów rachunkowości, które pozwalały na odczytanie specyficznych dla tych podsystemów, najczęściej wykorzystywanych danych, np. bilansu otwarcia lub obrotów kont. Dodatkowo istniała możliwość tworzenia funkcji specyficznych dla innych podsystemów. Język użytkownika opisany poniżej jest bezpośrednim rozwinięciem tamtej idei. SYSADM A_RAPORTY A_RAP_A_RAP_POZ SYSADM UZYTKOWNICY UZY_UZY_FK pl s. Ideą opisywanego języka użytkownika jest wydzielenie praw użytkownika do poszczególnych etapów procesu tworzenia zestawień. Pierwszym etapem jest analiza zestawienia, określenie jego typu ( kolumnowy, czy sumaryczny ) oraz określenie wszystkich zmiennych. Drugim etapem jest stworzenie szablonu wizualnego w postaci raportu qrp, który zawiera sposób prezentacji zestawienia, rozmieszczenie zmiennych na formularzu z podziałem na strony oraz podsumowania. Po zakończeniu tworzenia szablonu, należy zdefiniować w systemie finansowo-księgowym zmienne, których zawartość zostanie uzupełniona przez użytkownika systemu rachunkowości. Do tego momentu wymagana jest pewna wiedza informatyczna z zakresu analizy oraz umiejętność wizualnego tworzenia zestawień. SYSADM A_RAPORTY_POZYCJ SYSADM UZYTKOWNICY_FK SYSADM PREFERENCJE_FK Rys. 1. Model danych języka użytkownika w postaci diagramu związków encji w notacji SERM 395 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 D. Szarmach w Następny etap jest przypisany do oddzielnego prawa, które zezwala na przypisywanie poszczególnym zmiennym wyrażeń (opisanych w następnym punkcie), które określają, w jaki sposób naczytywać dane do zmiennych celem wypełnienia zestawienia. Wyrażenia te są definiowane jednokrotnie i w większości przypadków zależą od parametrów zestawienia. Na tym etapie jest wymagana wiedza merytoryczna z dziedziny zestawienia, jakimi danymi mają zostać zasilone zmienne. Ostatnim etapem jest wykonywanie zestawienia, do czego jest również przypisane osobne prawo. Nie jest tu wymagana szczegółowa wiedza ani z dziedziny zestawienia, ani informatyczna, wystarczy umiejętność określenie parametrów. Trzy poziomy dostępu do poszczególnych etapów tworzenia zestawień mają odzwierciedlenie w modelu danych poprzez konieczność przypisania użytkownikom odrębnych praw. w Tabela 1. Struktura danych tabeli UZYTKOWNICY Kolumna UZYTKOWNIK IMIE_I_NAZWISKO w LP 1 2 Typ Varchar Varchar Precyzja 8 40 Nulls Not null Not null PK Tak FK PK Tak FK Tak Tabela 2. Struktura danych tabeli UZYTKOWNICY_FK Kolumna UZYTKOWNIK ZALOGOWANY … A_RAPORTY A_RAPORTY_EDYCJA A_RAPORTY_TWORZENI … Typ Varchar Decimal Precyzja 8 1, 0 Nulls Not null Not null Decimal Decimal Decimal 1, 0 1, 0 1, 0 Not null Not null Not null da .b LP 1 2 … 18 19 20 … Model danych zawiera również listę zestawień z możliwością określania ich nazw, opisów, kolejności w menu, czy też sposobu prezentacji - tabela 3. Jeżeli zestawienie nie jest używane można je dezaktywować. LP 1 2 3 4 5 6 7 Kolumna RAPORT NAZWA_W_MENU OPIS NAZWA_QRP KOLUMNOWY AKTYWNY KOLEJNOSC Typ Varchar Varchar Varchar Varchar Decimal Decimal Small int pl s. Tabela 3. Struktura danych tabeli A_RAPORTY Precyzja 12 40 100 32 1, 0 1, 0 Nulls Not null Not null PK Tak FK Not null Not null Not null Not null Elementy każdego zestawienia są zdefiniowane w postaci zmiennych obliczanych jednokrotnie lub kolumn, które obliczane są osobno dla każdego rekordu w zbiorze utworzonym na podstawie definicji kolumny kluczowej. Zazwyczaj jest to zbiór elementów z bazy danych, np. lista kont analitycznych lub lista paragrafów dochodów budżetowych. Typ zmiennej jest zależny od charakteru zestawienia i ma odzwierciedlenie w algorytmie przetwarzania języka – o ile zmienne są kompilowane i naczytywane tylko raz na początku procesu tworzenia zestawienia, to kolumny są kompilowane i przeliczane dla każdego re396 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Model danych języka użytkownika w informatycznym systemie rachunkowości budżetowej kordu w kolumnie kluczowej. Ogólny schemat funkcjonowania algorytmu jest przedstawiony na rysunku 2. w Stwórz zestawienie Wczytaj zestawienie z bazy danych Zapytaj użytkownika o parametry Dla każdej zmiennej Skompiluj i oblicz wartość zmiennej Przekaż zmienną do raportu Czy zestawienie jest kolumnowe? Nie da .b w w Tak Stwórz i skompiluj zapytanie Wczytaj wartość kolumny kluczowej Dla każdej pozostałej kolumny Skompiluj i oblicz wartość kolumny Przekaż kolumny do raportu Dopóki istnieją rekordy w zapytaniu Rys. 2. Strukturogram ogólnego algorytmu tworzenia zestawienia Definicja zmiennej lub kolumny składa się z nazwy zmiennej, zazwyczaj związanej z polem na wydruku, krótkiego opisu, np.: n14 – Dochody państwowych jednostek budżetowych oraz typu zmiennej - logiczny, liczba, łańcuch znaków lub data. Wszystkie te typy są kompozytowe, np. typ liczba zawiera wszystkie typy całkowite i zmiennoprzecinkowe o dowolnej precyzji. Kolumna LP ma charakter porządkowy i określa kolejność zmiennej w raporcie, natomiast flaga Parametr określa, czy przed wykonaniem zestawienia, spytać użytkownika o podanie konkretnych wartości zmiennej. Wartość jest wyrażeniem, na podstawie którego czytane są dane z bazy danych. pl s. Tabela 4. Struktura danych tabeli A_RAPORTY_POZYCJE LP 1 2 3 4 5 6 7 8 9 10 11 Kolumna RAPORT ZMIENNA OPIS TYP LP TYP_ZMIENNEJ PARAMETR DO_RAPORTU WARTOSC MODYFIKOWAL DATA_MOD Typ Varchar Varchar Varchar Char Small int Varchar Decimal Decimal Varchar Varchar Date time Precyzja 12 32 64 1 8 1, 0 1, 0 254 8 Nulls Not null Not null PK Tak Tak FK Tak Not null Not null Not null Not null Not null Opisany model danych zawiera tylko struktury niezbędne do funkcjonowania samego języka użytkownika. Tabele z których wczytywane są dane przy tworzeniu zestawienia, 397 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 D. Szarmach np. plan kont, księga główna i księgi pomocnicze, nie zostały tutaj uwzględnione - więcej o nich można znaleźć przy opisie gramatyki języka. 2.3 Gramatyka w Gramatyka języka użytkownika została zapisana w notacji używanej w pracy [1 s. 24-74, 87-93] z przyjęciem pewnych uproszczeń. Po pierwsze: nie są określone długości identyfikatorów, po drugie: niektóre definicje nie zostały przedstawione, ponieważ są to podstawowe elementy gramatyki, np. liczba, stała – ich definicje znajdują się w wymienionej wyżej pracy. Po trzecie: nie zostały uwzględnione priorytety operatorów w wyrażeniach, kontrola poprawności typów oraz liczebność parametrów funkcji. w w operator_jednoargumentowy → NOT | operator_dwuargumentowy → + | - | * | / | AND | OR | & | | | || funkcja → litera | ( litera | cyfra )* wywołanie_funkcji → funkcja( ( wyrażenie | ( , wyrażenie )* )? ) składnik_wyrażenia → stała | zmienna | wywołanie_funkcji wyrażenie → (wyrażenie) | operator_jednoargumentowy wyrażenie | wyrażenie operator_dwuargumentowy wyrażenie | składnik_wyrażenia da .b Jako funkcja może występować jedna z metod zdefiniowanych dla poszczególnych systemów rachunkowości, co szerzej zostało opisane w jednej z wcześniejszych prac autora [11]. Dla potrzeb informacyjnych rachunkowości budżetowej zostały zdefiniowane nowe metody operujące na pomocniczych księgach rachunkowości budżetowej [12] z możliwością odczytania wartości na dany dzień roku: − PlanDochodowPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − RachDochodowPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − DochodyPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − NaleznosciPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − PlanWydatkowPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − RachWydatkowPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − KosztyPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − ZobowiazaniaPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); − PlanDochodowPozycjiNaDzien( nRok, sPozycja, dtNaDzien ); oraz obrotów poszczególnych ksiąg pomocniczych: − RachDochodow( nRok, sSzablonPozycji, sPozycjaOd, sPozycjaDo, Zakres, nMiesiacOd, nMiesiacDo ); − Dochody( nRok, sSzablonPozycji, sPozycjaOd, sPozycjaDo, Zakres, nMiesiacOd, nMiesiacDo ); − Naleznosci( nRok, sSzablonPozycji, sPozycjaOd, sPozycjaDo, Zakres, nMiesiacOd, nMiesiacDo ); − RachWydatkow( nRok, sSzablonPozycji, sPozycjaOd, sPozycjaDo, Zakres, nMiesiacOd, nMiesiacDo ); − Koszty( nRok, sSzablonPozycji, sPozycjaOd, sPozycjaDo, Zakres, nMiesiacOd, nMiesiacDo ); − Zobowiazania( nRok, sSzablonPozycji, sPozycjaOd, sPozycjaDo, Zakres, nMiesiacOd, nMiesiacDo ). W przypadku pierwszych funkcji parametry są następujące (na przykładzie rachunku dochodów): pl s. 398 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Model danych języka użytkownika w informatycznym systemie rachunkowości budżetowej w − nRok - Liczba. Rok w formacie rrrr lub wartość 0, wtedy jest brany pod uwagę rok bieżący księgowości; − sPozycja - Łańcuch. Numer działu, rozdziału, paragrafu lub pozycji budżetowej; − dtNaDzien - Data. Data na którą należy obliczyć wartość rachunku dochodów. Wartość zwracana przez metodę jest liczbą i zawiera stan rachunku dochodów na dany dzień działu, rozdziału, paragrafu lub pozycji budżetowej w zależności od parametru sPozycja. Wywołanie metody RachDochodowPozycjiNaDzien jest zastępowane w trakcie wykonywania zestawienia odpowiednim kodem czytającym zawartość tabel bazy danych księgowości - dla rachunku dochodów jest to: da .b w w If nRok=NUMBER_Null OR sPozycja='' OR dtNaDzien=DATETIME_Null Return NUMBER_Null Set nTempIDPozycji=NUMBER_Null Call SqlImmediate( 'select id_pozycji, typ_pozycji from pozycje_budzetu into :nTempIDPozycji, :sTempTypPozycji where rok=:nRok AND pozycja=:sPozycja AND typ=\'D\'' ) If nTempIDPozycji=NUMBER_Null Return NUMBER_Null Set nSuma=0 ! Winien Set nKwota=NUMBER_Null Call SqlImmediate( 'select sum( pozycje_dokumentu.kwota ) from pozycje_dokumentu, dokumenty, pozycje_budzetu into :nKwota where dokumenty.zatwierdzony=1 AND dokumenty.rok=:nRok AND pozycje_dokumentu.id_dokumentu=dokumenty.id_dokumentu AND pozycje_dokumentu.id_pozycji_winien=pozycje_budzetu.id_pozycji' || VisStrChoose( sTempTypPozycji=BUDZET_POZYCJA, ' AND pozycje_budzetu.id_pozycji=:nTempIDPozycji', ' AND pozycje_budzetu.rok=:nRok AND pozycje_budzetu.pozycja LIKE \'' || sPozycja || '%\' AND pozycje_budzetu.typ_pozycji=\'' || BUDZET_POZYCJA || '\'' ) || ' AND pozycje_dokumentu.typ_pozycji_winien=\'' || BUDZET_RACHUNEK_DOCHODOW || '\' AND dokumenty.data<=:dtNaDzien' ) If nKwota = NUMBER_Null Set nKwota = 0 If BUDZET_MbRachunekDochodowWinien=TRUE Set nSuma = nSuma + nKwota Else Set nSuma = nSuma - nKwota ! Ma Set nKwota=NUMBER_Null Call SqlImmediate( 'select sum( pozycje_dokumentu.kwota ) from pozycje_dokumentu, dokumenty, pozycje_budzetu into :nKwota where dokumenty.zatwierdzony=1 AND dokumenty.rok=:nRok AND pozycje_dokumentu.id_dokumentu=dokumenty.id_dokumentu AND pozycje_dokumentu.id_pozycji_ma=pozycje_budzetu.id_pozycji' || VisStrChoose( sTempTypPozycji=BUDZET_POZYCJA, ' AND pozycje_budzetu.id_pozycji=:nTempIDPozycji', ' AND pozycje_budzetu.rok=:nRok AND pozycje_budzetu.pozycja LIKE \'' || sPozycja || '%\' AND pozycje_budzetu.typ_pozycji=\'' || BUDZET_POZYCJA || '\'' ) || ' AND pozycje_dokumentu.typ_pozycji_ma=\'' || BUDZET_RACHUNEK_DOCHODOW || '\' AND dokumenty.data<=:dtNaDzien' ) If nKwota = NUMBER_Null Set nKwota = 0 If BUDZET_MbRachunekDochodowWinien=FALSE Set nSuma = nSuma + nKwota Else Set nSuma = nSuma - nKwota Return nSuma pl s. 399 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 D. Szarmach 3 Przykład zastosowania w Jako przykład wykorzystania języka użytkownika niech posłuży sprawozdanie Rb-23 określone instrukcją sporządzania sprawozdań budżetowych w zakresie budżetu państwa oraz w zakresie przepływu i wykorzystania środków na prefinansowanie zadań realizowanych z udziałem środków pochodzących z funduszy strukturalnych i funduszy spójności [10 załącznik 31, par. 1-2]. Pola nie mające znaczenia dla zrozumienia przykładu (np. nazwa i adres jednostki sprawozdawczej) zostały pominięte w tabeli, mimo iż występują w rzeczywistym sprawozdaniu. Tabela 5. Definicja przykładowego sprawozdania Rb-23 w LP Opis Typ 1 2 3 nRok nMiesiac bMiesieczne 4 5 … 15 sMiesiac dtNaDzien … n11 Rok Miesiąc Miesięczne? (auto.) (auto.) Liczba Liczba Logiczna Łańcuch Data 16 n12 17 n13 18 n14 19 20 n15 n21 21 n22 22 Pa r. 1 1 1 Wartość 2005 9 1 0 0 Miesiac( nMiesiac ) OstatniDzien( nRok, nMiesiac ) da .b w Zmienna 0 Liczba 0 Liczba 0 Liczba 0 Liczba Liczba 0 0 Liczba 0 n23 Liczba 0 24 n24 Liczba 0 25 n25 Liczba 0 31 n44 Liczba 0 35 n51 Liczba 0 RachDochodow( nRok , '%' , '' , '', 'z', 1, nMiesiac ) BOONWinien( nRok , '222-01', '', '', 'z', 1, nMiesiac , 0 ) Saldo( nRok , '130-02', '', '', 'z', 1, nMiesiac , 0 ) Saldo( nRok , '130-02', '', '', 'z', 1, nMiesiac , 0 ) Saldo( nRok , '223-07-1', '', '', 'z', 1, nMiesiac , 0 ) RachWydatkow( nRok , '%', '' , '', 'z', 1, nMiesiac ) BOONWinien( nRok , '223%', '', '223-060-2', 'z', 1, nMiesiac , 0) Saldo( nRok , '130-01', '', '', 'z', 1, nMiesiac , 0 ) Saldo( nRok , '130-01', '', '', 'z', 1, nMiesiac , 0 ) Saldo( nRok , '139%', '', '', 'z', 1, nMiesiac , 0 ) Saldo( nRok , '101-02', '', '', 'z', 1, nMiesiac , 0 )+Saldo( nRok , '140-02', '', '', 'z', 1, nMiesiac , 0 ) pl s. Liczba Efekt wykonania tego zestawienia z uwzględnieniem sposobu prezentacji określonym w załączniku numer 1 do rozporządzenia Ministra Finansów w sprawie sprawozdawczości budżetowej [10] znajduje się na rysunku 3. Warto zauważyć, że właściwy użytkownik systemu rachunkowości wypełnia tylko kolumnę wartość, reszta pól wraz z szablonem raportu 400 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Model danych języka użytkownika w informatycznym systemie rachunkowości budżetowej jest zdefiniowana przez użytkownika tworzącego zestawienie, który niekoniecznie posiada wiedzę z dziedziny rachunkowości budżetowej. Nazwa i adres jednostki sprawozdawczej Adresat Rb-23 miesięczne / roczne 1) Numer identyfikacyjny REGON w sprawozdanie o stanie środków na rachunkach bankowych państwowych jednostek budżetowych (z wyłączeniem rachunków izb celnych) na koniec miesiąca wrzesień 2005 r. Symbole: części / woj 1 2 Wysłać bez pisma przewodniego Przed wypełnieniem przeczytać instrukcję Kod pozycji Wyszczególnienie w 3 Kwoty 4 5 DOCHODY 11 Dochody wykonane wykazane w sprawozdaniu (sprawozdaniach) Rb-27 12 Dochody przekazane na rachunek bieżący budżetu państwa 13 STAN ŚRODKÓW NA RACHUNKU BIEŻĄCYM DOCHODÓW W NBP 2) 162391,02 186375,17 30435,50 z tego : w 14 Dochody państwowych jednostek budżetowych 15 Pozostałe wpływy 30435,50 3) WYDATKI Środki otrzymane z Min. Finansów lub od dysponenta wyższego stopnia 22 Wydatki wykonane wykazane w sprawozdaniu (sprawozdaniach) Rb-28 23 Środki przekazane dysponentom niższego stopnia w tym: środki przekazane placówkom 24 1336495,43 4) 25 środki na realizację wydatków danego roku budżetowego 26 środki na sfinansowanie wydatków, o których mowa w art.102 ustawy o finansach publicznych. 31 32 41 42 43 44 45 Informacja o środkach na rachunkach: 40001,58 x dochodów własnych akredytywy budżetowej sum depozytowych sum na zlecenie 3834,68 o środkach państwowych jednostek budżetowych Informacja o środkach w drodze 5) pl s. o środkach innych jednostek organizacyjnych na finansowanie inwestycji w tym: 47 51 40001,58 Informacja dotycząca wypłacanych wynagrodzeń Środki na wynagrodzenia wypłacone "z dołu" ze środków pobranych z banków krajowych (oprócz banków spółdzielczych) w ramach zastępczej obsługi bankowej Środki na wynagrodzenia wypłacone "z góry" lub przekazane na rachunki pomocnicze państwowych jednostek budżetowych w bankach spółdzielczych na wypłatę tychże wynagrodzeń w tym: 46 3635094,03 STAN ŚRODKÓW NA RACHUNKU BIEŻĄCYM WYDATKÓW W NBP 2) z tego: 1) 2) 3) 4) 5) 5276600,00 da .b 21 2952,00 niepotrzebne skreślić potwierdza Oddział NBP na koniec okresu sprawozdawczego objaśnić niżej z jakiego tytułu dotyczy:środków pieniężnych, o których mowa w § 35 ust. 3 pkt 2 i 3 instrukcji stanowiącej załącznik nr 31 do rozporządzenia dotyczy wpłat z tytułu dochodów dokonanych w kasie jednostki i nie przekazanych na moment sprawozdawczy na rachunek NBP oraz wpłat przekazanych do banków w ramach zastępczej obsługi kasowej, które nie wpłynęly na rachunek bieżący w NBP do końca okresu sprawozdawczego .............................. .................................................... Główny Księgowy 2005.12.23 ............................................................... rok miesiąc dzień .............................................. Kierownik jednostki Rys. 3. Sprawozdanie Rb-23 utworzone na podstawie podanej definicji 4 Podsumowanie Wprowadzenie języka użytkownika do informatycznego systemu rachunkowości w znacznym stopniu ułatwia procesy tworzenia sprawozdawczości, czy też wspomagania decyzji. Zamiast ręcznego wypełniania przez użytkownika arkuszy w innych programach, istnieje możliwość bezpośredniego odczytu danych z ksiąg rachunkowych, a przy tym nie jest 401 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 D. Szarmach wymagana od użytkownika specjalistyczna wiedza z dziedziny informatyki. Wprowadzenie różnych poziomów dostępu do definiowania sprawozdań zapewnia bezpieczeństwo i integralność zdefiniowanych zestawień. W przyszłych pracach nad językiem użytkownika warto uwzględnić wizualne metody wprowadzania wyrażeń, co w dalszym stopniu powinno ułatwić korzystanie z niego, a jednocześnie język ten uelastycznić. w Literatura 1. 3. 4. 5. 7. 8. 9. 10. 12. 13. 14. 15. 16. pl s. 11. da .b 6. w w 2. Aho A. V., Sethi R., Ullman J. D., Kompilatory (Reguły, metody i narzędzia), WNT, Warszawa 2002. Budziński R., Język użytkownika w informatycznym systemie rachunkowości zarządczej (algorytm budowy i funkcjonowania), „Informatyka i zarządzanie strategiczne”, Wydawnictwo INFORMA, Szczecin 1998. Budziński R., Komputerowy system przetwarzania danych ekonomiczno-finansowych w przedsiębiorstwie, Wydawnictwo Naukowe Uniwersytetu Szczecińskiego, Szczecin 2000. Budziński R., Metodologiczne aspekty systemowego przetwarzania danych ekonomicznofinansowych w przedsiębiorstwie, Wydawnictwo Naukowe Uniwersytetu Szczecińskiego, Szczecin 2001. Głodek Z., Budziński R., Becker J., Komputerowy system informacji finansowo-księgowej w przedsiębiorstwie, Wydawnictwo INFORMA, Szczecin 2000. Gmytrasiewicz M. (red.), Rachunkowość tom II, Wydawnictwa Prawnicze PWN, Warszawa 2001. Rozporządzenie Ministra Finansów z dnia 23 września 1999 r. w sprawie klasyfikacji części budżetowych i określenia ich dysponentów (Dz. U. Nr 78, poz. 880 z późn. zm.). Rozporządzenie Ministra Finansów z dnia 18 grudnia 2001 r. w sprawie szczególnych zasad rachunkowości oraz planów kont dla budżetu państwa, budżetów jednostek samorządu terytorialnego, jednostek budżetowych, zakładów budżetowych i gospodarstw pomocniczych jednostek budżetowych oraz jednostek budżetowych mających siedzibę poza granicami RP dotyczące zasad rachunkowości oraz planów kont dla budżetu państwa (Dz. U. Nr 153, poz. 1752). Rozporządzenie Ministra Finansów z dnia 20 września 2004 r. w sprawie szczegółowej klasyfikacji dochodów i wydatków, przychodów i rozchodów oraz środków pochodzących ze źródeł zagranicznych (Dz. U. Nr 209, poz. 2132 z późn. zm.). Rozporządzenie Ministra Finansów z dnia 19 sierpnia 2005 r. w sprawie sprawozdawczości budżetowej (Dz. U. Nr 170, poz. 1426). Szarmach D., Język użytkownika w informatycznym systemie rachunkowości, Materiały VII Sesji Naukowej Informatyki tom I, Wydawnictwo INFORMA, Szczecin 2002. Szarmach D., Rachunkowość budżetowa jako księga pomocnicza informatycznego systemu rachunkowości, „Materiały VI Sesji Naukowej Informatyki”, Wydawnictwo INFORMA, Szczecin 2001. Szarmach D., System do przeglądania zawartości i struktury relacyjnych baz danych, „Materiały IV Sesji Naukowej Informatyki”, INFORMA, Szczecin 1999. Ustawa z dnia 29 września 1994 r. o rachunkowości (Dz. U. Nr 121, poz. 591 z późn. zm.). Ustawa z dnia 26 listopada 1998 r. o finansach publicznych (Dz. U. Nr 155, poz. 1014 z późn. zm.). Wojtania T., Podstawy rachunkowości budżetowej, Fundacja Rozwoju Rachunkowości w Polsce, Warszawa 1999. 402 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006