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
    KIFZ Korekta ilościowa faktury zakupu ZWM
    PZ Przyjęcie zewnętrzne AWD
    KIPZ Korekta ilościowa przyjęcia zewnętrznego ZWM
    FS Faktura sprzedaży ZWM
    KIFS Korekta ilościowa faktury sprzedaży AWD
    WZ Wydanie zewnętrzne ZWM
    KIWZ Korekta ilościowa wydania zewnętrznego AWD
    PAR Paragon ZWM
    KIPAR Korekta ilościowa paragonu AWD
    RW Rozchód wewnętrzny ZWM
    KIRW Korekta ilościowa rozchodu wewnętrznego AWD
    PW Przychód wewnętrzny AWD
    KIPW Korekta ilościowa przychodu wewnętrznego ZWM
    MM- Przesunięcie międzymagazynowe wydanie ZWM
    MM+ Przesunięcie międzymagazynowe przyjęcie AWD
    Zamówienia
    ZZ Zamówienie zakupu AWD
    ZS Zamówienie sprzedaży ZWM
    ZWE Zamówienie wewnętrzne ZWM

    Czy ten artykuł był pomocny?