|
KXML-howto
Podstawowymi klockami, na których opiera się Janosik, są szablony KXML. Każdemu szablonowi odpowiada odpowiedni formularz ZUS. Z szablonów są generowane płatnikowe pliki KEDU. Innego typu szablony służą do drukowania, w nieniejszym dokumencie zajmiemy się tylko szablonami kxml.
Aby stworzyć nowy szablon potrzebujemy w zasadzie tylko jednej rzeczy: tzw. specyfikacji wejścia/wyjścia, którą można pobrać ze stron ZUS lub Janosika.
Następnie wybieramy dokument, który nas interesuje. Lista opracowanych formularzy znajduje się na stronie Development projektu. Powinniśmy więcy wybrać jeden z tych, których brak.
Następnie tworzymy pusty plik tekstowy, w którym umieszczamy następujące
linijki:
<?xml version ="1.0" encoding="iso-8859-2"?>
<dokument>
</dokument>
Cała nasza praca znajdzie się między znacznikami dokument.
Przyjrzyjmy się tworzeniu szablonu na przykładzie już istniejącego, RNA.
Przede wszystkim odszukujemy opis RNA w specyfikacji (str. 57 w dokumencie PDF). Znacznik początkowy formularza to ZUSRNA, w naszym kxml oznaczmy to jako
<?xml version ="1.0" encoding="iso-8859-2"?>
<dokument>
<pola name="rna">
</pola>
</dokument>
Jeśli przyjrzymy się specyfikacji, zobaczymy, że formularz jest podzielony na sekcje. Pierwsza z nich nazywa się DORNA, druga DIPL, trzecia DDORNA itd. W kxml podchodzimy do tego następująco:
<?xml version ="1.0" encoding="iso-8859-2"?>
<dokument>
<pola name="rna">
<section name="dorna" desc="Dane organizacyjne">
</section>
</pola>
</dokument>
Atrybut "name" to nazwa znacznika, zaś "desc" to jego opis, dokładnie taki, jaki pojawia się w specyfikacji.
Został nam ostatni, najważniejszy element -- właściwe pola formularza. Przyjrzyjmy się przykładom:
<pole name="dorna_identyfikator" longname="Identyfikator raportu"
kedu_length="8">+dorna_identyfikator+</pole>
"Name" to unikalny identyfikator pola, który tworzymy z nazwy sekcji,
podkreślenia oraz nazwy. Wybierając nazwę powinniśmy kierować się
zdrowym rozsądkiem. "Longname" to napis, który pojawi się przy
danym polu w oknie dialogowym, jest to więc "Opis pola" z dokumentacji,
ale w granicach rozsądku -- jeśli opis jest bardzo długi, trzeba go przyciąć.
"Kedu_length" to długość pola, "Rozmiar" z dokumentacji.
"+dorna_identyfikator+" to fragment, który jest podmieniany. Powinna to
być wartość atrybutu "pole" ograniczona znakami "+".
Jeśli pole powinno zostac uzupełnione zerami, dodajemy specjalny atrybut
ZEROED nadając mu wartość "true". Jeśli spacjami -- dodajemy atrybut
SPACED="true".
Gotowy szablon możemy umieścić w CVS lub podesłać na listę.
|