1. Opis ogólny
2. Tworzenie etykiet przy użyciu LibreOffice
2.1 Etykiety bez kodów kreskowych
2.2 Etykiety z kodami kreskowymi
3. Tematy powiązane
1. Opis ogólny
Etykiety dla programu Trawers można projektować przy użyciu wbudowanego
edytora wzorców.
Wzorce dokumentów i etykiet
Alternatywą jest zastosowanie popularnego edytora LibreOffice.
Poniżej opisano tę metodę na przykładach etykiet z kodem kreskowym i bez kodu kreskowego.
2. Tworzenie etykiet przy użyciu LibreOffice
Tworzenie etykiet w programie LibreOffice na podstawie danych programu Trawers.
Koncepcja rozwiązania:
* Trawers przygotowuje źródło danych
* LibreOffice Base tworzy bazę danych na podstawie źródła danych z Trawersa
* LibreOffice Writer łączy się z utworzoną bazą danych i projektuje etykietę
Programy:
* Trawers
* LibreOffice: Calc, Base, Writer
2.1 Etykiety bez kodów kreskowych
Przykład:
Etykieta na podstawie danych z dokumentu zamówienia sprzedaży
Rozwiązanie:
1. Przygotować źródło danych w Trawersie:
* LibreOffice Calc - utworzyć tabelę: jednowierszową z nazwami nagłówków
odpowiadającymi nazwom pól z dokumentu Trawersa np.
Indeks|Nazwa|EAN|Ilość|Magazyn
Tabela musi się zaczynać od komórki A1.
Plik zapisać w /TRinout w formacie (.fods) (Flat XML ODS Spreadsheet)
np. baza.fods
* Trawers - w NA > Tabele > Wzorce dokumentów: dopisać nowy wzorzec zamówienia [ZL]:
a) dodać linię rodzaju [T] z poleceniem nadania nazwy pliku:
Tt97{zrodlo_danych;.fods}
b) ustawić kursor na końcu tej linii i klawiszem F6-plik
wczytać plik z /TRinout: baza.fods
Linie wczytanego pliku zostaną poprzedzone znakiem T.
Po wczytaniu, pierwsze linie wzorca powinny wyglądać podobnie:
Tţ97{zrodlo_danych;.fods}<?xml version="1.0" encoding="UTF-8"?>
T
T<office:document xmlns:office="urn:oasis:names:tc ...
T <office:meta><meta:creation-date>2017-06-21T11:4 ...
T <office:settings>
NOTE: w pierwszej linii musi być znacznik <?xml>, bo inaczej plik .fods
nie będzie odczytywany przez LibreOffice Calc i Base.
c) edytować wczytany plik:
- odszukać sekcję: T <office:body>
- odszukać w niej sekcję nagłówków: Indeks, Nazwa, EAN, Ilość, Magazyn
<table:table-row>..</table:table-row>:
T <table:table-row table:style-name="ro1">
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Indeks </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Nazwa </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> EAN </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Ilość </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Magazyn </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T </table:table-row>
- skopiować w/w kod i wkleić poniżej jako sekcję pozycji
- w sekcji pozycji:
- zamienić linie rodzaju [T] na [P]
- w miejsce nazw nagłówków (Indeks, Nazwa, ...) wstawić pola (F10-element)
şIndeks towaru ş, ş--------------- Nazwa towaru -------------------ş, ...
Zaleca się stosować znacznik <![CDATA[..]]> dla pól tekstowych.
- zapisać wzorzec
Przykład w/w kodu po dopisaniu i edycji sekcji pozycji:
#
# Nagłówki:
#
T <table:table-row table:style-name="ro1">
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Indeks </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Nazwa </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> EAN </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Ilość </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T <text:p> Magazyn </text:p>
T </table:table-cell>
T <table:table-cell office:value-type="string" calcext:value-type="string">
T </table:table-row>
#
# Pozycje: To jest powielona sekcja Nagłówków ze zmianą linii na P i użyciem pól.
#
P <table:table-row table:style-name="ro1">
P <table:table-cell office:value-type="string" calcext:value-type="string">
P <text:p><![CDATA[şIndeks towaru ş]]></text:p>
P </table:table-cell>
P <table:table-cell office:value-type="string" calcext:value-type="string">
P <text:p><![CDATA[ş--------------- Nazwa towaru -------------------ş]]></text:p>
P </table:table-cell>
P <table:table-cell office:value-type="string" calcext:value-type="string">
P <text:p>ş---EAN13---ş</text:p>
P </table:table-cell>
P <table:table-cell office:value-type="string" calcext:value-type="string">
P <text:p>ţ77{ş-- Ilosc ---ş}</text:p>
P </table:table-cell>
P <table:table-cell office:value-type="string" calcext:value-type="string">
P <text:p>şMş</text:p>
P </table:table-cell>
P </table:table-row>
* w Trawers NA > Zamówienia sprzedaży - wydrukować zamówienie sprzedaży (F4-drukuj)
urządzeniem rodzaju PLIK TXT z parametrami:
- kodowanie UTF-8
- końce linii UNIX
- <nazwa nadana przez program>
Wydruk zapisze plik zrodlo_danych.fods w folderze /TrInOut
2. Utworzyć bazę danych w LibreOffice Base
* Użyć kreatora baz danych. Wybrać:
[*] Połącz z istniejącą bazą danych: [Arkusz kalkulacyjny]
* Ustawić połączenie do pliku: zrodlo_danych.fods w /TRinout
* Utworzyć bazę danych. Nadać nazwę np. Baza-danych-etykiety.odb
3. Utworzyć etykietę
W LibreOffice Base:
a) Wybrać menu Plik > Nowy > Etykiety:
* W zakładce [Etykiety] wybrać:
- Baza danych: Baza-danych-etykiety
- Tabela: Arkusz1
- Pole bazy danych: wybrać kolejne pola i przenieść [<-] do okna [Tekst etykiety]
- Marka: format i typ (można utworzyć własne)
* W zakładce [Format] ustalić wymiary etykiety i strony
* W zakładce [Opcje] zaznaczyć:
[o] Cała strona
[v] Synchronizuj zawartość
b) Wybrać [Nowy dokument] aby utworzyć układ graficzny etykiety
* Projekt zastosować dla górnej etykiety od lewej
* Synchronizuj zawartość
4. Wydrukować etykiety
menu: Plik > Drukuj
* Wybrać bazę danych i arkusz
* Wydrukować
2.2 Etykiety z kodami kreskowymi
Można też utworzyć etykiety z kodami kreskowymi, np. GS1 przy pomocy:
* makro: generator kodu kreskowego Code128
* czcionka zamieniająca tekst na kod kreskowy
Przykład wzorca na podstawie zamówienia sprzedaży:
https://ftp.tres.pl/wzorce/tr5i6/na_zl_etykbaza.xml
Czynności:
* dopisać wzorzec zamówienia w NA > Tabele > Wzorce dokumentów
wybrać: [Pobieranie pliku z ftp.tres.pl]
wybrać: [ZL]
wybrać: na_zl_etykbaza.xml
* wydrukować zamówienie jak w p.9.1
W katalogu /TrInOut powstanie plik: baza.fods
* pobrać makro i czcionki, np.
http://www.idautomation.com/font-encoders/openoffice/#Prepare_OpenOffice
* Zainstalować makro:
- otworzyć baza.fods
- menu: Narzędzia > Zarządzaj makrami > LibeOffice-Basic
- w sekcji [Makro z] zaznaczyć [Moje makra], wybrac [Nowy]
i postępować wg instrukcji ze strony www, z której pobrano makro.
* Zainstalować czcionkę: IDAutomation_C128FontAdvantageDEMO.exe
* Utworzyć bazę danych w LibreOffice Base
* Użyć kreatora baz danych. Wybrać:
[*] Połącz z istniejącą bazą danych: [Arkusz kalkulacyjny]
* Ustawić połączenie do pliku: baza.fods w /TRinout
* Utworzyć bazę danych. Nadać nazwę np. etykiety.odb
* w menu LibreOffice wybrać Plik > Nowy > Etykiety
* utworzyć etykietę tak jak w p.9.1
* dla pola <Barcode> zastosować czcionkę: code128 (tu: IDAutomationCS128 DEMO
* wydrukować etykiety