Opis skryptu definiującego etykiety / Galeria etykiet

Program Small Business posiada opcje drukowania etykiet oraz przywieszek dla towarów. Standardowo w programie znajduje się kilkanaście wstępnie zdefiniowanych wzorów etykiet. Istnieje możliwość tworzenia nowych lub dostosowania istniejących wzorów do własnych potrzeb. Definicja wyglądu etykiety zawarta jest pliku tekstowym, którego składnię prezentujemy w poniższym opracowaniu.
Zachęcamy do zapoznania się z Galerią etykiet.

Pliki zawierające skrypt umieszczone są w katalogu głównym programu Small Business (np. c:\sb4). Jeśli chodzi o nazewnictwo zbiorów ze skryptem druku etykiet powinno ono się mieścić w szablonie ETKA*.TXT (max. 20 znaków). Należy unikać nazywania tych zbiorów kolejnymi numerami (np. ETKA0010.TXT), gdyż mogą zostać one nadpisane podczas instalacji nowych wersji programu. Bezpieczniej jest nadawać indywidualne nazwy zamiast numerów (np. ETKA_moja.TXT).

 

Polskie znaki

 

Począwszy od rewizji 3527 (końcówka numeru wersji) program obsługuje skrypty z kodowaniem znaków w standardzie UTF-8. W skrypcie takim znaki wpisujemy 'normalnie' bez konieczności posługiwania się poniższą tabelą kodów Mazowia. Ponadto skrypt taki może zawierać dowolne inne znaki ze standardu UNICODE (np. rosyjskie, chińskie, japońskie, znaki specjalne). Aby zapisać plik skrypt w standardzie UTF-8 należy w notatniku wybrać opcję Plik -> Zapisz jako i w polu 'Kodowanie' wybrać 'UTF-8'. Od tej pory notatnik oraz Small Business będzie automatycznie rozpoznawał kodowanie pliku jako UTF-8.

Gdy plik skryptu nie zostanie rozpoznany jako UTF-8, wówczas program założy, iż używa polskich znaków w standardzie MAZOWIA, który przedstawia poniższa tabela.

W notatniku uzyskujemy je w następujący sposób: wciskamy i przytrzymujemy lewy ALT, następnie na klawiaturze numerycznej wciskamy 0 (zero) + podane liczby i puszczamy ALT.
Oczywiście w notatniku pojawi się znak, który nie kojarzy się z polskim znakiem w żaden sposób.

 

Wymiary / pozycjonowanie elementów

 

Uwaga!
WSZYSTKIE wymiary podawane są w MILIMETRACH z dokładnością do 0.001 mm i są podawane względem lewego górnego rogu etykiety i rosną w prawo i w dół (inaczej niż w matematyce).

Nagłówek

 

  • //- komentarz - wprowadzone znaki (do końca linii) będą pominięte,
  • NAME "nazwa"- nazwa wyświetlana w liście dostępnych formatów etykiet,
  • SIZE szerokość,wysokość - szerokość etykiety (w poprzek taśmy), wysokość etykiety (wzdłuż taśmy).

 

Zawartość etykiety

 

Definiowanie atrybutów tekstu.

Komenda FONT ustala krój, wielkość, styl i zagęszczenie pisma. Kolejność podawania tych parametrów jest dowolna.

FONT "nazwa_kroju", rozmiar,styl, szerokość %

  • nazwa_kroju - np.: "Arial CE", "Times New Roman CE"
  • rozmiar - wysokość znaków w milimetrach
  • styl - np.: normal, bold, italic, bolditalic odpowiednio oznaczają: zwykły, pogrubiony, kursywa, pogrubiona kursywa
  • szerokość % - oznacza w jakim stopniu zmienić szerokość znaków w stosunku do orginalu, np. przy 60% znaki będą ściśnięte, przy 120% rozciągnięte

Pominięcie części parametrów przy FONT, powoduje zachowanie wartości tych parametrów z poprzedniej linii FONT.

Przykładowo:

Powoduje wybranie czcionki "Arial CE" o wysokości znaków 6 mm, pogrubionej, ściśniętej do 80% oryginalnej szerokości.

 

Definiowanie położenia, wielkości bloku tekstowego oraz jego treści.

 

TEXT

  • położenie_w_poziomie,
  • położenie_w_pionie,
  • kąt_obrotu,
  • dopuszczalna_długość_linii,
  • maksymalna_ilość_linii,
  • "napis"

położenie_w_pioziomie, położenie_w_pionie - punkt odniesiena, względem którego jest wypisany napis.
Sposób traktowania tego punktu zależy od dodatkowych znaków występujących przed słowem TEXT (najlepiej sobie wyobrazić komórkę tabeli).

Mogą to być znaki:

Litery T i L można pominąć.

kąt_obrotu - w stopniach; kierunek obrotu: kąt > 0 przeciwnie do ruchu wskazówek zegara.

dopuszczalna_długość_linii - parametr nieobowiązkowy - oznacza ile milimetrów długości może zająć napis. Napisy dłuższe od zadanej wielkości będą obcinane lub zawinięte do kolejnej linii. Zależy to od kolejnego parametru.

maksymalna_ilość_linii - parametr nieobowiązkowy - na ile linii można rozłożyć (zawinąć) napis (domyślnie 1 linia). Parametru tego nie można dopisać samodzielnie - musi być podany razem z dopuszczalną_długością_linii.

"napis" - tekst do wypisania.

Dopuszczalne są poniższe symbole, które mogą być zamienione odpowiednimi napisami z pól w tabeli "Drukowanie etykiet":
 

%NAZWA% pełna nazwa towaru / usługi
%SKROT% skrócona nazwa towaru / usługi (dla kasy fis.)
%NAZWA1% pierwsza linijka nazwy towaru (znaki od 1-40)
%NAZWA2% druga linijka nazwy towaru (znaki od 41-80)
%NAZWA3% trzecia linijka nazwy towaru (znaki od 81-120)
%KOD% symbol towaru (kod kreskowy)
%PLU% symbol PLU (indeks)
%BARKOD1A% kod dodatkowy w kolejności alfabetycznej (analogicznie dla kodów 2,3, ..., 10)
%BARKOD1% kod dodatkowy w kolejności według zapisu w pliku (analogicznie dla kodów 2,3, ..., 10)
%JEDN% jednostka miary
%VAT% stawka VAT
%CENA1B% cena jednostkowa 1. brutto (analogicznie dla cen 2, 3 ..., 10)
%CENA1BG% cena jednostkowa 1. brutto z wartością groszy u góry (analogicznie dla cen 2, 3 ..., 10)
%CENA1N% cena jednostkowa 1. netto (analogicznie dla cen 2, 3 ..., 10)
%CENA1NG% cena jednostkowa 1. netto z wartością groszy u góry (analogicznie dla cen 2, 3 ..., 10)
%CENAZN% cena jednostkowa zakupu netto
%CENAZB% cena jednostkowa zakupu brutto
%PRZELICZNIK1B% cena towaru według przelicznika: Jednostka przeliczeniowa oraz cena jednostkowa 1. brutto (analogicznie dla cen 2, 3 ..., 10)
%PRZELICZNIK1N% cena towaru według przelicznika: Jednostka przeliczeniowa oraz cena jednostkowa 1. netto (analogicznie dla cen 2, 3 ..., 10)
%PRZELICZNIK_N% cena netto towaru z barkodem z ceną indywidualną według przelicznika: Jednostka przeliczeniowa oraz
cena indywidualna barkodu, a jeśli towar nie posiada barkodu to wpisywany jest przelicznik wg ceny 1
%PRZELICZNIK_B% cena brutto towaru z barkodem z ceną indywidualną według przelicznika: Jednostka przeliczeniowa oraz
cena indywidualna barkodu, a jeśli towar nie posiada barkodu to wpisywany jest przelicznik wg ceny 1
%TERMIN% data obliczana na podstawie aktualnej daty oraz ilości dni odczytanych z dodatkowego pola w towarze (etykieta "termin", typ "ilość")
%TERMIN_DOK% data obliczana na podstawie daty dokumentu oraz ilości dni odczytanych z dodatkowego pola w towarze (etykieta "termin", typ "ilość"), jeśli nie ma daty dokumentu, to brana jest data z bieżącej daty systemowej
%GRUPA% grupa towarowa
%LICZNIK% licznik etykiet (każda kopia zwiększa go o 1)
%PRODUCENT% producent - pole: Uwagi w magazynie
%NR_FAKTURY% numer faktury zakupu
%KAT1% kategoria 1 (analogicznie dla kategorii 2, 3, ..., 10)
%ZAWARTOSC% jednostka przeliczeniowa
%PKWIU% symbol PKWiU
%SKLAD% skład produktu - odczytany z dodatkowego pola w towarze (etykieta "skład", typ "tekst")
%ILOSC% ilość / masa towaru z dokumentu
%NR_DOWODU_KS% nr dowodu księgowego faktury zakupu
%UWAGI_DOK% uwagi z dokumentu zakupu / sprzedaży
%OPIS_TOWARU% opis towaru z rubryki Opis w magazynie lub opis barkodu, jeśli do drukowania pobierany jest barkod towaru
%SYMBOL_KONTRAH% symbol kontrahenta z dokumentu
%CENABARN% cena indywidualna barkodu netto
%CENABARB% cena indywidualna barkodu brutto
%DATA% data ostatniej modyfikacji towaru
%DATADRUKU% bieżąca data wydruku
%DATA_DOK% data dokumentu
%DATA_OD% data rozpoczęcia promocji
%DATA_DO% data zakończenia promocji
%GODZDRUKU% bieżąca godzina wydruku
%% znak procentu %
%DOD(...)% treść (wartość) pola dodatkowego z towaru (w nawiasie wpisujemy nazwę pola np. %DOD(foto)%
%KRAJ% kraj pochodzenia (informacja z kolumny Kraj poch. w tabeli magazynu)
%NAPIS1% pierwsza dodatkowa linia do wpisania własnego tekstu
%NAPIS2% druga dodatkowa linia do wpisania własnego tekstu
%NAPIS3% trzecia dodatkowa linia do wpisania własnego tekstu
%Tn...% Style tekstu - przełącznik stylów tekstu, gdzie n=1..5. Uwaga, styl nr 5 (%T5%) jest wykorzystany do wypisywania groszy u góry, tzw indeks górny
%CENAPROMN% Cena promocyjna netto - element wypełniany przy wydruku etykiety ze środka cennika promocyjnego
%CENAPROMB% Cena promocyjna brutto - element wypełniany przy wydruku etykiety ze środka cennika promocyjnego
%CENAPROMNG% Cena promocyjna netto z podaniem groszy w indeksie górnym - element wypełniany przy wydruku etykiety ze środka cennika promocyjnego
%CENAPROMBG% Cena promocyjna brutto z podaniem groszy w indeksie górnym - element wypełniany przy wydruku etykiety ze środka cennika promocyjnego
%UPUST% Upust - element wypełniany przy wydruku etykiety ze środka cennika promocyjnego
%PROMOCJA% Wyróżnik promocji - element wypełniany przy wydruku etykiety ze środka cennika promocyjnego
%DATADRUKU_DDMMRR%   Data druku (DD.MM.RR) - data wydruku etykiety
%CENAN_PRZED_PROM% Cena netto przed promocją
%CENAB_PRZED_PROM% Cena brutto przed promocją
%CENAN_PRZED_PROMG% Cena netto przed promocją z podaniem groszy w indeksie górnym
%CENAB_PRZED_PROMG% Cena brutto przed promocją z podaniem groszy w indeksie górnym
%WART_NETTO% Wartość netto z dokumentu
%WART_BRUTTO% Wartość brutto z dokumentu
%CENA_MIN_30_DNI% Najniższa  cena sprzedaży z ostatnich 30 dni
%CENA_MAG_30_DNI% Najniższa  cena sprzedaży z ostatnich 30 dni pobierana z kartoteki towaru
%CENAPROMN_PRZELICZNIK% Cena promocyjna netto według przelicznika: Jednostka przeliczeniowa oraz cena promocyjna netto
%CENAPROMB_PRZELICZNIK% Cena promocyjna brutto według przelicznika: Jednostka przeliczeniowa oraz cena promocyjna brutto
%WIELOSZTUKI_ILOSC% Ilość towaru w zestawie w promocji wielosztukowej
%WIELOSZTUKI_CENA_ZEST% Cena zestawu w promocji wielosztukowej
%WIELOSZTUKI_CENA_ZESTG% Cena zestawu w promocji wielosztukowej z podaniem groszy w indeksie górnym
%CENAB_PRZED_PROM_PRZEL% Cena przed promocją netto według przelicznika: Jednostka przeliczeniowa oraz cena przed promocją netto
%CENAN_PRZED_PROM_PRZEL% Cena przed promocją brutto według przelicznika: Jednostka przeliczeniowa oraz cena przed promocją brutto
%PROMOMIX_KODY% Wykaz kodów dostępnych w promocji PROMOMIX 
%PROMOMIX_ILOSC% Ilość towaru w zestawie w promocji PROMOMIX
%PROMOMIX_CENA_ZEST% Cena zestawu w promocji PROMOMIX
%PROMOMIX_CENA_ZESTG% Cena zestawu w promocji PROMOMIX z podaniem groszy w indeksie górnym
%LIMIT_PROMOCJI% Limit użycia promocji w jednym paragonie

 

 

Program umożliwia wstawienie wyróżnienia tekstu - Style tekstu. Funkcja przydatna jest np. do drukowania na etykiecie informacji o alergenach. Wyróżnienie części tekstu można zrobić innym krojem, stylem, rozmiarem, ściskiem lub kolorem czcionki. Aby to osiągnąć należy do przełączania stylu tekstu zastosować w tekście zapis %Tn%. Aby zdefiniować styl tekstu należy najpierw na oknie edytowania etykiety, wybrać Nr czcionki a następnie ustawić żądane parametry. W tekście napisu wpisujemy odpowiednie znaki przed tekstem, który ma być wyróżniony np.: %T2%, a po nim np. takie, które spowodują powrót do zwykłej czcionki np.: %T1%. Takie wyróżnienie można stosować do tekstu wpisywanego bezpośrednio w edytorze etykiety lub np. w tekście zapisanym w polu dodatkowym "Skład" które jest drukowane na etykiecie.

Program pozwala również na umieszczenie dodatkowych pól z opisu towaru z magazynu.

Wtedy 'napis' musi zawierać ciąg %DOD(nazwa_dodatkowego_pola)% gdzie nazwa_dodatkowego_pola jest nazwą (bez polskich znaków) z listy pól dodatkowych w magazynie, np.: %DOD(sklad)%  %DOD(termin)%. Użycie pola typu 'plik' spowoduje odczytanie zawartości tego pliku wklejenie go w miejsce wystąpienia napisu %DOD(...)%. Od rewizjii 3527 plik ten może być kodowany w standardzie UNICODE i UTF-8. Wcześniejsze wersje używały wyłącznie standardu Windows 1250. Listę pól obsługiwanych przez etykiety można zobaczyć również w programie: będąc w tabeli 'Drukowanie etykiet' wciskamy przycisk 'F4 Drukuj etykiety / przywieszki', następnie Ctrl-F2 Rozwiń. Pojawią się trzy dodatkowe linie do wpisania własnego tekstu. Z prawej strony są przyciski, z których pojawia się menu kontekstowe z dostępnymi polami.

Przykład etykiety z drukowaną nazwą towaru:

oznacza że środek napisu w poziomie będzie leżał na 28,5 mm od lewej strony etykiety, zaś góra napisu będzie na wysokości 1,5 mm od górnej krawędzi etykiety. Kąt obrotu wynosi 0, dopuszczalna długość linii wynosi 53 mm a ilość wierszy 2. Treść napisu będzie pobrana z pola: nazwa.

UWAGA! Tekst należy umieścić tak, by mieścił się on na etykiecie, w przeciwnym razie rezultat będzie trudny do przewidzenia (zwłaszcza przy obracaniu).


Definiowanie parametrów kodu kreskowego.

BAR położenie_w_poziomie, położenie_w_pionie, wysokość_kodu, grubość_cienkiej_kreski, kąt_obrotu, "napis"

drukuje kod paskowy - typ kodu dobierany jest na podstawie kodu (EAN13, EAN8 lub EAN128ABC)

Opcje położenie mogą być podane podobnie jak przy komendzie TEXT (litery L,C,R i T,M,B). Ta komenda wyrysowuje sam kod bez napisu. Napis należy dodrukować komendą TEXT.


Dodawanie ramki etykiety.

RECT położenie_w_poziomie, położenie_w_pionie, szerokość, wysokość, szerokość_kreski, kąt_obrotu

Rysuje ramkę - analogia parametrów do BAR i TEXT.


Dodawanie grafiki do etykiety.

BITMAP "nazwa", położenie_w_poziomie, położenie_w_pionie, szerokość, wysokość

Drukuje obrazek z pliku "nazwa" we wskazanej pozycji. Na etykiecie można umieścić do 10 obrazków w formacie mapy bitowej Windows (.BMP). Rozmiar podaje się w milimetrach. W razie potrzeby obrazek zostaje tak przeskalowany, aby zajął wskazane miejsce. Uwaga: w przypadku etykietek drukowanych na specjalizowanych drukarkach etykiet można przyjąć że 1mm = 8 pikseli.

Wśród predefiniwanych etykiet odwróconą jest etykieta 55x60 mm (zbiór ETKA0007.TXT)

 

Definiowanie klorów wydruku.

COLOR "r","g","b"

Komenda COLOR określa w jakim kolorze mają być drukowane elementy etykiety. Parametry r,g,b określają składowe koloru (czerwony, zielony, niebieski).

Np. wstawienie COLOR 0,0,255 ustawi kolor niebieski, a COLOR 255,0,0 - czerwony.

Zdefiniowany kolor obowiązuje aż do momentu wstawienia kolejnej komendy COLOR zmieniającej kolor na inny.

 

Przykładowa etykieta

 

Poniżej prezentujemy przykładową etykietę oraz skrypt, który ją definiuje.