Studio WMS.net firmy SoftwareStudio pracuje w przeglądarce, a całe przetwarzanie danych odbywa się na serwerze. Użytkownik loguje się z dowolnego komputera i widzi aktualne stany i lokalizacje towaru. Obsługa terminali radiowych i kodów kreskowych nie wymaga lokalnego klienta.

Architektura aplikacji internetowej WMS

Aplikacja internetowa WMS (ang. web-based Warehouse Management System) składa się z kilku warstw, a każda ma jedno zadanie. Przeglądarka wyświetla ekran i przekazuje kliknięcia. Serwer WWW przyjmuje żądanie, aplikacja ASP.NET wykonuje logikę, a baza MS SQL Server zapisuje wynik.

W takim układzie nowe stanowisko oznacza uruchomienie przeglądarki i logowanie. Wdrożenie kolejnego oddziału sprowadza się do nadania kont, bo dane i reguły biznesowe znajdują się w jednym miejscu. Wersję bazy SQL Server 2012 i nowszą wymaga aplikacja, a ta sama technologia pozwala na funkcje zbliżone do programu okienkowego.

WarstwaZadanieCo się dzieje przy zapisie operacji
Przeglądarka lub terminalwyświetlenie ekranu i skanwysyła potwierdzenie operatora do serwera
Serwer WWWprzyjęcie żądania i obsługa sesjiprzekazuje dane do aplikacji
Aplikacja ASP.NETreguły dokumentów i lokalizacjisprawdza zgodność operacji ze stanem
Baza MS SQL Serverprzechowanie stanów i historiizapisuje ruch w transakcji

Odczyt w przeglądarce i zapis z terminala w jednej bazie

Kierownik otwiera raport stanów w tej samej chwili, w której dziesięciu operatorów zapisuje pobrania. Przy domyślnym poziomie izolacji READ COMMITTED odczyt czeka na zakończenie zapisu, który blokuje wiersz. Raport zwalnia wtedy kompletację albo odwrotnie.

Wersjonowanie wierszy rozwiązuje ten konflikt. Po włączeniu opcji READ_COMMITTED_SNAPSHOT odczyt dostaje ostatnią zatwierdzoną wersję wiersza i nie czeka na blokadę zapisu. Poniższy przykład jest ilustracyjny i nie pokazuje konfiguracji produktu.

ALTER DATABASE MagazynDemo
SET READ_COMMITTED_SNAPSHOT ON
WITH ROLLBACK IMMEDIATE;

-- odczyt stanu bez czekania na blokady zapisu
SELECT LokalizacjaId, IndeksId, SUM(Ilosc) AS Stan
FROM dbo.StanyLokalizacji
GROUP BY LokalizacjaId, IndeksId;

Różnice między poziomami izolacji opisuje dokumentacja SET TRANSACTION ISOLATION LEVEL, a mechanizm wersjonowania wyjaśnia przewodnik po blokadach i wersjonowaniu wierszy.

Zatwierdzenie dokumentu jako jedna transakcja

Zatwierdzenie dokumentu zmienia status dokumentu i stan lokalizacji, a do tego dopisuje wiersz historii ruchu. Jeśli połączenie przerwie się w połowie zapisu, magazyn nie może zostać z częścią zmian. Dlatego te zapisy obejmuje jedna transakcja, a błąd cofa ją w całości.

BEGIN TRY
    BEGIN TRAN;
    UPDATE dbo.DokumentyWZ SET Status = 'Zatwierdzony' WHERE DokumentId = @DokumentId;
    UPDATE dbo.StanyLokalizacji SET Ilosc = Ilosc - @Ilosc
    WHERE LokalizacjaId = @LokalizacjaId AND IndeksId = @IndeksId;
    INSERT dbo.HistoriaRuchow (DokumentId, LokalizacjaId, Ilosc, Czas)
    VALUES (@DokumentId, @LokalizacjaId, -@Ilosc, SYSDATETIME());
    COMMIT;
END TRY
BEGIN CATCH
    IF @@TRANCOUNT > 0 ROLLBACK;
    THROW;
END CATCH;

Przykład ma charakter ilustracyjny. Pokazuje zasadę, według której operacja kończy się w całości albo wcale, a użytkownik w przeglądarce dostaje komunikat o błędzie zamiast niespójnego stanu.

Rejestracja dokumentów w przeglądarce

Użytkownik przegląda i rejestruje dokumenty przyjęć i wydań bez lokalnego klienta. Przesunięcia między lokalizacjami zapisuje się tak samo. Formularz zlecenia ma nagłówek z kontrahentem i terminem, a pozycje dodaje się z wyszukiwarki asortymentu. Stan aktualizuje się po zatwierdzeniu dokumentu, nie wcześniej.

Wyszukiwarka dokumentów obejmuje wszystkie typy, od zleceń po dokumenty rozchodu. Wynik zawęża się po typie i przedziale dat, a w razie potrzeby także do jednego kontrahenta. Z listy otwiera się dokument albo jego wydruk. Pełny obieg opisuje strona o dokumentach magazynowych, a ostatni etap strona o wydaniu z magazynu.

Studio WMS.net - sekcja Magazyn, wyszukiwarka dokumentów z filtrami typu, daty i kontrahenta
Wyszukiwarka dokumentów w Studio WMS.net filtruje po typie, dacie, kontrahencie i statusie realizacji

Magazyn wysokiego składowania do 30 metrów

Za magazyn wysokiego składowania uznaje się obiekt z regałami wyższymi niż 7,5 metra, obsługiwany wózkami wysokiego masztu albo układnicami. Towar leży na wielu poziomach, więc sam numer alejki nie wystarcza do jego znalezienia. System zapisuje adres w układzie pionowym, z numerem alejki i poziomu.

Aplikacja obsługuje regały sięgające nawet 30 metrów. W takim obiekcie błąd lokalizacji kosztuje poszukiwanie na wysokości, a brak aktualnych danych zatrzymuje wózek przy niewłaściwym gnieździe. Układ opisuje strona o zarządzaniu magazynem wysokiego składowania, a graficzną mapę lokalizacji strona o wizualizacji magazynu.

Studio WMS.net - dashboard z wykresami kołowymi zleceń i dokumentów magazynowych oraz rankingiem kontrahentów
Ekran główny Studio WMS.net: wykresy statusów zleceń i dokumentów oraz ranking kontrahentów wg liczby palet

Terminale radiowe i sieć Wi-Fi

Terminal radiowy, zwany też kolektorem danych, ma czytnik kodów i moduł Wi-Fi albo Bluetooth. Operator potwierdza przyjęcie albo kompletację przy regale, a dane trafiają do serwera od razu. Kody 1D i 2D przyspieszają identyfikację i eliminują wpisywanie indeksu z klawiatury.

Przed wdrożeniem trzeba przygotować sieć w całym obiekcie. Systemy WMS udostępniają diagnostykę połączeń, więc administrator IT szybko znajduje martwe strefy i przesuwa punkty dostępowe. Sprzęt i aplikację mobilną opisuje strona o WMS na Androidzie.

Kody kreskowe stoją także na miejscach składowania. Etykieta na gnieździe pozwala potwierdzić, że paleta trafiła pod właściwy adres, bo operator skanuje najpierw lokalizację, a potem towar. System odrzuca parę, która nie zgadza się z dokumentem, więc pomyłka kończy się komunikatem na ekranie, a nie błędem w stanach. Zasady budowy kodów opisuje strona o kodach kreskowych w magazynie.

Reguła: zasięg Wi-Fi mierzy się na każdym poziomie regału, a nie tylko przy podłodze. Terminal na wysokości kilkunastu metrów odbiera sygnał inaczej niż ten sam model w alejce.

Rozbudowa o nowe stanowiska i oddziały

Przy rosnącej firmie liczą się dwa koszty: czas uruchomienia stanowiska i spójność danych między lokalizacjami. W modelu przeglądarkowym oba maleją, bo konto użytkownika i uprawnienia ustawia się centralnie. Pracownik nowego oddziału loguje się do tego samego systemu i widzi stany tych magazynów, do których ma dostęp.

Centralne zarządzanie zapasami w czasie rzeczywistym wspiera pracę wielooddziałową. Kierownik porównuje obiekty w jednym raporcie, a handlowiec sprawdza dostępność towaru w dowolnym z nich przed potwierdzeniem zamówienia.

Przed uruchomieniem oddziału ustala się, kto tworzy dokumenty, a kto je tylko zatwierdza. Podział ról zapobiega sytuacji, w której jedna osoba zleca wydanie i sama je akceptuje, a w historii operacji zostaje czytelny ślad każdej decyzji.

Wersje językowe interfejsu

W zespołach wielonarodowościowych język obsługi ma wpływ na liczbę pomyłek. Funkcja Multi Language pozwala pracować w języku ojczystym operatora. Interfejs występuje po angielsku i niemiecku, a pracownicy z Ukrainy korzystają z wersji ukraińskiej. Opis mechanizmu zawiera strona o wielojęzyczności w WMS.

Integracja z systemami ERP

Zamówienia klientów trafiają z ERP do WMS automatycznie, a po kompletacji i wydaniu stan aktualizuje się w obu systemach. Unika się w ten sposób rozbieżności między dokumentacją handlową a rzeczywistym stanem regałów. Studio WMS.net współpracuje między innymi z systemem Humansoft HermesSQL, a przykład połączenia opisuje strona o integracji z Humansoft HermesSQL.

Platforma sprawdza się także w sklepach internetowych, które realizują zamówienia bez rozbudowanej infrastruktury magazynowej. Ewidencja i dokumenty wychodzą z przeglądarki, a przepływ towaru śledzi się w jednym miejscu. Zakres funkcji podstawowych opisuje strona o programie magazynowym online.

Bezpieczeństwo pracy i opakowania zwrotne

Ruch wózków widłowych w magazynie wysokiego składowania zwiększa ryzyko kolizji. Monitoring pozycji wózków i pieszych w czasie rzeczywistym ogranicza straty w regałach i towarze, a ogólne wymagania BHP określa rozporządzenie w sprawie BHP. Zagadnienie opisuje też strona o bezpieczeństwie w magazynie.

Reguła: saldo palet u dostawcy i odbiorcy uzgadnia się cyklicznie. Różnica wykryta po kilku miesiącach oznacza opakowania, których nie da się już odzyskać.

Aplikacja ewidencjonuje także salda palet i kontenerów u dostawców i odbiorców. Dzięki ewidencji opakowania się nie gubią, a firma nie kupuje nowych jednostek bez potrzeby.

Efektywna kalkulacja zysku w logistyce - Studio WMS.net
Kalkulacja zysku netto w Studio WMS.net: od ceny sprzedaży odejmuje się pełne koszty operacyjne, a nie tylko cenę zakupu

Rachunek rentowności uwzględnia czas pracy i opakowania, które proste porównanie ceny sprzedaży z ceną zakupu pomija. System wiąże zdarzenia magazynowe z kosztem finansowym, więc marża wynika z faktycznej pracy magazynu, a nie z założeń przyjętych przy wycenie.

Pytania i odpowiedzi o aplikację internetową WMS

Połączenie jest szyfrowane protokołem SSL, a dostęp chroni uwierzytelnianie i uprawnienia przypisane do roli. Każdy użytkownik widzi tylko dane potrzebne do jego zadań. Kopie zapasowe wykonuje się w ramach administracji serwera.

Wystarczy urządzenie z przeglądarką, czyli komputer, laptop, tablet albo smartfon. W magazynie zaleca się terminale radiowe ze skanerem, które czytają kody 1D i 2D i wysyłają dane do serwera od razu.

Tak. System zapisuje adres lokalizacji w układzie wielopoziomowym i obsługuje regały sięgające nawet 30 metrów. Operator dostaje na terminalu alejkę i poziom miejsca składowania.

Przy domyślnym poziomie izolacji długi odczyt może czekać na blokady zapisu. Włączenie wersjonowania wierszy w SQL Server pozwala czytać ostatnią zatwierdzoną wersję bez czekania, co zmniejsza konflikty między biurem a halą.

Studio WMS.net integruje się z systemami ERP, na przykład z Humansoft HermesSQL. Zamówienia przechodzą do WMS, a po wydaniu stan aktualizuje się w obu systemach.

Glosariusz pojęć związanych z aplikacją internetową WMS

Aplikacja internetowa WMS
System zarządzania magazynem działający na serwerze i obsługiwany przez przeglądarkę, bez instalacji lokalnego klienta.
Terminal radiowy
Przenośne urządzenie z czytnikiem kodów i łącznością Wi-Fi albo Bluetooth, zapisujące operacje w czasie rzeczywistym.
Magazyn wysokiego składowania
Obiekt z regałami zwykle wyższymi niż 7,5 metra, obsługiwany wózkami wysokiego masztu albo układnicami.
READ COMMITTED
Domyślny poziom izolacji SQL Server, w którym odczyt widzi tylko zatwierdzone dane i może czekać na blokady zapisu.
Wersjonowanie wierszy
Mechanizm, w którym serwer przechowuje poprzednie wersje wierszy, aby odczyt nie czekał na blokady zapisu.
Multi Language
Funkcja pracy w języku wybranym przez operatora, ograniczająca pomyłki w zespołach wielonarodowościowych.
Integracja WMS z ERP
Automatyczna wymiana zamówień, stanów i dokumentów między systemem magazynowym a systemem handlowo-finansowym.
Opakowania zwrotne
Palety i kontenery krążące między dostawcą, magazynem i odbiorcą, których salda trzeba ewidencjonować.

Warto przeczytać

Zebra wytrzymały dotykowy komputer mobilny MC9300
Komputer mobilny Zebra MC9300: skaner o zasięgu do 21,4 m, bateria PowerPrecision+, wymienna klawiatura, wersje do mroźni i strefy Ex. Praca ze Studio WMS.net
Czytaj artykuł →
Programy do zarządzania magazynem i wydajna optymalizacja Studio WMS.net
Programy do zarządzania magazynem Studio WMS.net z perspektywy kierownika: podział prac, wskaźniki zmiany, SaaS czy własny serwer, sprzęt i zapytanie T-SQL.
Czytaj artykuł →
Zebra skaner RS2100 Bluetooth
Skaner Zebra RS2100 Bluetooth waży 31 g i ma 14,6 mm wysokości. Sprawdź łączność, klasę IP54, Device Tracker i pracę na stacji pakowania ze Studio WMS.net.
Czytaj artykuł →
Masa palety i nośność gniazda w regale wysokiego składowania - ważenie przy przyjęciu
Wagi paletowe OHAUS w Studio WMS.net: masa palety a nośność gniazda w regale wysokiego składowania, RS-232 i Ethernet, tolerancja odchyłek oraz klasy palet EUR.
Czytaj artykuł →
SAP Connector w magazynie wysokiego składowania - księgowanie ruchu towarowego z aplikacji .NET
SAP Connector w magazynie wysokiego składowania: kanał RFC, web service lub IDoc, parametry BAPI_GOODSMVT_CREATE oraz symulacja zlecenia z kontrolą ATP.
Czytaj artykuł →
Definicja numeru seryjnego w systemie WMS - ewidencja i śledzenie produktów w magazynie
Definicja numeru seryjnego: czym różni się od partii, SKU i SSCC, jak zapisuje go standard GS1 i jak system WMS pilnuje jego unikalności w bazie SQL Server.
Czytaj artykuł →