Konfiguracja drukarek etykiet

1. Konfiguracja drukarek etykiet

Drukowanie etykiet w aplikacjach Comarch WMS realizowane jest przez usługę Comarch WMS Service. Używane drukarki muszą zostać zainstalowane w systemie Windows, na komputerze, na którym została uruchomiona usługa.

1.1 Dodawanie drukarek w systemie

Drukarki lokalne, podłączone do komputera, widoczne są dla wszystkich użytkowników i nie wymagają żadnych dodatkowych operacji, natomiast drukarki sieciowe, są instalowane w systemie tylko dla konkretnego użytkownika i wymagają ich instalacji dla konta, na którym uruchamiana jest usługa Comarch WMS Service. Domyślnie usługa uruchamiana jest na Lokalne konto systemowe i drukarka musi zostać dodana dla tego konto.
Proces dodawania drukarki sieciowej przebiega dwuetapowo. Najpierw dodajemy drukarkę standardowo do systemu. Następnie uruchamiamy aplikacje „PrinterManager” z katalogu, w którym została zainstalowana aplikacja Comarch WMS Magazynier. W oknie aplikacji prezentowane są drukarki sieciowe, dodane dla aktualnie zalogowanego użytkownika. Na liście zaznaczamy drukarki, które mają zostać dodane dla Lokalnego konta systemowego, a następnie klikamy na przycisk „Dodaj/Usuń”. Aplikacja pozwala także na usunięcie wcześniej dodanej drukarki, poprzez odznaczenie jej na liście i naciśnięcia przycisku „Dodaj/Usuń”.

1.2 Obsługiwane drukarki

Comarch WMS wspiera obecnie wydruki na drukarkach obsługujących protokoły Direct Protocol (DP) oraz Datamax Programmer’s Language (DPL). Nie ma możliwości wykorzystania standardowych drukarek atramentowych/laserowych oraz drukarek zapisujących wydruki do plików. Renderowanie wydruków etykiet jest realizowane przez samą drukarkę, a nie poprzez aplikację na komputerze jak przy zwykłych drukarkach, przez co nie ma możliwości podglądu wydruku przed jego wydrukowaniem.

1.3 Budowa definicji wydruków

Definicje wydruków dla etykiet znajdują się w katalogu „Labels” w katalogu, w którym został zainstalowany Comarch WMS Magazynier. Każda definicja znajduje się w oddzielnym katalogu. Wewnątrz znajduje się plik report.xml. Zbudowany jest on z dwóch głównym sekcji: DataCommand oraz Definition. Sekcja DataCommand definiuje źródło danych, jakie zostanie wykorzystane podczas pobierania danych dla wydruku. Parametr Type może przyjmować jedną z dwóch wartości: StoredProcedure – jeżeli jako źródło danych wykorzystywana jest procedura składowana lub Text – jeżeli jako źródło danych wykorzystywane jest zapytanie SQL. Do źródła danych przekazywane są parametry zależne od kontekstu wydruku oraz jego typu. Dokładny spis parametrów przedstawia poniższa tabela. Sekcja Definition zawiera definicje samego wydruku tj. jego rozmiar, zawartość oraz wygląd. W tej sekcji możemy wykorzystać dane zwrócone przez źródło danych zwrócone przez zapytanie z sekcji DataCommand. Sekcja Definition podzielona jest na 3 podsekcje: Header – kod z tej sekcji będzie wysłany tylko raz na początku wydruku, Page – kod z tej sekcji będzie wysłany do drukarki raz dla każdej etykiety, Footer – kod z tej sekcji będzie wysłany raz na końcu wydruku. Rozmiar etykiety definiujemy poprzez parametr PageWidth oraz PageHeight. Parametr Language mówi o tym, dla jakiego protokołu zdefiniowany jest dana definicja. Dla Direct Protocol podajemy w tym miejscu DP, natomiast dla Datamax Programmer’s Language podajemy DPL.

Typ etykiety Miejsce wydruku Parametry Opis
Etykieta partii towaru Pozycja dokumentu @PositionId Id pozycji dokumentu
Położenie @LotId Id partii towaru
@LotId Id partii towaru
Etykieta jednostki logistycznej Pozycja dokumentu @PositionId Id pozycji dokumentu
Etykieta położenia Pozycja dokumentu @PositionId Id pozycji dokumentu
Położenie @WarehouseId Id magazynu
@LocalizationId Id położenia
@IsSingleInstance Parametr mówi nam o tym, czy wydruk ma zostać wykonany w kontekście danego położenia, czy jego położeń podrzędnych.
Wykorzystanie danych w sekcji Definition

Dane zwrócone przez źródło danych zdefiniowane w sekcji DataCommand mogą składać się z wielu wyników, ale tylko pierwszy z nich może zawierać wiele rekordów. Każdy z rekordów zostanie przetworzony na jedną etykietę (w zdefiniowanej liczbie kopii). Dane z pierwszego wyniku pobieramy poprzez nazwę kolumny otoczoną przez podwójne nawiasy klamrowe np. {{nazwa_kolumny}}. Dane z pierwszych rekordów pozostałych wyników możemy pobrać analogicznie, poprzedzając nazwę kolumny numerem wyniku i dwukropkiem np. {{1:nazwa_kolumny}}, aby pobrać dane z pierwszego dodatkowego wyniku.
W sekcji możemy wykorzystać funkcje, przetwarzające dane dla wydruku oraz pozwalające na pozycjonowanie elementów wydruku bazując na zdefiniowanym rozmiarze etykiety. Nazwa każdej funkcji zaczyna się od znaku: @, po którym występuje jej nazwa oraz argumenty objęte w nawiasy okrągłe.

Funkcje niezależne od protokołu drukarki:

  • @comment(comment) – funkcja pozwala wstawić komentarz do kodu wydruku.
  • @replace-chars(value,src,dest) – pozwala na zamianę serii znaków w danych na inne.
    value – Łańcuch znaków do przetworzenia
    src – Znaki źródłowe
    dest – Znaki docelowe
  • Przykład
    @replace-chars(Warehouse,xyz,XYZ)
    Zamienia znaki x,y i z na X,Y i Z w kolumnie Warehouse
  • @strip-polish(value) – Zamienia polskie znaki diakrytyczne na ich odpowiedniki bez ogonków.
  • @char(number) – Zwraca znak o podanym kodzie.
  • @format(value, format) – Formatuje ciąg znaków, format może być dowolnym, poprawnym formatem .NET.
  • @dpi(value) – Ustawia DPI dla wydruku. Funkcja wykorzystywana w sekcji Header.


Funkcje specyficzne dla protokołu DPL (Datamax Programmer’s Language):

  • @num-of-pages() – Zwraca liczbę kopii w formacie 4 znaków z zerami wiodącymi.
  • @image(image-name[,width[,height]]) – Przesyła obrazek do drukarki i wstawia jego nazwę w miejscu wywołania. Jeżeli dany obrazek wykorzystany jest kilkukrotnie, wysyłany jest tylko raz. Funkcja posiada opcjonalne parametry określające rozmiar obrazka.
  • @module(value) – Ustawia moduł, do którego będą przesyłane grafiki (obrazki). Domyślna wartość to C.
  • @width(value[,size]) – Zwraca wartość bazując na szerokości strony. Argument: size określa długość pola (domyślnie 4).
Przykład
@width(0.1) – odpowiada 10% szerokości
@width(20%) – odpowiada 20% szerokości
@width(50mm)
@width(2in)
  • @height(value[,size]) – Analogicznie jak @width lecz bazuje na wysokości strony.
  • @h-center(bazeSize,sizePerChar,value[,size]) – Zwraca pozycję od lewego brzegu strony, tak aby obiekt był wyśrodkowany w poziomie. Pozwala na wyśrodkowanie kodu kreskowego.
    baseSize – stała szerokość bazowa
    sizePerChar – o ile powiększa się szerokość obiektu po dodaniu jednego znaku do value
    value – wartość np. kodu kreskowego
    size – szerokość pola, domyślnie 4
  • @v-center – Analogicznie jak @h-center tylko w pionie.

Funkcje specyficzne dla protokołu DP (Direct Protocol)

  • @width(value) – Wielkość bazująca na szerokości. Wartość w punktach bazująca na DPI.
  • Przykład
    @width(0.1) – odpowiada 10% szerokości
    @width(20%) – odpowiada 20% szerokości
    @width(50mm)
    @width(2in)
  • @height(value) – Analogicznie jak @width, ale bazuje na wysokości.
  • @image(image-name[,width[,height,[,posX,posY[,anchor-point]]]]) – Wysyła grafikę (obrazek) do drukarki przy użycia protokołu PRBUF.
    image-name – nazwa obrazka
    width – szerokość
    height – wysokość
    posX – pozycja w poziomie
    posY – pozycja w pionie
    anchor-point – punkt zaczepienia
  • @num-of-pages() – Zwraca liczbę stron.

1.4 Wydruki standardowe

Po instalacji Comarch WMS Magazynier w katalogu „Labels” domyślnie możemy znaleźć definicje dla wszystkich typów wydruków dla obu wspieranych protokołów.

Typ etykiety Miejsce wydruku Protokół Nazwa definicji
Etykieta partii towaru Pozycja dokumentu DP ArticleLotBig_Code128_DP
DPL ArticleLotBig_Code128_DPL
Położenie DP ArticleLot_Code128_DP
DPL ArticleLot_Code128_DPL
Etykieta jednostki logistycznej Pozycja dokumentu DP LogisticUnit_Code128_DP
DPL LogisticUnit_Code128_DPL
Etykieta położenia Pozycja dokumentu DP LocalizationBig_Code128_DP
DPL LocalizationBig_Code128_DPL
Położenie DP Localization_Code128_DP
DPL Localization_Code128_DPL
Wydruk wielu etykiet jednostek logistycznych Menu główne DP Barcode_Code128_DP
DPL Barcode_Code128_DPL

Dodatkowo dostępne są także wydruki:

  • ImageTest – przykład etykiety, na którym użyto grafikę.
  • SizeTest – wydruk pozwala na test ustawień rozmiaru etykiety.

Przykładowe modele drukarek etykiet testowane z aplikacją Comarch WMS:

  • Intermec PD43 (protokół DP),
  • Datamax H-Class H-4310 (protokół DPL).

1.5 Wydruki standardowe

Poniżej przedstawiono typy dokumentów występujące w systemie ERP:

Symbol dokumentu Nazwa dokumentu Generowana dyspozycja
Dokumenty handlowe
FZ Faktura zakupu AWD
FZK Korekta faktury zakupu AWD/ZWM
PZ Przyjęcie zewnętrzne AWD
PZK Korekta przyjęcia zewnętrznego AWD/ZWM
PZI Przyjęcie zewnętrzne importowe AWD
PKI Korekta przyjęcia zewnętrznego importowego AWD/ZWM
FS Faktura sprzedaży ZWM
FSK Korekta faktury sprzedaży AWD/ZWM
FW Faktura wewnętrzna ZWM
FWK Korekta faktury wewnętrznej AWD/ZWM
WZ Wydanie zewnętrzne ZWM
WZK Korekta wydania zewnętrznego AWD/ZWM
PA Paragon ZWM
PAK Korekta paragonu AWD/ZWM
FSE Faktura eksportowa AWD/ZWM
FKE Korekta faktury eksportowej AWD/ZWM
WZE Korekta wydania zewnętrznego eksportowego ZWM
WKE Korekta wydania zewnętrznego eksportowego AWD/ZWM
RW Rozchód wewnętrzny ZWM
RWK Korekta wydania zewnętrznego eksportowego AWD/ZWM
PW Przychód wewnętrzny ZWM
PWK Korekta przychodu wewnętrznego AWD/ZWM
MMW Przesunięcie międzymagazynowe wydanie ZWM
MMP Przesunięcie międzymagazynowe przyjęcie AWD/ZWM
Zamówienia
ZZ Zamówienie zakupu AWD
ZS Zamówienie sprzedaży ZWM
ZW Zamówienie wewnętrzne ZWM
Inwentaryzacja
RW Rozchód wewnętrzny ZWM
PW Przychód wewnętrzny AWD
Zlecenia
ZP Zlecenie produkcyjne AWD/ZWM
ZK Zlecenie kompletacji AWD/ZWM
ZD Zlecenie dekompletacji AWD/ZWM

Czy ten artykuł był pomocny?