Konspekt szkoleniowy
Transkrypt
Konspekt szkoleniowy
Autor: Piotr Tworowski Data: styczeń, 2004 Spis treści WSTĘP ...................................................................................................... 2 STRUKTURA SZABLONU XSLT .................................................................... 2 PRZYKŁADY MODYFIKACJI SZABLONU XSLT: ............................................................... 3 MECHANIZM WYDRUKU TEKSTOWEGO .......................................................... 3 PRZYKŁAD MODYFIKACJI............................................................................................. 3 InsERT - Konspekt szkoleniowy – Wydruki tekstowe w systemie InsERT GT Wstęp Tekstowe wzorce wydruku w systemie InsERT GT, zapisane w formacie XSLT przechowywane są w bazie danych, w tabeli wy_Plik. System nie oferuje Ŝadnej administracji do zarządzania wyglądu wzorcami (edycja kolumn, nagłówków itp.). Jedyną moŜliwością zmiany wyglądu wydruku tekstowego jest wyeksportowanie go do pliku XSLT (w module Administracja - Wzorce wydruków) a następnie obróbka szablonu XSLT dowolnym edytorem. Struktura szablonu XSLT Szablon XSLT podzielony jest na następujące sekcje: 1. ZMIENNE MODYFIKOWANE PRZEZ UśYTKOWNIKA (zmienne modyfikujące wygląd wydruku, wykorzystywane przez GT, 1 = prawda, 0 = fałsz) 2. STALE KONFIGURUJACE (stałe zawierające dane o długości pól zawijanych, wcięcia, ilość linii strony itp.) 3. SZABLON GŁÓWNY CAŁEGO DOKUMENTU (właściwy szablon dokumentu, wykorzystujący wewnątrz kolejno sekcje: 9, 7, 6, 14, 5) 4. DOKUMENT : JEDEN WIERSZ OPAKOWANIA (wiersz zawierający dane w tabeli opakowań zwrotnych, wykorzystana sekcja 5, w przypadku opakowań o długich nazwach) 5. WIERSZ ZAWIJANEJ NAZWY OPAKOWANIA 6. DOKUMENT : WIERSZ VAT'U (wiersz opisujący dane w tabeli VAT) 7. DOKUMENT : WIERSZ POZYCJI (wiersz opisujący dane w specyfikacji towarowej, wykorzystuje 8, w przypadku opisów nie mieszczących się w 1 wierszu) 8. WIERSZ ZAWIJANEGO OPISU TOWARU 9. DOKUMENT : NAGLOWEK DOKUMENTU (nagłówek dokumentu, zawierający nazwę podmiotu, dane wystawienia, a takŜe kolejne sekcje: od 10 do 13) 10. WIERSZ ZAWIJANEJ NAZWY PODMIOTU W NAGŁÓWKU 11. WIERSZ ZAWIJANEJ NAZWY BANKU W NAGŁÓWKU 12. DOKUMENT : NAGLOWEK : SEKCJA Z NAZWAMI FIRM (dane sprzedawcy i nabywcy) 13. WIERSZ ZAWIJANEJ NAZWY SPRZEDAWCY LUB NABYWCY 14. DOKUMENT : PODSUMOWANIE (sekcja odpowiedzialna za drukowanie podsumowanie dokumentu, moŜe zawierać 15 i 16) 15. WIERSZ ZAWIJANYCH UWAG DO DOKUMENTU 16. WIERSZ ZAWIJANEJ KWOTY SŁOWNEJ 17. FORMATOWNIE LICZBY W KOMÓRCE (funkcja słuŜąca do formatowania liczby) 18. FORMATOWANIE TEKSTU W KOMÓRCE (funkcja słuŜąca do formatowania tekstu) 19. SKRYPT WYKONUJĄCY POTRZEBNE OBLICZENIA (skrypt zawierający róŜne przydatne funkcje wykorzystywane przy generowaniu pliku wynikowego) 2 InsERT - Konspekt szkoleniowy – Wydruki tekstowe w systemie InsERT GT Przykłady modyfikacji szablonu XSLT: Przykład 1 Zamiana kolumny: • zmodyfikować wiersz z nagłówami kolumn w sekcji 3, • zamienić odpowiednio nazwę kolumny w sekcji 7, (np. zmiana ob_WartNetto na ob_WartBrutto) • zmodyfikować wiersz nagłówkowy w skrypcie, w sekcji 19 Przykład 2 Zmiana szerokości kolumny: • zmodyfikować wiersz z nagłówami kolumn w sekcji 3, • zmienić odpowiednio szerokość kolumny w sekcji 7, (np. len=10 na len=15 • zmodyfikować wiersz nagłówkowy w skrypcie, w sekcji 19 Przykład 3 Dodanie kolumny: • zmodyfikować wiersz z nagłówami kolumn w sekcji 3, • dodać odpowiednią kolumnę w odpowiednim miejscu sekcji 7, • zmodyfikować wiersz nagłówkowy w skrypcie, w sekcji 19 Przykład 4 • • Wyłącznie drukowania wartości razem i słownie: Usunięcie odpowiednich węzłów w sekcji 14 Przykład 5 • • Wyłącznie drukowania tabeli VAT: Usunięcie odpowiednich węzłów w sekcji 3 Mechanizm wydruku tekstowego Mechanizm generowania wydruku tekstowego jest następujący: program generuje plik XML zawierający dane do wydruku, następnie dokonywana jest transformacja tego pliku przy pomocy wzorca XSLT. Wynikiem działania tej transformacji jest plik tekstowy, który po odpowiedniej obróbce przez program (dodanie kodów sterujących, konwersja strony kodowej itp.) jest kopiowany na drukarkę. MoŜliwe jest ręczne zasymulowanie tego procesu, tak aby łatwo sprawdzać czy zmiany dokonywane w pliku XSLT odpowiadają naszym oczekiwaniom. Przykład modyfikacji Modyfikacja wzorca wydruku XSLT na przykładzie faktury sprzedaŜy. 1. Wyeksportować do pliku Ŝądany wzorzec (np. FS tekst, standard) 3 InsERT - Konspekt szkoleniowy – Wydruki tekstowe w systemie InsERT GT 2. Wywołać podgląd wydruku tekstowego dowolnego dokumentu, w tym czasie w katalogu tmp (C:\Documents and Settings\Uzytkownik\Ustawienia lokalne\Temp) utworzony zostanie plik DaneDoWydruku.xml. NaleŜy go skopiować do tego samego katalogu co wcześniej utworzony wzorzec. 3. Utworzyć skrypt transform.vbs (otworzyć notatnik i wkleić poniŜszy kod): Dim xmlDoc, xmlStyle Dim strText Dim strProjName Dim fs, f strProjName = "" Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False Set xmlStyle = CreateObject("MSXML2.DOMDocument") xmlStyle.async = False If xmlDoc.Load(strProjName + "DabeDoWydruku.xml") Then If xmlStyle.Load("Styl.xslt") Then Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.CreateTextFile("DoWydruku.txt") If IsObject( f ) Then 'Create a file f.Write xmlDoc.transformNode(xmlStyle) f.Close 'MsgBox "Dokument przetworzony i zapisany." Else MsgBox "Nie udało się utworzyć pliku wynikowego." End If Else MsgBox "Nie udało się załadować XMLa, albo XSLT." End If End If i zapisać go do tego samego katalogu co 2 wcześniej wymienione pliki. 4. Od tej pory moŜna za pomocą skryptu transform.vbs (wystarczy w nim tylko odpowiednio zmieniać nazwę pliku xslt) tworzyć plik wynikowy DoWydruku.txt Modyfikując szablon xslt i uruchamiając skrypt moŜna obserwować czy zmiany w wygenerowanym DoWydruku.txt odpowiadają oczekiwaniom. 4