Transakcja MENU_DPMAG.ASPX?typdok=P wyświetla submenu z opcjami dokumentów przychodowych. Z jego poziomu operator przechodzi do dokumentów awiza dostawy, czyli zleceń przyjęcia, oraz do przyjęć z zewnątrz PZ. Parametr w adresie wybiera typ dokumentów, które pokaże strona.

Budowa adresu transakcji

Adres składa się z nazwy strony i parametru zapytania. Strona jest elementem witryny internetowej programu magazynowego, więc działa w przeglądarce tak jak pozostałe ekrany Studio WMS.net. Parametr po znaku zapytania przekazuje do strony wartość, od której zależy zawartość submenu.

Część adresuZnaczenie
MENU_DPMAGnazwa strony z submenu dokumentów magazynowych
.ASPXrozszerzenie strony aplikacji internetowej ASP.NET
?typdok=Pparametr zapytania, który wskazuje dokumenty przychodowe
Wynik wywołaniasubmenu z opcjami awiza dostawy i przyjęcia z zewnątrz PZ

Taki zapis pozwala jednej stronie obsługiwać różne typy dokumentów, bo o zawartości decyduje wartość parametru. Dla dokumentów przychodowych parametr przyjmuje wartość P, a wartości dla innych typów nie są przedmiotem tej strony.

Opcje submenu dokumentów przychodowych

Awizo dostawy i zlecenie przyjęcia

Dokument zlecenia przyjęcia ZPZ zapowiada dostawę, zanim towar dotrze na rampę. Nagłówek formularza zawiera cztery pola, które operator wypełnia przed przejściem do pozycji.

Studio WMS.net - pusty formularz nagłówka ZPZ zlecenie przyjęcia do magazynu z polem kontrahenta i checkbox wysoki priorytet
Formularz nagłówka ZPZ - zlecenie przyjęcia do magazynu z polem kontrahenta, numerem awizo i opcją wysokiego priorytetu

Awizacja dostaw porządkuje przyjazdy pojazdów w oknach czasowych, a zasady planowania rampy opisuje strona o awizacji dostaw.

Przyjęcie z zewnątrz PZ

Dokument PZ rejestruje fizyczne przyjęcie towaru na magazyn. Powstaje na podstawie wcześniejszego zlecenia ZPZ, a przyjęcie bezpośrednie bez zlecenia ma osobny dokument PZB. Lista przyjęć pokazuje oba typy z datą i statusem realizacji.

Studio WMS.net - sekcja Magazyn, lista dokumentów przyjęcia PZ i PZB z datą i statusem
Lista dokumentów przyjęcia PZ i PZB w Studio WMS.net - przegląd przyjęć z filtrem statusu i daty

Reguła: ZPZ zapowiada dostawę, a PZ potwierdza ją ilością i lokalizacją odłożenia. Dopóki towar nie zostanie przyjęty dokumentem PZ, stan magazynowy się nie zmienia.

Przebieg przyjęcia opisuje strona o przyjęciu do magazynu, a pełny obieg papierów strona o dokumentach magazynowych.

Dokumenty przychodowe w kolejności zdarzeń

Submenu zbiera dokumenty, które w magazynie następują po sobie. Każdy z nich zamyka inny etap przyjęcia i zostawia inny ślad w bazie. Zestawienie poniżej pokazuje, który dokument odpowiada za jaki skutek.

EtapDokumentSkutek w systemie
Zapowiedź dostawyawizo, zlecenie ZPZplan przyjęcia z kontrahentem i numerem awizo, bez zmiany stanu
Przyjęcie na podstawie zleceniaPZwzrost stanu, przypisanie lokalizacji odłożenia
Przyjęcie bez zleceniaPZBwzrost stanu bez wcześniejszego planu
Kontrola listylista przyjęćprzegląd dokumentów z datą i statusem realizacji

Oba typy przyjęcia kończą się tym samym skutkiem magazynowym, ale różnią się przygotowaniem. Przyjęcie na podstawie zlecenia pozwala porównać dostawę z planem. Przyjęcie bez zlecenia takiego porównania nie ma, więc wymaga większej uwagi przy kontroli ilości. Przy dużej liczbie dostaw dziennie różnica ta jest widoczna w czasie pracy zespołu: dostawa awizowana przechodzi przez rampę szybciej, bo operator zna oczekiwane pozycje przed otwarciem naczepy, a dostawa bez zlecenia trzeba najpierw opisać od zera.

Dwa znaczenia słowa transakcja

W programie słowo transakcja występuje w dwóch znaczeniach, które łatwo pomylić. Transakcja menu to wywołanie ekranu, na przykład submenu dokumentów przychodowych. Transakcja bazy danych to blok operacji, który SQL Server zatwierdza albo cofa jako całość. Zapis dokumentu PZ korzysta z tego drugiego mechanizmu.

BEGIN TRAN;
INSERT INTO dbo.PZNaglowki (KontrahentId, DataPrzyjecia) VALUES (@KontrahentId, SYSDATETIME());
DECLARE @PZId int = SCOPE_IDENTITY();
INSERT INTO dbo.PZPozycje (PZId, AsortymentId, Ilosc, LokalizacjaId)
VALUES (@PZId, @AsortymentId, @Ilosc, @LokalizacjaId);
UPDATE dbo.StanyLokalizacji SET Ilosc = Ilosc + @Ilosc
WHERE LokalizacjaId = @LokalizacjaId AND AsortymentId = @AsortymentId;
COMMIT;

Przykład jest ilustracyjny i nie odwzorowuje tabel produktu. Gdy któraś z instrukcji się nie powiedzie, silnik cofa wszystkie trzy zapisy, więc w bazie nie zostaje nagłówek bez pozycji ani zmiana stanu bez dokumentu. Zasady transakcji opisuje dokumentacja BEGIN TRANSACTION.

Transakcja jako wpis w tabeli administratora

Program pozwala wywoływać elementy systemu, które nazywa transakcjami. Transakcją jest dowolne wywołanie elementu witryny programu magazynowego. Może nią być także dowolna inna strona z innej witryny internetowej, na przykład dokumentacja udostępniana przez dostawcę.

Administrator ma wgląd w tabelę dostępnych transakcji. Może ją edytować oraz dopisywać nowe wpisy. Na podstawie tej tabeli konfiguruje MENU dla użytkowników programu. Warianty prezentacji menu opisuje strona o konfiguracji menu, a przykład transakcji z tabelą kontrahentów strona o transakcji KNKON_GRID.ASPX.

Parametr z adresu w zapytaniu do bazy

Wartość parametru pochodzi od klienta, więc nie wolno wklejać jej do tekstu zapytania. Przykład poniżej jest ilustracyjny i nie pokazuje schematu produktu. Procedura składowana przyjmuje typ dokumentu jako parametr i zwraca tylko te pozycje submenu, do których użytkownik ma prawo.

CREATE PROCEDURE dbo.PobierzPozycjeSubmenu
    @UzytkownikId int,
    @TypDok char(1)
AS
BEGIN
    SET NOCOUNT ON;
    SELECT t.Kod, t.Opis, t.Adres
    FROM dbo.Transakcje AS t
    JOIN dbo.UprawnieniaTransakcji AS u ON u.TransakcjaId = t.TransakcjaId
    WHERE u.UzytkownikId = @UzytkownikId
      AND t.TypDok = @TypDok
    ORDER BY t.Kolejnosc;
END;

Składnię procedur opisuje dokumentacja CREATE PROCEDURE w SQL Server.

Ostrzeżenie techniczne: ukrycie pozycji w menu nie zastępuje kontroli uprawnień. Użytkownik może wpisać adres transakcji ręcznie, więc strona sprawdza prawo dostępu przy każdym wywołaniu, a nie tylko przy budowie menu. Podział ról opisuje strona o rolach i użytkownikach w systemie WMS.

Utrzymanie tabeli transakcji

Tabela dostępnych transakcji rośnie wraz z wdrożeniem. Każdy wpis ma kod oraz adres wywołania, a przy transakcjach z parametrem także jego wartość. Opis wyjaśnia, co otwiera dana pozycja. Porządek w tej tabeli decyduje o tym, czy menu pozostaje czytelne po kilku latach pracy.

Najczęściej używane transakcje użytkownik może zebrać we własnym panelu. Opisuje to strona o menu ulubionym, a dostęp do transakcji z urządzeń mobilnych strona o aplikacji na terminal. Przy większej liczbie wpisów pomaga też stały schemat nazw, który odróżnia przyjęcia od wydań już po samym kodzie.

Submenu nie zmienia danych samo w sobie. Jest punktem wejścia do formularzy, a zapis powstaje dopiero po zatwierdzeniu dokumentu. Dlatego błąd w adresie transakcji kończy się pustym lub niewłaściwym menu, ale nie uszkadza stanów magazynowych.

Licencjonowanie i identyfikacja towaru

Licencja na procesor zamiast na użytkownika

Przy aplikacjach o dużej lub zmiennej liczbie użytkowników opłaca się rozważyć licencjonowanie na procesor. Stanowi ono alternatywę dla tradycyjnej licencji liczonej od użytkownika.

Kody kreskowe i terminal Android

Aplikacja obsługuje dowolną liczbę towarów i dokumentów magazynowych. Kod kreskowy może być dowolnym ciągiem znaków, więc magazyn nie musi zmieniać własnych oznaczeń, aby zacząć skanowanie. Magazyn, w którym obok kodów EAN funkcjonują oznaczenia własne, obsługuje je w jednym procesie i w jednej bazie. Przy przyjęciu skan zastępuje ręczne przepisywanie symbolu, więc pomyłka w jednym znaku nie trafia do dokumentu PZ. Zasady kodowania opisuje strona o kodach kreskowych, a pracę na terminalu strona o WMS na Androidzie.

Ogólny opis systemu klasy WMS znajduje się na stronie System WMS producenta. Pojęcia z tego obszaru porządkuje słownik pojęć CSCMP.

Pytania i odpowiedzi o transakcję MENU_DPMAG.ASPX

Wyświetla submenu z opcjami dokumentów przychodowych. Z poziomu submenu operator przechodzi do dokumentów awiza dostawy, czyli zleceń przyjęcia, oraz do przyjęć z zewnątrz PZ.

Przekazuje do strony typ dokumentów, które ma pokazać submenu. Wartość P oznacza dokumenty przychodowe.

Jest dowolnym wywołaniem elementu witryny internetowej programu albo dowolnej innej strony z innej witryny. Menu uruchamia takie transakcje i udostępnia je użytkownikom.

Administrator programu. Ma wgląd w tabelę dostępnych transakcji, może ją edytować i dopisywać wpisy, a następnie na jej podstawie konfiguruje menu użytkowników.

ZPZ jest zleceniem przyjęcia i zapowiada dostawę. PZ rejestruje fizyczne przyjęcie towaru na magazyn i dopiero on zmienia stan magazynowy.

Glosariusz pojęć związanych z transakcjami w menu

Transakcja menu
Wywołanie elementu witryny programu magazynowego albo innej strony internetowej, uruchamiane z poziomu menu.
MENU_DPMAG.ASPX
Strona submenu dokumentów magazynowych. Parametr typdok wybiera typ dokumentów pokazanych w submenu.
Parametr zapytania
Wartość przekazana w adresie po znaku zapytania, na przykład typdok=P, od której zależy działanie strony.
Awizo dostawy
Zapowiedź przyjazdu dostawy z numerem, kontrahentem i terminem, na której opiera się zlecenie przyjęcia.
ZPZ
Zlecenie przyjęcia do magazynu. Zapowiada dostawę i jest podstawą do wystawienia dokumentu PZ.
PZ
Przyjęcie zewnętrzne, dokument rejestrujący fizyczne przyjęcie towaru na magazyn.
PZB
Przyjęcie zewnętrzne bezpośrednie, realizowane bez wcześniejszego zlecenia ZPZ.
Tabela transakcji
Zbiór wpisów dostępnych transakcji, który administrator edytuje i z którego buduje menu użytkowników.
Licencja na procesor
Model licencjonowania zależny od liczby procesorów serwera, a nie od liczby użytkowników aplikacji.

Warto przeczytać

Projektowanie formularzy WMS bez kodu
Projektowanie formularzy WMS bez kodu: pola, walidacja, widok na terminal i zasady kontroli w bazie. Przykłady z formularzy asortymentu i dokumentu PZB.
Czytaj artykuł →
Kartoteki magazynowe w magazynie wysokiego składowania - wymiary i pakowanie towaru
Kartoteki w magazynie wysokiego składowania: SKU, EAN i jednostki miary, wymiary i pakowanie, kontrola serii oraz ceny. Przykład tabeli z indeksem w T-SQL.
Czytaj artykuł →
Sieć radiowa i skan lokalizacji w alejkach magazynu wysokiego składowania - terminal Android
Terminal radiowy w Studio WMS.net: zasięg sieci w alejkach magazynu wysokiego składowania, skan lokalizacji i nośników SSCC, kolektor Android oraz monitoring.
Czytaj artykuł →
Magazyn wysokiego składowania z systemem WMS - elementy systemu i obsługa zleceń
Magazyn wysokiego składowania z systemem WMS: elementy systemu i strategie kompletacji, moduł wydań, dostęp przez Internet oraz wskaźniki KPI. Przykład T-SQL.
Czytaj artykuł →
Program magazynowy online - system WMS w chmurze dla magazynów wysokiego składowania
Program magazynowy online Studio WMS.net: praca w przeglądarce i na terminalu Android, zlecenia ZPZ i ZWZ, sesje, role oraz wymiana danych z ERP bez instalacji.
Czytaj artykuł →
Wymiana dokumentów z ERP i SAP w magazynie wysokiego składowania - oprogramowanie magazynowe
Oprogramowanie magazynowe w magazynie wysokiego składowania: wymiana dokumentów z ERP i SAP przez XLS i WebService, kolejka w SQL Server oraz podział danych.
Czytaj artykuł →