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

Podobne dokumenty