1. Opis ogólny
2. Wydruki kaskadowe
2.1 Opis ogólny
2.2 Przykłady wydruków
Faktury z napisem KOPIA
Wiadomość na ekranie po wydruku
Wydruk WZ w magazynie
Wysłanie e-mail z dokumentem
Do-drukowanie zamówienia po fakturze
Różne etykiety dla odbiorców
PDF faktury do archiwum
Każdy odbiorca ma inny wzorzec faktury
Do-drukowanie opłaty KGO (Koszt Gospodarowanie Odpadami)
Do-drukowanie ciężaru ładunku wg PCN
2.3 Zastosowania wzorców kaskadowych
Personalizacja i lokalizacja
Kolejka wydruku
2.4 Zastosowania zaawansowane
Wiele wydruków na podstawie jednego dokumentu
3. Przekazywanie wartości pomiędzy wydrukami
4. Tematy powiązane
1. Opis ogólny
Dokumenty tworzone wg wzorców oraz dokumenty standardowe można ze sobą łączyć
na dwa sposoby:
* kaskada, tj. wywoływanie kolejnego dokumentu po zakończeniu dokumentu poprzedniego
* składanie, tj. tworzenie wydruku z treści wielu dokumentów (wzorców).
Od strony technicznej, budowanie kaskady wydruków polega na umieszczeniu funkcji
[ţInnyWydruk{}, ţWstawWydruk{}, tZałączWydruk...{}] w treści wzorca.
Wydruk składany uzyskuje się funkcją [ţWstawWydruk{}], która wstawia do wydruku
bazowego inny wydruk (pod-wydruk).
Patrz szczegóły:
Wzorce. Wydruki składane
2. Wydruki kaskadowe
2.1. Opis ogólny
Wydruk kaskadowy, to wydruk kolejnego dokumentu, po zakończeniu wydruku
poprzedniego. Kaskadowo można drukować dokumenty:
Wydruki wg wzorcow
Wydruki standardowe
Wzorce dokumentów i etykiet
Wydruki kaskadowe to funkcjonalność, która pozwala zaoszczędzić czas
(jedno wywołanie generuje wiele wydruków) i zautomatyzować przepływ
informacji między działami firmy i między kontrahentami (można przesyłać
wydruki do wielu adresatów).
Wydruki kaskadowe: systemy, dokumenty i raporty
Wydruki kaskadowe można tworzyć w programie Trawers w systemach:
KG Księga główna
NA Sprzedaż
NZ Analizy, zestawienia
MG Gospodarka magazynowa
PL Płace, kadry
PM Raporty i statystyki
RK Rynek kontakty
SE Serwisowanie produktów
ZA Zamówienia zakupu
ZO Zakupy, zobowiązania
ZP Zlecenia produkcyjne
Dokumenty i zestawienia
Następujące dokumenty i zestawienia (raporty) przystosowano
do drukowania kaskadowego (do drukowania w tle):
Systemy Dokumenty Zestawienia (raporty)
------------------------------------------------
KG: ZK
NA: FA FK FZ FP FQ OF ZL OB FO ZI SR RZ SD LD
NA_DFA50 NA_DZM58
NZ: NZ_ZDS10
MG: RO PR Z1 Z2 K1 K2 PM RM R3 R4 O1 O2 P1 P2 NW
PL: P2
PM: PM_ZEX10
RK: KO
SE: WS
ZA: OF OB ZL
ZO: FA FK DA FM ZI SR RZ
ZO_ZRO60 ZO_ZRO61
ZP: ZL KR RO Z1 PR Z2 KD KN KU SM SO DW KO Z3 SH
------------------------------------------------
Dokumenty sprzedażyDokumenty zakupuSystem zaopatrzeniaDokumenty magazynoweDokumenty produkcyjneRaportyXMLRK Rynek Kontakty
SOA Wydruki w tle
Dokumenty i raporty, które zostały przystosowane do drukowania kaskadowego
można wywoływać w locie, drukować w różnych miejscach programu.
Proces wydruku odbywa się w tle. Funkcje drukujące nie prowadzą dialogu
z operatorem. Program nie pobiera danych z ekranu.
Wydruki przygotowane jako kaskadowe można dostosować do wywoływania funkcjami SOA.
Przykłady funkcji SOA, które drukują dokumenty w tle:
Wydruk faktury sprzedaży [PrintSalesInvoiceRequest]
Wydruk RaportyXML [ReportPrint]
SOA Funkcje OutBound i InBound
Przykład zastosowania wydruku via SOA:
Potrzeba:
---------
Zewnętrzny program utworzył dokument [ZL] Zamówienie sprzedaży
i zapisał via SOA do zbioru zamówień w systemie NA Sprzedaż.
(funkcja SOA: [OrderNew])
W programie Trawers utworzono fakturę sprzedaży do otrzymanego zamówienia.
Program zewnętrzny chce zainicjować wydruk utworzonej faktury sprzedaży.
Rozwiązanie:
------------
Program zewnętrzny wykonuje funkcję SOA:
Wydruk faktury sprzedaży [PrintSalesInvoiceRequest]
Wydruk faktury następuje w tle. Bez ingerencji operatora.
Przykłady kaskady wydruków
==========================
Wydruk faktury sprzedaży: oryginał i kopia
o---------------------o
| Faktura sprzedaży |
| Oryginał |
o------------------o--o
+
o--o------------------o
| Faktura sprzedaży |
| Kopia |
o---------------------o
Wydruk faktury sprzedaży i (w załączeniu) należności do rozliczenia
o---------------------o
| Faktura sprzedaży |
o------------------o--o
+
o--o-------------------o
| Należności pozostałe |
| do rozliczenia |
o----------------------o
Od strony technicznej, budowanie kaskady wydruków polega na umieszczaniu funkcji:
[ţInnyWydruk{}, ţWstawWydruk{}, tZałączWydruk...{}] w treści wzorca dokumentu.
Funkcje TrExtLang
Funkcja: [ţInnyWydruk{}] wraz z parametrami wskazuje nazwę wzorca kolejnego dokumentu,
identyfikuje dokument, np. nr faktury sprzedaży oraz urządzenie wyjściowe,
na które wysłany jest wydruk.
Zwykle wskazuje się drukarkę, ale dokument można wysłać na każde inne
urządzenie znajdujące się w tabeli urządzeń wyjściowych,
np. można wyświetlić na ekranie, wysłać jako załącznik e-maila, zapisać
fakturę jako plik PDF w archiwum faktur sprzedaży.
Urządzenia wyjściowe
2.2 Przykłady wydruków
Faktury z napisem KOPIA
Wydruk dwóch kolejnych faktur z napisem KOPIA po wydruku oryginału
Aby automatycznie wydrukować dwie kopie faktury:
1. Skopiować aktualny wzorzec wydruku faktury do np. KOPIAFV
2. Zmienić we wzorcu kopii napis Oryginał na Kopia
3. W wzorcu wydruku oryginału na końcu dopisać:
------------------------------------------
T ţInnyWydruk{;NA;FA;KOPIAFV;şNr dokum. ş}
T ţInnyWydruk{;NA;FA;KOPIAFV;şNr dokum. ş}
------------------------------------------
Automatyczny wydruk WZ na drukarce w magazynie po wydrukowaniu faktury.
Założenie: jest dokument WZ powiązany z fakturą. Np. WZ powstał przez zatwierdzenie
faktury lub faktura powstała na podstawie dokumentu WZ.
Rozwiązanie:
Na wzorcu faktury w linii typu [P] umieścić w tabeli polecenia wydruku WZ.
Dokumentów WZ będzie tyle, ile jest różnych magazynów w pozycjach faktury.
Wiersz tabeli odpowiada magazynowi.
Na końcu wydruku faktury umieścić wydruk tabeli zawierającej polecenia wydruku WZ
Istotne fragmenty wzorca wydruku faktury z komentarzem:
--------------------------------------------------------------------------------
#
# Okres obliczeniowy dok WZ jest taki sam jak okres obliczeniowy faktury
#
T ţOkres={ţFragment{şNr dokum. ş;7;6}}
#
# Jeżeli w pozycji faktury jest podany nr dok WZ to wpisz do tabeli ţWZ
# polecenie wydruku dok WZ. Tablica jest typu klucz-wartość. Kluczem jest magazyn.
# W tablicy będzie tyle pozycji ile magazynów (nadpisuje pozycje).
# Dok WZ dla każdego magazynu zostanie wydrukowany tylko raz.
#
# şP.bnş - Nr dok WZ
#
P ţPorównaj{şP.bnş;;;ţWZ[şMş]{ţInnyWydruk{;MG;RO;TRES0100;şMş;şBsş;şP.bnşţOkres}}}
#
# Wydruk kaskadowy dokumentów WZ
#
T ţWZ[]
--------------------------------------------------------------------------------
Zapisanie faktury jako plik PDF w archiwum faktur sprzedaży
Zapisanie faktury w archiwum
e-faktury, e-Archiwum
Każdy odbiorca ma inny wzorzec faktury
Przypisanie indywidualnego wzorca faktury do każdego odbiorcy.
Wykorzystanie możliwości wyboru wzorca w zależności od danych zapisanych
na dokumencie. W tym przypadku jest to wybór wzorca wg symbolu odbiorcy.
1. Utworzyć tyle wzorców FV ilu jest odbiorców
------------
fv000001.xml dla klienta 000001
fv000002.xml dla klienta 000002
...
------------
2. Utworzyć wzorzec: FV wybierający inny wzorzec. Powinien zawierać
tylko jedną linię z funkcją: ţWstawWydruk
---------------------------------------------------------
ţWstawWydruk{system;rodzaj;wzorzec;nr dok]} (wstaw wydruk)
---------------------------------------------------------
tu: ţWstawWydruk{NA;FA;fvşPla.ş;şNr dokum. ş}
^ ^--- pole wzorca: Nr dokumentu
|
+--- Pole wzorca: şPla.ş - symbol klienta (płatnika)
np. 000002
Można też wykorzystać [ţInnyWydruk{}] dołącz inny wydruk (kaskadowo)
--------------------------------------------------
ţInnyWydruk{drukarka;system;rodzaj;wzorzec;nr dok}
--------------------------------------------------
Podsumowanie opłat KGO (Koszty Gospodarowania Odpadami) wg indeksów
do umieszczenia na fakturze sprzedaży.
Wzorzec pod-wydruku jest na http: na_fa_zest-kgo.xml
KGO Koszty Gospodarowania Odpadami
Do-drukowanie ciężaru ładunku wg PCN
Podsumowanie ciężaru asortymentu wg kodów PCN
do umieszczenia na dokumentach [FA] Faktura, [SD] Wysyłka, itp.
Wzorzec pod-wydruku jest na http: na_fa_zest-pcn.xml
2.3 Zastosowania wzorców kaskadowych
Personalizacja i lokalizacja
Można przypisać odrębny wzorzec faktury do każdego klienta.
Wzorzec wybiera się automatycznie na podstawie symbolu kontrahenta.
Inną opcją jest automatyczny wybór wzorca dokumentu na podstawie
kraju kontrahenta (język, wymogi formalne dla dokumentu).
Kolejka wydruku
Można ustalić kolejkę wydruku dokumentu za pomocą wzorca, wskazując
we wzorcu urządzenia wyjściowe i symbole wzorców do wydruku.
Wydruk kaskadowy można przerwać, jeżeli w konkretnej sytuacji
nie ma potrzeby emitować wszystkich wydruków z kolejki.
Przykład wzorca w katalogu ftp:
na_fa_kolejka_wydruku.xml
Wzorce Pobieranie z ftp
2.4 Wydruki kaskadowe. Zastosowania zaawansowane
Wiele wydruków na podstawie jednego dokumentu
Aby wywołać kolejne wydruki na dowolnym urządzeniu nie jest potrzebna
dodatkowa akcja operatora.
Przykład - wydruki kaskadowe w dok. magazynowej:
* Firma produkująca opakowania do żywności zbiera zamówienia od klientów,
które mówią, co i na kiedy wyprodukować.
* Z produkcji towar schodzi na paletach. Każda paleta ma unikalny numer
seryjny.
* Wyprodukowany towar jest kierowany do magazynu wysokiego składowania
i tam czeka na odbiór.
* Każde zamówienie przekształcane jest na WZ, a następnie WZ na fakturę.
* WZ powiazane jest z klientem i konkretnym adresem wysylkowym.
* Towar pakowany na samochód pochodzi z kilku WZ - stąd potrzeba
emitowania kilku dokumentów.
Na podstawie WZ powstaje:
* Lista pakowa dla przewoźnika
- ułożona wg indeksów, w rozbiciu na n-ry seryjne i n-ry zamówień
* Karta załadunku dla magazyniera
- ułożona wg miejsc składowania, wskazuje, jaką drogę przejść
w magazynie aby zminimalizować koszty załadunku
* Lista towarowa dla producenta
- dokument kontrolny, pokazuje sumaryczne ilości towarów zdjętych
ze stanów, już bez rozbicia na serie
Operatorzy oszczędzają czas, bo dostają listę zawierającą tylko te
informacje, których potrzebują. Wydruki są przygotowane automatycznie
na wskazanych urządzeniach. Nie trzeba nadzorować przepływu informacji
między oddziałami.
3. Przekazywanie wartości pomiędzy wydrukami
Tabela: ţTR_MEM[] przekazuje wartości między wydrukami kaskadowymi.
Zawartość tabeli o nazwie TR_MEM jest widoczna w wydrukach głównym i kaskadowym.
Funkcje TrExtLang
Tabela: ţTR_MEM[] przekazuje wartości:
- z głównego --> do kaskadowego
- z kaskadowego --> do kolejnego kaskadowego
NOTE: Nie można przekazać wartości z wydruku kaskadowego --> do głównego,
gdyż wydruk główny zakończy się przed rozpoczęciem wydruku kaskadowego.
Wydruki kaskadowe1. Czym są
Wydruk kaskadowy to mechanizm, w którym po zakończeniu jednego wydruku automatycznie
uruchamiany jest wydruk kolejny.
Każdy wydruk w kaskadzie jest osobnym dokumentem, wysyłanym na wybrane urządzenie
(drukarka, PDF, e-mail).
---
2. Kluczowe cechy
* Sekwencyjne - każdy wydruk jest niezależny, ale wywoływany w ustalonej kolejności.
* Automatyzacja procesów - można drukować, zapisywać i wysyłać dokumenty bez udziału operatora.
* Elastyczne miejsca docelowe - różne urządzenia i formaty (drukarka, ekran, PDF, e-mail).
* Równoległe zastosowanie w wielu modułach - sprzedaż, magazyn, produkcja, kadry.
---
3. Typowe zastosowania
* Faktura + kopia z napisem 'KOPIA'
* Faktura -> WZ w magazynie
* Faktura -> e-mail z PDF + zapis do archiwum
* Faktura -> Zamówienie źródłowe
* Różne wzorce faktur w zależności od odbiorcy lub kraju
* Do-drukowanie danych dodatkowych (KGO, ciężar wg PCN)
* Kolejka wydruków dla różnych działów
---
4. Zalety
* Minimalizuje czynności ręczne (jeden klik -> wiele dokumentów).
* Umożliwia integrację z systemami zewnętrznymi (np. via SOA).
* Możliwość równoczesnego obsłużenia kilku kanałów (druk + e-mail + archiwum).
---
5. Ograniczenia
* Brak możliwości wstawienia treści kaskadowego wydruku do głównego.
* Dane z kaskadowego nie wracają do głównego (mogą iść tylko w przód lub przez `ţTR_MEM[]` do kolejnego).
* Kolejność jest sztywna - każdy element kaskady uruchamia się po poprzednim.
---
6. Główne funkcje
```
ţInnyWydruk{[drukarka];system;rodzaj;wzorzec;nr dok}
ţZałączWydrukPDF{...}
ţZałączWydrukHTML{...}
ţZałączWydrukTXT{...}
```
---
Porównanie - kaskadowe vs składane
| Cecha | Kaskadowe | Składane |
| --------------------------- | ----------------------------------------- | ---------------------------------------- |
| Efekt | Kilka osobnych dokumentów | Jeden scalony dokument |
| Kolejność | Po sobie | W dowolnym miejscu wydruku |
| Główna funkcja | `ţInnyWydruk{}` | `ţWstawWydruk{}` |
| Możliwość osobnych urządzeń | Tak | Nie (jeden strumień) |
| Zastosowania | Automatyczny przepływ dokumentów, kolejki | Budowa dokumentu z modułów |
| Integracja z SOA | Tak | Rzadziej używane |
| Utrzymanie wzorców | Osobne pliki dla każdego dokumentu | Modułowe, część wspólna w jednym miejscu |
---