Kontrola zapasów jest istotną częścią każdego systemu zarządzania magazynem (WMS). Inwentaryzacja lub inwentaryzacja z natury to proces polegający na dokładnym zliczeniu pozycji magazynowych w celu zapewnienia dokładności zapisów inwentaryzacyjnych. Ten proces ma kluczowe znaczenie z wielu powodów, w tym z dokładności inwentaryzacji, optymalizacji inwentaryzacji i oszczędności kosztów.
Skrypt wykorzystywany w programie WMS.net umożliwiający użytkownikowi na usunięcie dokumentu inwentaryzacji, który znajduje się w buforze.
Najbardziej podstawowy proces inwentaryzacji polega na przeliczeniu ilości towarów znajdujących się w magazynie i porównaniu ich z istniejącą ewidencją inwentaryzacyjną. Pomaga to zapewnić dokładność i zapobiega rozbieżnościom między rzeczywistą liczbą pozycji a ewidencją inwentaryzacyjną. Pozwala również kierownikowi magazynu zidentyfikować obszary, w których zapis inwentaryzacyjny może być nieprawidłowy, aby mógł wprowadzić niezbędne poprawki.
Oprócz dokładności inwentaryzacja może również pomóc w optymalizacji zapasów w magazynie. Dokonując fizycznej inwentaryzacji, kierownik magazynu może zidentyfikować obszary, w których poziom zapasów może być zbyt niski lub zbyt wysoki. Może to pomóc kierownikowi magazynu w podejmowaniu lepszych decyzji dotyczących tego, jakie zapasy zamówić i kiedy je zamówić.
Wreszcie, inwentaryzacja może pomóc w obniżeniu kosztów. Dokonując inwentaryzacji fizycznej, kierownik magazynu może zidentyfikować elementy, które są marnowane lub nie są w pełni wykorzystywane. Może to pomóc im w podejmowaniu lepszych decyzji o tym, jakie pozycje należy przechowywać w magazynie, a które należy wymienić lub usunąć. Dzięki ograniczeniu ilości odpadów inwentaryzacja może przyczynić się do obniżenia ogólnych kosztów i poprawy wydajności magazynu.
Podsumowując, inwentaryzacja jest istotną częścią każdego systemu zarządzania magazynem. Inwentaryzacja pomaga zapewnić dokładność zapisów inwentaryzacyjnych, zoptymalizować inwentaryzację i obniżyć koszty. Wykonując fizyczną inwentaryzację pozycji magazynowych, kierownik magazynu może podejmować lepsze decyzje dotyczące tego, które pozycje zachować, które pozycje wymienić lub usunąć, a także kiedy zamówić nowe zapasy. W ten sposób inwentaryzacja jest nieocenionym narzędziem dla każdego kierownika magazynu.
Opis działania
Transakcja dostępna jest w rejetrze Inwentaryzacji otwartych (w buforze) pod przyciskiem Usuń na pasku toolbar menu.
Po zaznaczeniu jednej z pozycji rejestru i wywołaniu transakcji zostanie wyświetlone okno z informacją o usunięciu danego arkusza spisu z natury:

Aby potwierdzić wykonanie działania należy wybrać przycisk Usuń. Wybranie przycisku X (prawy, góry róg) to wycofanie się z przeprowadzenia operacji.
Gdy inwentaryzacja zostanie poprawnie usunięta pojawi się odpowiedni komunikat informujący o tym, dokument zostaje przeniesiony z rejestru bufor do rejestru pozycji usuniętych (aktualizacja ACH z '0′ na 'X’), a obiekt (np.: lokalizacja, magazyn, asortyment), którego dotyczyła inwentarzyacja zostaje odblokowany (aktualizacja ACH z 'I’ na '1′)

Uruchomienie
Aby transakcja była widoczna w programie pierwszym krokiem jest dodanie skryptu do skorowidza JQS, gdzie należy podać kod oraz w kontrolce Uwagi parametry script (ścieżka, gdzie znajduje się skrypt) oraz scriptonload (funkcja, która ma zostać uruchomiona po włączeniu formularza).
Kolejnym krokiem jest wywołanie transakcji. Transakcja wywoływana jest z poziomu TOOLBAR MENU z dwoma parametrami:
- kod – gdzie podawany jest kod transakcji ze skorowidza,
- refno – identyfikator obiektu.
Przykład wywołania transakcji z parametrami:…/role_sys/jqs.aspx?kod=WMS_DPINW_DEL&refno=6372790980107319
Skrypt jqs_dpinw_delete.js
Przede wszystkim skrypt jqs_dpinw_delete.js
odpowiada za usuwanie arkusza inwentaryzacyjnego z bufora. Skrypt komunikuje się z serwerem za pomocą funkcji ssDataSQL
oraz ssExSQL
i dynamicznie generuje interfejs umożliwiający użytkownikowi potwierdzenie usunięcia arkusza. Dzięki zastosowaniu funkcji translacyjnych, skrypt dostosowuje komunikaty do wybranego języka, co poprawia czytelność interfejsu.
Inicjalizacja interfejsu
Po załadowaniu strony użytkownik widzi, że funkcja MojaOnLoad()
zostaje wywołana automatycznie. Na początku kod (w częściach zakomentowanych) sugeruje możliwość pobrania danych użytkownika, jednak te fragmenty nie są aktywne. Następnie skrypt wykonuje zapytanie przy użyciu funkcji ssDataSQL
, przekazując jako parametr identyfikator przekazany przez zmienną ssVar[1]
. Dzięki temu system pobiera dane dotyczące arkusza, a w przypadku braku wyników wyświetla komunikat o braku danych do usunięcia.
Generowanie interfejsu usuwania
Jeżeli dane są dostępne, skrypt buduje zmienną cTekst
, która zawiera dynamicznie generowany HTML. W treści pojawia się komunikat informujący o usuwaniu arkusza spisu z natury wraz z numerem dokumentu pobranym z danych (cZrodlo[0].NRDOKUMENTU
). Następnie interfejs prezentuje przycisk o etykiecie „Usuń”, który po kliknięciu wywołuje funkcję UsunDpinw()
. Po dopełnieniu operacji dodatkowo do interfejsu dodawany jest odstęp w postaci pustego div-a, co poprawia czytelność układu strony.
Wywołanie operacji usuwania
Funkcja UsunDpinw()
aktywnie wywołuje operację usunięcia arkusza poprzez funkcję ssExSQL
, przekazując jako argumenty identyfikator zapytania oraz numer referencyjny z bufora (ssVar[1]
). Wynik tej operacji jest następnie przekazywany do funkcji AddSuccessEnd()
, która obsługuje wynik usunięcia.
Obsługa wyniku operacji usuwania
Funkcja AddSuccessEnd(wynik)
analizuje otrzymany wynik. Jeśli wynik zawiera jakąkolwiek treść, skrypt wyświetla alert z informacją o błędzie, przerywając dalsze działanie. W przeciwnym przypadku skrypt dynamicznie generuje nowy fragment HTML, który informuje użytkownika, że arkusz został usunięty, a także prezentuje przycisk umożliwiający zamknięcie okna. Następnie system aktualizuje zawartość elementu formularz
i wywołuje funkcję translacyjną ssTlumaczenie()
, aby przetłumaczyć komunikaty na odpowiedni język.
Podsumowanie
Skrypt jqs_dpinw_delete.js
realizuje proces usuwania arkusza inwentaryzacyjnego z bufora poprzez dynamiczne pobieranie danych, generowanie interfejsu potwierdzającego operację oraz wywoływanie funkcji serwerowych. Dzięki zastosowaniu funkcji translacyjnych, skrypt dostosowuje komunikaty do ustawionego języka, a interfejs umożliwia użytkownikowi łatwą i bezpieczną obsługę operacji usuwania. Cały proces przebiega w sposób aktywny, zapewniając zarówno walidację danych, jak i informowanie użytkownika o wynikach operacji.
Czytaj więcej:
Dopisanie inwentaryzacji – dpinw_insert.aspx
Transakcja wykorzystywana w programach SoftwareStudio do zapisania nowej inwentaryzacji w magazynie wysokiego składowania oraz magazynie narzędzi. Przestawiana transakcja umożliwia dopisanie nowej inwentaryzacji. Polecenie Dopisz umieszczone jest na pasku poleceń zestawienia inwentaryzacji oraz w podstawowej konfiguracji Studio Magazyn WMS.net oraz Studio TCS.net jako pozycja Nowa Inwentaryzacja w grupie Inwentaryzacja. Ekran wyboru rodzaju dopisywanej inwentaryzacji Uruchomienie nowej inwentaryzacji
Usunięcie inwentaryzacji – dokumenty_operacje.js
Skrypt wykorzystywany w programie TCS.net umożliwiający użytkownikowi na usunięcie dokumentu inwentaryzacji, który znajduje się w buforze.
Zamknięcie inwentaryzacji dpinw_zamknij.aspx
Platforma StudioSystem to kompleksowe, oparte na chmurze rozwiązanie do zarządzania zapasami w wielu sklepach i magazynach. Dzięki StudioSystem sprzedawcy detaliczni mogą łatwo i dokładnie śledzić zapasy, od momentu ich wprowadzenia do magazynu, aż po dostarczenie do klientów. Eliminuje to potrzebę fizycznej inwentaryzacji w magazynie i drastycznie zmniejsza potrzebę procesów ręcznych.
Transakcje TCS aspx Inwentaryzacja Narzędziownia TCS transakcja
jqs_dpinw_insert
Skrypt jqs_dpinw_insert.js realizuje kompleksowy proces dopisywania inwentaryzacji. Na początku inicjuje i konfiguruje interfejs, pobiera dane użytkownika oraz generuje dynamiczny formularz na podstawie wybranego rodzaju inwentaryzacji. Następnie system aktywnie waliduje dane, sprawdza istnienie dokumentów w buforze oraz weryfikuje, czy dana inwentaryzacja nie została już wcześniej dopisana.
jqs_dpinw_zamknij
Skrypt jqs_dpinw_zamknij.js realizuje kompleksowy proces zamykania inwentaryzacji. Na początku dynamicznie generuje interfejs, wyświetlając dane inwentaryzacji, takie jak numer i data. Następnie skrypt sprawdza, czy inwentaryzacja zawiera pozycje bez bilansu otwarcia, co może blokować zamknięcie.