Integracja drukarki fiskalnej z programem Weaver WMS

Aby drukarka fiskalna współpracowała z programem należy w pierwszej kolejności przeprowadzić konfigurację. Drukarki mogą komunikować się WMS-em przy pomocy protokołu Posnet lub XML.

Protokół Posnet

Drukarkę do komputera można podłączyć na dwa sposoby przy pomocy kabla USB lub bezpośrednia do gniazda szeregowego RS232. W przypadku wybrania opcji z użyciem przewodu USB należy pobrać sterowniki dla drukarki ze strony producenta po instalacji w systemie widziany jest wówczas „wirtualny” port RS232. Po instalacji sterowników w menadżerze urządzeń systemu Windows powinien pojawić się port.

Następnie w programie Weaver WMS należy przejść do Ustawień aplikacji i wybrać z zakładek „Drukarka fiskalna”

W sekcji protokół komunikacyjny należy upewnić się że wybrana opcja to „Posnet”, a numer portu COM jest taki sam jak w Menedżerze urządzeń systemu Windows

Protokół XML

Protokół XML (Novitus) stanowi alternatywę dla Posnetu, dzięki niemu druk paragonu trwa o wiele szybciej. Drukarkę podłączamy do naszego komputera lub naszej sieci domowej przy pomocy kabla Etherent/USB bądź poprzez sieć bezprzewodową. Jeśli komputer/sieć domowa ma ustawione automatyczne przydzielanie adresu IP to drukarka sama pobierze potrzebne jej ustawienia w innym przypadku należy je ręcznie wprowadzić. W menu urządzenia należy wydrukować ustawienia sieci i wprowadzić odpowiednie wartości do ustawień Weaver WMS (adres IP oraz port na jakim pracuje).

Wpisujemy adres IP z wydruku oraz port, a w protokole komunikacji wybieramy XML. Podobnie sprawa ma się w przypadku urządzenia tu zmieniamy protokół komunikacji istotną zmianą jest
konfiguracja połączeń poszczególnych urządzeń zewnętrznych na odpowiednim porcie fizycznym drukarki w zależności od podłączenia.
Aby przetestować czy wszystko działa można wydrukować testowy paragon.

Integracja z sklepem Shoper

Integracja systemu Shoper pozwala na pobieranie materiałów i zamówień oraz na wysłanie stanów magazynowych, oraz statusów zamówień.

Konfiguracja w Sklepie

Żeby WMS miał dostęp, trzeba dodać użytkownika do grupy, w której jest przypisany typ dostępu webapi.

Edycja grypy administratorów

Konfiguracja w Weaver WMS

W systemie Weaver WMS należy przejść do zakładki Ustawienia oraz z listy ustawień E-commerce wybrać pozycję Shoper.

W pierwszej zakładce ustawień należy wpisać nazwę użytkownika i hasło, który jest przypisany do grupy z trybem dostępu webapi. Oraz poprawić adresy URL, aby były zgodne z adresem sklepu.

Uruchomienie integracji

W celu uruchomienia poszczególnych funkcji należy otworzyć zakładkę
„Shoper” w „Zadania cykliczne” i dodać stworzoną konfigurację.

Ustawienia zadań cyklicznych

Pobrane zamówienia trafiają do zakładki „Zamówienia od odbiorców” [ZO].

Z dokumentu ZO wystawiamy dokument wydania zewnętrznego [WZ]. Po jego realizacji do Shoper wysyłany jest status zamówienia oraz zmiana stanów magazynowych.

Z dokumentu WZ możemy bardzo szybko wystawić fakturę oraz wysyłkę kurierską.

Integracja – Inpost

Integracja z serwisem Inpost pozwala na szybkie tworzenie wysyłek kurierskich oraz wysyłek do paczkomatu z poziomu systemu Weaver WMS. Dzięki temu możemy zaoszczędzić czas oraz zoptymalizować proces realizacji zamówień.

Konfiguracja integracji

W celu konfiguracji należy przejść do zakładki Inpost w oknie ustawień wysyłek kurierskich (Ustawienia > Wysyłki kurierskie). Następnie uzupełniamy pola odpowiednimi wartościami.

Identyfikator Organizacji – Numer otrzymamy po skontaktowaniu się z opiekunem handlowym Inpost,

Token – Numer otrzymamy po skontaktowaniu się z opiekunem handlowym Inpost,

Adres nadawcy z umowy – Zaznaczmy, jeśli adres nadawcy ma być pobierany z umowy z Inpostem,

Metoda wysłania:
– parcel_locker – nadanie w paczkomacie,
– pok – nadanie w Punkcie Obsługi Klienta,
– courier_pok – nadanie w Punkcie Obsługi Klienta obsługującym nadawanie przesyłek kurierskich,
– branch – nadanie w Oddziale,
– dispatch_order – Zlecenie odbioru – zamówienie kuriera,
– pop – nadanie w Punkcie Obsługi Przesyłek.

Kod paczkomatu nadawczego – pole uzupełniamy tylko, jeśli w sposobie wysłania wybraliśmy pok, courier_pok, parcel_locker.

Usługa – wybieramy domyślną usługę dla wysyłek kurierskich:
– inpost_locker_standard – przesyłka paczkomatowa – standardowa,
– inpost_locker_allegro – przesyłka paczkomatowa – Allegro Paczkomaty Inpost,
– inpost_courier_standard – przesyłka kurierska – standardowa,
– inpost_courier_allegro – przesyłka kurierska – Allegro Kurier24 Inpost,
– inpost_letter_allegro – przesyłka kurierska – Allegro MiniKurier24 Inpost,

Należy pamiętać jeszcze o uzupełnieniu naszych danych w pierwszej zakładce „Dane podstawowe”.

Integracja z serwisem BaseLinker

Integracja systemu BaseLinker pozwala na automatyczne pobieranie informacji i aktualizowanie statusu zamówień.

Uzyskanie klucza dostępu

Żeby WMS miał dostęp do serwisu, potrzebny jest klucz dostępu, który jest odpowiednikiem loginu i hasła w serwisie. (Klucz dostępu daje dostęp do twojego konta, dlatego nie udostępniaj go nikomu!!)

W celu uzyskania klucza trzeba w serwisie z przejść do zakładki API w ustawieniach moje konto.

Klucz API w serwisie

Konfiguracja w Weaver WMS

W systemie Weaver WMS należy przejść do zakładki Ustawienia oraz z listy ustawień E-commerce wybrać pozycję BaseLinker.

W ustawieniach w pole „Token” wpisujemy klucz dostępu.

Ustawienia podstawowe

Na zakładce „Pobieranie zamówień” należy uzupełnić „Id folderu zamówień” (Po kliknięciu przycisku „Foldery” wyświetlą się wszystkie dostępne foldery i z przypisanymi do nich numerami Id).

Ustawienia zamówień

Na zakładce „Wysyłka statusów zamówień” przypisujemy odpowiednie Id statusów zamówień Baselinker do statusów ZO w WMS.

Ważne:

  • Status „Oczekuje” jest domyślnym statusem po ściągnięciu do systemu, dlatego zaleca się wpisanie Id folderu pobierania zamówień.
  • W serwisie BaseLinker status jest równoważny z folderami zamówień.
Ustawienia statusów

Uruchomienie integracji

W celu uruchomienia poszczególnych funkcji należy otworzyć zakładkę
„BaseLinker” w „Zadania cykliczne” i dodać stworzoną konfigurację.

Pobrane zamówienia trafiają do zakładki „Zamówienia od odbiorców” [ZO].

Z dokumentu ZO wystawiamy dokument wydania zewnętrznego [WZ]. Po jego realizacji do BaseLinkera wysyłany jest status zamówienia oraz zmiana stanów magazynowych.

Z dokumentu WZ możemy bardzo szybko wystawić fakturę oraz wysyłkę kurierską.

Integracja PrestaShop

Integracja systemu Weaver WMS z platformą PrestaShop pozwala na znaczne usprawnienie pracy.
Dzięki niej możesz szybko realizować zamówienia, wysyłać ich statusy klientom oraz kontrolować dostępność towarów w sklepie internetowym.

Konfiguracja w panelu PrestaShop

Żeby zintegrować sklep z system Weaver WMS, trzeba wygenerować klucz API i nadać mu odpowiednie uprawnienia. W tym celu w panelu PrestaShop należy wejść w „API” znajdujące się w zakładce „Zaawansowane”.

W tym oknie należy potwierdzić obie opcje w polu „Konfiguracja” oraz dodać nowy klucz API.

Następnie trzeba wygenerować klucz i nadać uprawnienia zasobom.

Uprawnienia wymagane do prawidłowego działania integracji
/*
         * Wymagane Uprawnienia
         * Orders GET
         * Order_payments GET
         * Order_states GET
         * Order_histories GET POST
         * Carriers GET
         * Messages GET
         * Addresses GET
         * Countries GET
         * Customers GET
         * Currencies GET
         * Combinations GET PUT
         * Stock_availables GET PUT
         * Specific_prices GET PUT POST DELETE
         * Products GET PUT
*/

Po tych czynnościach możemy zapisać utworzony klucz.

Konfiguracja w systemie Weaver WMS

W systemie Weaver WMS należy przejść do zakładki Ustawienia oraz z listy ustawień E-commerce wybrać pozycję PrestaShop.

W podstawowych ustawieniach trzeba uzupełnić „Adres API” oraz „Token”.

Adres API to „http://adres-sklepu.pl/api/”. W naszym przypadku adres to http://shop.hdwr.eu dlatego w konfigurację wpisujemy „http://shop.hdwr.eu/api/”.

Token to klucz, który wygenerowaliśmy wcześniej podczas konfiguracji po stronie PrestaShop.

Po uzupełnieniu tych pól można sprawdzić połączenie klikając „Test połączenia”.

Pobieranie zamówień

W zakładce „Pobieranie zamówień możemy określić:

  • Okres, z którego chcemy pobierać zamówienia,
  • Definicję dokumentu,
  • Nazwę płatności pobraniowej,
  • Czy chcemy tworzyć automatycznie awizo wysyłki kurierskiej,
  • Czy chcemy używać nazwy odbiorcy z PrestaShop, jako pole Odbiorca(kod) dla nowych klientów

Wysyłka statusów zamówień

W tej zakładce podpisujemy odpowiednie Id statusów zamówień PrestaShop do statusów ZO w WMS.

Po użyciu przycisku „Pobierz statusy PrestaShop” pokaże się lista statusów ze sklepu i ich Id. Każdy status jest oddzielony nawiasami {}.

Np. Chcemy, żeby po zrealizowaniu ZO dla zamówienia na PrestaShop zmieniał się status na „Wysłane”. Dlatego sprawdzamy Id dla statusu „Wysłane” i wpisujemy je w pole „Id dla statusu 'Zrealizowane'”.

Wysyłanie stanów magazynowych

Gdy uruchomimy wysyłanie stanów magazynowych do sklepu PrestaShop, to każda zmiana ilości w systemie WMS będzie również wprowadzana do stanu magazynowego na panelu PrestaShop.

Uruchomienie integracji

W celu uruchomienia poszczególnych funkcji należy otworzyć zakładkę „PrestaShop” w „Zadania cykliczne” i dodać stworzoną konfigurację.

Działanie integracji

Zamówienia z PrestaShop pobiera się do systemu jako zamówienia od odbiorców [ZO]. Wszystkie dane dokumentu pobierane są ze sklepu.

Materiały w systemie Weaver WMS muszą posiadać taki sam kod lub kod zewnętrzny jak indeksy materiałów w PrestaShop.

Podgląd zamówienie pobrane ze sklepu

Z dokumentu ZO wystawiamy dokument wydania zewnętrznego [WZ]. Po jego realizacji do PrestaShop wysyłany jest status zamówienia oraz zmiana stanów magazynowych.

Z dokumentu WZ możemy bardzo szybko wystawić fakturę oraz wysyłkę kurierską.

REST API – Weaver WMS

Weaver WMS działa w oparciu o API w architekturze REST, które wykorzystuje protokół HTTP i jego metody, takie jak:

GET – służy do pobierania danych (np. wyświetlania listy materiałów),

POST – tworzy nowe dane (np. dodaje nowego odbiorcę),

PUT – aktualizuje wcześniej dodane zasoby (np.  wprowadza zmiany do materiału),

DELETE – służy do usuwania danych.

Dane wchodzące i wychodzące z API są w formacie JSON. Każdy obiekt zawarty jest pomiędzy nawiasami klamrowymi, a jego poszczególne elementy oddzielane są przecinkami. Wartości elementów wpisywane są po ich nazwach oraz dwukropku.

Podczas wysyłania zapytań do lokalnego API, program Weaver WMS musi być uruchomiony.

Swagger

Sprawdzenie działania poszczególnych adresów URI (endpoints) przy pomocy swaggera zawartego w programie Weaver WMS.  

W tym celu należy postępować zgodnie z instrukcją zawartą na poniższym zdjęciu.

Ustawienia -> Konfiguracja bazy danych > Konfiguracja API > /swagger

Następnie, żeby uzyskać pełny dostęp, należy przejść do zakładki Authentication i nacisnąć przycisk Try it out. Teraz w miejsca, gdzie wpisany jest „string”, należy odpowiednio wpisać login oraz hasło użytkownika WMS’a w cudzysłowie.

Po wypełnieniu pól należy wykonać zapytanie przyciskiem Execute, kod 200 świadczy o prawidłowym wykonaniu polecenia.

Strukturę API w swaggerze można również sprawdzić w testowym panelu, do którego link znajduje się poniżej.

https://weaversoft.pl/api-demo/

Zrzut ekranu po prawidłowym wykonaniu autoryzacji.

Po autoryzacji jesteśmy w stanie wykonywać pozostałe zapytania, odpowiednio uzupełniając wartości elementów.

Poniżej znajduje się przykład dodawania odbiorcy (elementy, których nie uzupełniamy, należy usunąć, w tym przypadku uzupełniliśmy tylko wymagane dane).

Postman

Kolejnym sposobem sprawdzenia działania zapytań jest program Postman.

Na początek należy zaimportować kolekcję z zapytaniami.
1. Wejdź do swaggera.
2. Przejdź do strony w formacie JSON.

3. Zaznacz cały tekst (Ctrl + A) i skopiuj go (Ctrl + C).
4. W głównym oknie Postman kliknij przycisk Import w lewym górnym rogu.
5. Przejdź do zakładki Raw text i wklej wcześniej skopiowany tekst.

Po wykonaniu powyższych kroków w menu po lewej stronie w zakładce Collections powinna pojawić się kolekcja „WMS API”.

Pozostaje jeszcze skonfigurowanie  środowiska.
1. Kliknij w ikonę Manage Environments w prawym, górnym rogu.

2. Kliknij przycisk Add, a następnie wypełnij pola według poniższego zrzutu ekranu i ponownie kliknij przycisk Add.

3. W prawym górnym rogu wybierz z listy dodane środowisko.

W programie Postman również trzeba wykonać autoryzację przed wykonywaniem kolejnych zapytań. W tym celu należy z dodanej kolekcji wybrać /auth/sign-in, przejść do sekcji Body i zastąpić domyślnie wpisane wartości, loginem oraz hasłem użytkownika WMS.

Podczas wykonywania poszczególnych zapytań należy usuwać elementy, w których nie uzupełniamy wartości, ponieważ może to skutkować powstawaniem błędów.

Dodawanie materiału

{"Selected":false,
"Type":3,
"Reference":" HD2285",
"Name":"Bezprzewodowy skaner 22Bluetooth HD85",
"DefaultQuantityInContainer":0.0,
"Removed":false,
"Inactive":false,
"SingleUnitPrice":0.0,
"Unit":
{
    "Description":"szt.",
    "DescriptionEng":"pcs",
    "DescriptionDe":"psc",
    "DescriptionRu":"psc",
    "Details":"sztuka",
    "IsLenght":false,
    "Precision":4,
    "IsDefault":false,
    "Id":1
    },
    "TaxRate":{
        "Value":0.23000,
        "Name":"23%",
        "IsDefault":false,
        "TaxRateLegalType":0,
        "Id":1
        },
        "SuggestedPlace":{
            "Selected":false,
            "Reference":"MAG_S1_0_0",
            "Level":0,
            "Number":0,
            "QuantityOfMaterial":0.0,
            "Id":1
            },
            "PercantageProfit":0.0,
            "InitialQuantity":0.0,
            "HasChildren":false,
            "IsOnMachines":false,
            "IsDangerous":false,
            "CountSeparately":false,
            "AdvisingQuantity":0.0,
            "Length":0.0,"Width":0.0,
            "Height":0.0,
            "PackageRequireReference":false,
            "PackageDoNotAddToShippingDocument":false,
            "PackageIsTemporary":false,
            "PackageType":0,
            "RequiredQuantity":0.0,
            "OnCustomOrder":false,
            "LengthIsWidth":false,
            "AbcClass":0,
            "XyzClass":0,
            "MaterialTradeInfo":{
                "IsEcommerceShopPosition":true,
                "IsEcommerceAuctionPosition":false,
                "Id":0},"LengthStrategy":0,
                "WidthStrategy":0,
                "HeightStrategy":0,
                    "SplitPayment":false,
                    "RequireLotNumber":false,
                    "RequireLotExpiration":false,
                    "Id":0
                    }
Podgląd materiału dodanego przez program Postman

Dodanie odbiorcy

{
    "reference": "HDWR",
            "nameLine1": "HDWR",
            "nameLine2": "Hardware for business",
            "removed": false,
            "address": {
                "street": "Os. Piastowskie 53",
                "postalCode": "63-000",
                "city": "Środa Wlkp",
                "id": 0
            },
            "companyDetail": {
                "nip": "786-165-45-57",
                "nipCleaned": "7861654557",
                "ueVatPayer": false,
                "id": 481
            },
            "mail": "biuro@hdwr.pl",
            "shippingAddressesCount": 0,
            "multiplyQuantityWhileImportEdi": false,
            "notificationSetting": {
                "newOrderEmailSend": false,
                "newOrderEmailJoinAttachement": false,
                "id": 3737
            },
            "currency": {
                "symbol": "PLN",
                "name": "PLN",
                "id": 1
            },
            "paymentWay": 0,
            "paymentDays": 0,
            "salesBlockade": false,
            "creditLimit": false,
            "creditLimitAmout": 0.00000,
            "nip": "786-165-45-57",
            "name": "Waever Software Andrzej Lenkowski",
            "id": 473
}
Podgląd odbiorcy dodanego w programie Postman

Przekazanie awizacji przyjęcia

W celu przekazania awizacji przyjęcia trzeba najpierw pobrać metodą GET dane z odpowiednich adresów.
Pierwszą z nich jest dostawca, pobierany z adresu „suppliers”.

/suppliers?IncludeAllId=false&IdList=1

Kolejną potrzebną informacją jest numeracja, pobierana z adresu „document-numbers”. Dodatkowo możemy zastosować parametr „IncludeAllTypes” oraz „Types”.

Parametr "Types" dla przyjęć może przyjmować wartości:
- 0 - Zamówienie do dostawcy,
- 1 - Przyjęcie zewnętrzne,
- 2 - Przychód wewnętrzny.
/document-numbers?IncludeAllTypes=false&Types=1

Kolejnymi danymi są materiały oraz stawki VAT, pobierane z adresów odpowiednio „materials” oraz „tax-rates”.
W przypadku stawek VAT nie jesteśmy w stanie filtrować widoku, dlatego pobrać trzeba wszystkie stawki znajdujące się w systemie.

/materials?IncludeAllId=false&IdList=101
/tax-rates

Po pobraniu wszystkich danych możemy przejść do przesłania metodą POST awizacji przyjęcia poprzez adres „delivery-documents”.

W poniższym przykładzie dla większej przejrzystości zostały wpisane dane, które nie muszą być uzupełniane. Dla sekcji, takich jak: supplier, material, unit, taxrate, document-number, currency wystarczy jedynie podanie id.

/delivery-documents
{"Selected":false,
"Number":"PZ/2021/4",
"IssueDate":"2021-03-08T11:23:14.08771+01:00",
"PlannedDate":"2021-03-08T11:23:14.08771+01:00",
"DocumentStatus":0,
"DocumentType":0,
"Supplier":{
    "Reference":"Andrzej Lenkowski Weaver Software",
    "NameLine1":"Andrzej Lenkowski Weaver Software",
    "CompanyDetail":{
        "Nip":"7861654557"
    },
    "Id":1
    },
"Positions":[{
    "PlannedQuantity":2.0,
    "Material":{
        "Reference":"MAT1",
        "Name":"Testowy",
        "Id":101
    },
    "NetUnitPrice":0.0,
    "Unit":{
        "Description":"szt.",
        "Id":1
    },
    "TaxRate":{
        "Value":0.23000,
        "Id":11
    },
    "Status":0,
    "Orgin":0,
    "NetUnitPriceInCurrency":55.0,
    "Page":0,
    "PositionOrder":0,
    "No":0,
    "Id":-1
}],
"Owner":{
    "Reference":"Andrzej Lenkowski Weaver Software",
    "IsOwner":true,
    "Id":1
 },
"DocumentNumber":{
    "DocumentType":1,
    "DocumentName":"PZ",
    "Number":3,
    "Next":"PZ/2021/4",
    "Id":3
},
"Currency":{
    "Symbol":"PLN",
    "Name":"PLN",
    "Id":1
},
"Id":0}

Pobranie zrealizowanych dokumentów przyjęcia

W celu pobrania dokładnych danych dotyczących zrealizowanych dokumentów PZ należy najpierw pobrać dane z adresu „delivery-documents”.

/delivery-documents

Dzięki tej operacji uzyskamy listę dokumentów przyjęć wraz z ich statusami.

O statusie mówi nam parametr "documentStatus" i wyróżniamy w nim wartości:
- 0 - Oczekujący na realizację,
- 15 - Anulowany,
- 20 - W trakcie realizacji,
- 30 - Zrealizowany.

W tej chwili znamy już ID zrealizowanych dokumentów przyjęć, dlatego możemy przejść do adresu „delivery-documents/position-items” i filtrować go parametrami „IncludeAllDocuments” oraz „Documents”, w których wpisujemy odpowiednio „false” oraz ID dokumentu.

/delivery-documents/position-items?IncludeAllDocuments=false&Documents=105

Przekazanie awizacji wydania

W celu przekazania awizacji wydania schemat różni się jedynie tym, że zamiast dostawcy, pobrać należy odbiorcę z adresu „recipients”.

Podczas pobierania numeracji dla dokumentów wydania użyjemy dla parametru „Types” inne wartości.

Parametr "Types" dla wydań przyjmuje wartości:
- 3 - Zamówienia od odbiorców,
- 4 - Wydania zewnętrzne,
- 5 - Rozchody wewnętrzne.
/shipping-documents
{
"Number":"WZ/2021/2",
"IssueDate":"2021-03-08T13:18:05.2976294+01:00",
"PlannedDate":"2021-03-08T13:18:05.2976294+01:00",
"Status":0,
"Recipient":{
    "Reference":"Andrzej Lenkowski Weaver Software",
    "NameLine1":"Andrzej Lenkowski Weaver Software",
    "CompanyDetail":{
        "Nip":"7861654557"
    },
    "Id":1
},
"Positions":[{
    "PlannedQuantity":10.0,
    "Material":{
        "Reference":"MAT1",
        "Name":"Testowy",
        "Id":101
    },
    "NetUnitPriceBeforeDiscount":150.0,
    "Unit":{
        "Description":"szt.",
        "Id":1
    },
    "TaxRate":{
        "Value":0.23000,
        "Id":11
    },
    "Status":0,
    "PositionOrder":0,
    "Id":-1
    }],
"Currency":{
    "Symbol":"PLN",
    "Id":1
},
"ShippingAddress":{
    "Name":"Weaver Software ",
    "Street":"os. Piastowskie 53",
    "PostalCode":"63-000",
    "City":"Środa Wielkopolska",
    "ContactPerson":"Bartosz Walerowicz",
    "PhoneNumber":"690042333",
    "Email":"support@weaversoft.pl",
    "Country":{
        "Name":"Polska",
        "Id":1
    },
    "Id":1
},
"DocumentNumber":{
    "DocumentType":4,
    "DocumentName":"WZ",
    "Number":1,
    "ActualPattern":"[Nazwa]/[Rok]/[Numer]",
    "Next":"WZ/2021/2",
    "Id":12
}
}

Pobieranie dokumentów WZ

Na poniższym przykładzie pobieramy dokumenty WZ z zaznaczonym filtrem (utworzone po dacie 01.09.2020r.) oraz podzielone na 2 elementy na stronę.

Pobieranie jednostek logistycznych dla właściciela

Żeby pobrać wszystkich dostawców, którzy mogą być właścicielami, trzeba użyć adresu „suppliers” z parametrem „IsOwner”.

/suppliers?IsOwner=true

W celu pobrania jednostek logistycznych przypisanych do konkretnego właściciela należy użyć adresu „logistic-units” z parametrami „IncludeAllOwners” oraz „Owners”, w których wpisujemy odpowiednio „false” i ID właściciela.

/logistic-units?IncludeAllOwners=false&Owners=1

Integracja programu Weaver WMS ze sklepem internetowym Magento

Program Weaver WMS w najnowszej wersji 2.0.342.1 został wzbogacony o możliwość integracji ze sklepem internetowym Magento.

Przed uruchomieniem integracji należy skonfigurować odpowiednio ustawienia integracji. W tym celu należy wejść w „Ustawienia” znajdujące się na pasku menu u góry ekranu, następnie rozwinąć ikonę o nazwie „Ustawienia e-commerce” i wybrać z listy opcję „Magento”.


W nowo otwartym oknie klikamy przycisk „Dodaj” znajdujący się w lewym górnym rogu w celu dodania nowego sklepu z jakim ma zostać zintegrowany system Weaver WMS. Program możemy zintegrować z dowolną liczbą sklepów jednocześnie. Wystarczy w konfiguratorze integracji wpisać odpowiednie dane dla kolejnych sklepów i informacje ze wszystkich sklepów będą spływały do jednej bazy danych.

Podczas konfigurowania ustawień dla poszczególnych sklepów musimy na kolejnych zakładkach wpisać odpowiednie dane. Pierwsza zakładka to „Ustawienia podstawowe”. Tutaj definiujemy parametry sklepu internetowego oraz wskazujemy lokalizację, z której program ma pobierać grafiki dla materiałów. Po zakończeniu w celu zweryfikowania poprawności wprowadzonych danych należy kliknąć przycisk „Test połączenia”

Na kolejnych zakładkach „Pobieranie materiałów”, „Pobierania zamówień”, „Jednostki logistyczne”, „Wysyłka stanów magazynowych” oraz „Wysyłka cen” można dostosować parametry wymiany danych pomiędzy platformami. Tutaj możemy zdefiniować między innymi:

  • czy nowe materiały dodane w Magento mają być automatycznie dodawane do WMS’a.
  • czy materiały już dodane mają być modyfikowane jeżeli zostaną zmienione w Magento.
  • czy materiały mają mieć przypisaną grupę i cechę w WMS na podstawie atrybutu z Magento.
  • czy materiały mają mieć przypisane parametry w WMS na podstawie atrybutu z Magento.
  • liczbę dni dla pobieranych zamówień.
  • czy WMS ma tworzyć rezerwację towaru dla pobranych zamówień.
  • czy WMS ma pobierać wszystkie zamówienia czy tylko dla wybranych statusów,
  • czy jeżeli wystąpi błąd podczas pobierania WMS ma dodać puste zamówienie i wyświetlić treść błędu,
  • czy WMS ma pobierać grafiki dla jednostek logistycznych z przypisaną cechą,
  • czy podczas wysyłki stanu magazynowego do Magento mają być uwzględnione rezerwacje,
  • czy stany magazynowe w Magento mają być aktualizowane dla wszystkich materiałów z WMS’a czy tylko dla tych, które są oznaczone jako „Pozycja do sklepu internetowego”,
  • czy ceny w Magento mają być aktualizowane dla wszystkich materiałów z WMS’a czy tylko dla tych, które są oznaczone jako „Pozycja do sklepu internetowego”.

Po skonfigurowaniu ustawień możemy przystąpić do uruchomienia integracji. W tym celu należy wejść w „Ustawienia” znajdujące się na pasku menu u góry ekranu, następnie kliknąć ikonę o nazwie „Zadania cykliczne” i na zakładce „Ustawienia podstawowe” zaznaczyć checkbox „Uruchom zadania cykliczne”. Wtedy usługa integracji jest uruchomiona tylko wtedy gdy uruchomiony jest program Weaver WMS.

Natomiast jeżeli zaznaczymy drugą opcję „Uruchom jako usługa Windows” wtedy integracja działa bez przerwy w tle, niezależnie od tego czy program Weaver WMS jest uruchomiony. To rozwiązanie jest polecane dla wersji wielostanowiskowych, gdzie główna baza danych znajduje się na serwerze, Wtedy usługę integracji uruchamiamy na serwerze, żeby działała cały czas w tle. Wówczas wszyscy użytkownicy mają możliwość korzystania z integracji niezależnie od siebie.

Ostatni krok to konfiguracja ustawień na zakładce „Magento”. Tutaj znowu należy kliknąć przycisk „Dodaj” i w kolejnym oknie zdefiniować:

  • wcześniej dodany sklep/ sklepy z rozwijanej listy „Nazwa konfiguracji”,
  • czy program WMS ma pobierać zamówienia ze sklepu Magento,
  • czy program WMS ma pobierać materiały ze sklepu Magento,
  • czy program WMS ma pobierać grafiki dla jednostek logistycznych,
  • czy program WMS ma pobierać zamówienia ze sklepu Magento,
  • czy program WMS ma wysyłać stany magazynowe do sklepu Magento,
  • czy program WMS ma wysyłać ceny do sklepu Magento,
  • czy program WMS ma wysyłać statusy zamówień do sklepu Magento.

Inwentaryzacja ciągła

System Weaver WMS umożliwia przeprowadzenie procesu inwentaryzacji zasadniczo na dwa sposoby:

Niniejszy wpis dotyczy przeprowadzania procesu inwentaryzacji ciągłej.

Inwentaryzację ciągłą polega na tym, że użytkownik terminala mobilnego zostanie poproszony o podanie ilości pozostałej na miejscu magazynowym lub jednostce logistycznej po procesie pobierania materiału z miejsca lub jednostki logistycznej. 

Proces inwentaryzacji ciągłej umożliwia bieżącą korektę stanów magazynowych w systemie zgodnie z rzeczywistymi ilościami znajdującymi się na miejscach magazynowych.

System umożliwia precyzyjną konfigurację ustawień inwentaryzacji ciągłej. Najprostszym scenariuszem jest uruchomienie inwentaryzacji ciągłej dla użytkownika lub roli, niezależnie od dokumentów. W tym celu należy w Ustawieniach terminala mobilnego w zakładce Inwentaryzacja ciągła wybrać opcję 

  • Wyświetlaj. Jeśli po pobraniu towaru z miejsca chcemy wyświetlić prośbę o podanie ilości.
  • Wyświetlaj i wymusza. Jeśli użytkownik terminala mobilnego ma obowiązek podania pozostałej ilości. System zablokuje dalsze operacje bez podania tejże ilości.
Ustawienia inwentaryzacji ciągłej.

Podczas pracy na urządzeniu mobilnym system po pobraniu ilości z miejsca wyświetli monit z prośbą o podanie pozostałej ilości.

Kontrola ilości – inwentaryzacja ciągla.
Kontrola ilości – potwierdzenie.

Wszystkie operacje inwentaryzacji ciągłej dostępne są w sekcji Raporty – Inwentaryzacja ciągła. Raport zawiera szereg informacji związanych z procesem inwentaryzacji.

Raport z inwentaryzacji ciągłej.

Inwentaryzacją ciągłą można również wymusić na urządzeniu mobilnym. W tym celu należy wejść w:

  • Menu -> Operacje -> Korekta ilości. Dla trybu bez jednostek logistycznych.
  • Menu -> Jednostki -> Korekta. Dla trybu jednostek logistycznych.
Korekta ilości dla miejsca i materiału.

Bardziej uporządkowany sposób przeprowadzania inwentaryzacji ciągłej polega na otwarciu dokumentu Inwentaryzacji ciągłej. Takie podejście ma następujące zalety:

  • Dokument umożliwia wybór materiałów, dla których będziemy przeprowadzali proces,
  • Każda lokalizacja zostanie odpytana jednokrotnie (chyba że wymusimy powtórne sprawdzenie),
  • Na widoku dokumentu jesteśmy informowani o postępach z inwentaryzacji ciągłej,
  • Dokument inwentaryzacji łatwo skonwertować na dokumenty Inwentaryzacja – archiwum, którym można wyeksportować do systemu nadrzędnego ERP.

Aby utworzyć dokument inwentaryzacji ciągłej należy z menu głównego wybrać Dokumenty wewnętrzne – Inwentaryzacja ciągła – Otwórz dokument. Kretor poprowadzi poprzez proces otwierania dokumentu.

Należy również pamiętać aby zaznaczyć w odpowiednich użytkownikach (rolach), w Ustawieniach terminala mobilego opcję Zgodnie z dokumentem inwentaryzacji ciągłej w zakładce Inwentaryzacja ciągła. Wówczas system odpyta o ilości wyłacznie dla pozycji znajdującym się na dokumencie inwentaryzacji ciągłej.

System na bieżąco pozwala monitorować postęp inwentaryzacji ciągłej. Wyświetla rozbieżności w ilościach i za pomocą przycisku Zleć ponowne sprawdzenie pozwala ponownie zlecić weryfikację ilości dla pozycji, przydatna funkcja w przypadku występienia robieżności.

Inwentaryzacja ciągła – dokument.

W każdej chwili można zamknąć dokument i stworzyć z niego dokument Inwentaryzacja – archiwum, który zostanie wyeksportowany do systemu nadrzędnego. Kreator archiwizacji dokumentu ciągłego umożliwia wybór materiałów oraz magazynów z systemu zewnętrznego, dla których utworzone zostaną dokumentu inwentaryzacji. 

Podczas tworzenia dokumentu Inwentaryzacja – archiwum, system pobiera aktualne ilości magazynowe, dzięki temu do systemu ERP wyeksportowane zostaną poprawne ilości wraz z magazynami. Należy zadbać tylko o zamknięcie dokumentów w systemach, tak aby były spójne.

Archwizacja dokumentu ciągłego. Możliwy jest wybór materiałów oraz zmiana ilości wraz z magazynem zewnętrznym.

Inwentaryzacja – przykład realizacji wraz z integracją z systemem ERP Soneta Enova

System Weaver WMS umożliwia przeprowadzenie procesu inwentaryzacji zasadniczo na dwa sposoby:

Niniejszy wpis dotyczy realizacji procesu Inwentaryzacji klasycznej wraz z opcjonalnym eksportem wynikowych danych do systemu nadrzędnego (w tym przypadku systemu ERP Soneta Enova).

Aby rozpocząć proces przeprowadzania inwentaryzacji należy skorzystać z kreatora otwierania inwentaryzacji. W tym celu należy wybrać opcję Dokumenty wewnętrzne -> Inwentaryzacja -> Dodaj inwentaryzację. Kreator poprowadzi poprzez proces otwierania inwentaryzacji.

Dane dokumentu inwentaryzacji.
Wybór magazynów. W przypadku integracji z systemem nadrzędnym ERP należy wybrać magazyn zewnętrzny.
Wybór miejsca magazynowych
Wybór materiałów.
Podsumowanie inwentaryzacji.
Blokowanie jednostek przez system.

Po otwarciu dokumentu inwentaryzacji można rozpocząć proces liczenia oraz realizacji inwentaryzacji na urządzeniu mobilnym. W tym celu należy upewnić się, że użytkownik mobilny posiada odpowiednie uprawnienie. 

Uprawnienia do inwentaryzacji.

Jeśli użytkownik przypisany jest do roli, wówczas uprawnienia należy przypisać do roli.

Na urządzeniu mobilnym inwentaryzacja dostępna jest w Menu główne – Inwentaryzacja.

Lista dokumentów inwentaryzacji.
Możliwe jest wyszukiwanie pozycji z listy.
Realizacja pozycji inwentaryzacji.
Zrealizowane pozycje zmieniają kolor (status).

W czasie rzeczywistym, podczas realizacji procesu inwentaryzacji dostępny jest podgląd zinwentaryzowanych oraz oczekujących pozycji w aplikacji Desktop. 

Realizacja inwentaryzacji Desktop.

Zrealizowaną inwentaryzację należy zaksięgować oraz przenieść do archiwum. Księgowanie powoduje zasadniczo dwie rzeczy:

  1. Zmianę ilości towaru w jednostkach logistycznych na miejscach w systemie.
  2. Odblokowanie jednostek logistycznych.

Po przeniesieniu do archiwum możliwe jest wyeskportowanie dokumentu do systemu nadrzędnego ERP. Proces księgowania oraz archiwizacji przedstawiony jest poniżej.

Księgowanie inwentarazycji – podsumowanie.
Księgowanie inwentaryzacji – ostrzeżenie.
Księgowanie inwentaryzacji – postęp.
Przenoszenie inwentaryzacji do archiwum.

Po przeniesieniu inwentaryzacji do archiwum jest ona dostępna w Dokumenty wewnętrzne – Inwentaryzacja archiwum.

Z tego poziomu możliwy jest eksport dokumentu do systemu nadrzędnego, jeśli serwis integracji został wdrożony. Na liście zarchiwizowanych inwentaryzacji dostępne są kolumny:

  • Kod magazynu (system zewnętrzny) – na tym magazynie systemu utworzy dokumentu inwetaryzacji.
  • Numer dokumentu (system zewnętrzny) – numer poprawnie utworzonego dokumentu inwentaryzacji w systemie nadrzędnym.
  • Błąd integracji. Treść błędu podczas dodawania dokumentu w ERP. Najczęściej będzie to brak materiału.
Archiwum inwentaryzacji – kolumny odpowiadające za integrację z ERP.

W systemie Enova dokument trafi do bufora inwentaryzacji. Należy zweryfikować ceny oraz zatwierdzić dokument.

Inwentaryzacja w systemie Enova.

Instalacja serwisu zadań cyklicznych

Do programu magazynowego Weaver WMS dostępny jest dodatek, który pozwala na cykliczne wykonywanie pewnych operacji systemowych. Przykładowo można pobierać zamówienia ze sklepu internetowego lub wysyłać mailowo powiadomienia o nowych zamówieniach.

W programie konfiguracja Zadań Cyklicznych dostępna jest z poziomu menu Ustawienia >>> Zadania cykliczne.

Ustawienia zadań cyklicznych
Ustawienia zadań cyklicznych

Aby zadania cykliczne poprawnie funkcjonowały wymagana jest konfiguracja programu do pracy z bazą danych MS SQL oraz instalacja serwisu Zadań Cyklicznych.

Serwis zadań cyklicznych można pobrać z następującej lokalizacji

http://weaversoft.pl/downloads/wms/Worker.zip

Po rozpakowaniu pliku w pierwszej kolejności należy edytować plik Weaver.Wms.WorkerService.exe.config. W pliku w sekcji connectionStrings należy podać dane umożliwiające dostęp do bazy danych MS SQL.

Ustawienia dostępu do bazy danych
Ustawienia dostępu do bazy danych

Kolejnym krokiem jest instalacja serwisu. Można tego dokonać z konsoli administracyjnej systemu Windows (cmd jako Administrator). Należy przejść do ścieżki w której rozpakowany został serwis integracji i wykonać polecenie Weaver.Wms.WorkerService.exe /install

Instalacja serwisu zadań cyklicznych
Instalacja serwisu zadań cyklicznych

Poprawność instalacji można sprawdzić w serwisach systemu Windows (Start >>> Uruchom >>> services.msc).

Serwisy w systemie Windows
Serwisy w systemie Windows

Serwis „Weaver WMS – Zaplanowane zadania” powinien mieć status Running.

Dodatkowo w programie Weaver WMS, w Zadaniach cyklicznych, w zakładce Logi, powinny pojawiać się wpisy dotyczące działania serwisu.

Zadania cykliczne - Logi
Zadania cykliczne – Logi