wms/dpmag_grid_ddowod to wariant zbiorczego zestawienia dokumentów wms/dpmag_grid, w którym wiersze pogrupowano chronologicznie, według kolumny ddowod przechowującej datę dokumentu. Dokumenty zarejestrowane tego samego dnia trafiają automatycznie pod wspólny nagłówek daty, co znacznie ułatwia budowanie zestawień dziennych i dłuższych, okresowych.
Czym jest raport wms/dpmag_grid_ddowod
Obok grupowania wg asortymentu, drugim naturalnym sposobem porządkowania zbiorczego zestawienia dokumentów magazynowych jest grupowanie chronologiczne. Zamiast zbierać wiersze wokół towaru, szablon wms/dpmag_grid_ddowod zbiera je wokół daty, w której dokument został zarejestrowany.
Format pliku i mechanizm uruchamiania pozostają identyczne jak w pozostałych raportach rodziny wms/dpmag - plik RDL edytowalny w Microsoft Report Builder 3.x, uruchamiany tymi samymi transakcjami co reszta wydruków platformy. Zmienia się wyłącznie klucz grupujący zastosowany w zapytaniu i układzie raportu.
Dokumenty objęte zestawieniem pochodzą z tej samej wspólnej tabeli, w której zapisywane są wszystkie typy dokumentów magazynowych opisane w menu transakcji WMS - przyjęcia, wydania i rozchody. Dzięki temu jedno zestawienie chronologiczne potrafi objąć różne typy dokumentów zarejestrowanych tego samego dnia, bez potrzeby budowania osobnego raportu dla każdego typu z osobna.
Kolumna ddowod - data dokumentu
Nazwa szablonu pochodzi wprost od nazwy kolumny źródłowej - ddowod, standardowej w StudioSystem kolumny przechowującej datę dokumentu. Ten dokładnie sam typ kolumny, wykorzystywany konsekwentnie jako klucz grupujący, spotyka się też w innych miejscach całej platformy prezentujących dane chronologicznie - na przykład w transakcji timeline.aspx, gdzie zdarzenia prezentowane są na osi czasu, a kolumna grupująca jest zwykle konwertowana do prostego formatu daty, na przykład RRRR-MM-DD, ułatwiającego czytelne pogrupowanie wyników.
Ta spójność nazewnictwa i konwencji między różnymi mechanizmami platformy nie jest przypadkowa - ułatwia programiście rozpoznanie roli kolumny w nowym, nieznanym wcześniej zapytaniu SQL, nawet bez czytania pełnej dokumentacji danego raportu.
Warto odróżnić kolumnę ddowod od zwykłej daty utworzenia rekordu w bazie danych. Data utworzenia mówi, kiedy operator faktycznie kliknął przycisk zapisu w systemie - co przy pracy na zaległościach albo przy korekcie danych z poprzednich dni może różnić się od rzeczywistej daty zdarzenia gospodarczego. Kolumna ddowod przechowuje właśnie tę drugą wartość - datę, jaką dokument powinien nosić z punktu widzenia księgowego i operacyjnego, niezależnie od tego, kiedy dokładnie ten konkretny dokument został faktycznie wprowadzony do systemu przez operatora.
Po co grupować zestawienie chronologicznie
Grupowanie wg daty odpowiada na inny rodzaj pytania niż grupowanie wg towaru. Zamiast „co działo się z konkretnym indeksem”, chronologiczne zestawienie odpowiada na pytanie „co się działo w magazynie danego dnia” - niezależnie od tego, jakich towarów i ilu różnych dokumentów to dotyczyło.
Ten konkretny sposób patrzenia na zgromadzone dane jest szczególnie naturalny dla ról zarządczych w firmie - kierownika zmiany podsumowującego dzień pracy, dyrektora operacyjnego przeglądającego tydzień, albo działu księgowości zamykającego miesiąc rozliczeniowy. W każdym z tych przypadków jednostką analizy jest przedział czasu, a nie pojedynczy towar czy pojedynczy dokument.
Ten sposób myślenia o danych ma też swoje uzasadnienie w rytmie pracy firmy. Większość organizacji rozlicza się i planuje w powtarzalnych cyklach czasowych - zmiana, doba, tydzień, miesiąc rozliczeniowy - a nie w cyklach powiązanych z pojedynczym indeksem towarowym. Zestawienie odzwierciedlające ten naturalny rytm wymaga od jego finalnego odbiorcy zauważalnie mniej pracy interpretacyjnej niż surowa lista zorganizowana wokół osi, która nie odpowiada żadnemu konkretnemu cyklowi decyzyjnemu obowiązującemu w danej firmie.

Jedno źródło, dwa spojrzenia na dane
Te same dokumenty magazynowe można przedstawić pogrupowane wg towaru albo wg daty - w zależności od pytania, na jakie ma odpowiedzieć zestawienie.
Zestawienia dzienne i okresowe
Praktyczne zastosowanie tego konkretnego wariantu raportu zależy przede wszystkim od tego, jak szeroki przedział czasu obejmuje zapytanie SQL zasilające cały raport. Zawężenie zakresu do jednego dnia daje zestawienie dzienne - zwykle z jedną sekcją grupującą, obejmującą wszystkie dokumenty zarejestrowane tego dnia. Rozszerzenie tego samego zakresu na cały tydzień albo pełny miesiąc daje w efekcie zestawienie okresowe, z osobną sekcją grupującą na każdy pojedynczy dzień, w którym cokolwiek w ogóle zarejestrowano w systemie.
Ta sama struktura raportu obsługuje więc oba scenariusze - różnicę robi wyłącznie parametr zakresu dat przekazywany przy uruchomieniu, a nie osobny szablon dla każdej długości okresu.
W praktyce oznacza to, że administrator projektujący ten raport w Report Builder nie musi przewidywać z góry, jak długi okres użytkownicy będą chcieli analizować. Wystarczy zaprojektować jeden układ z sekcją grupującą po dacie, a to, ile takich sekcji ostatecznie pojawi się w konkretnym wydruku, zależy wyłącznie od zakresu dat przekazanego w parametrach wywołania - jedna sekcja przy zestawieniu dziennym, kilkadziesiąt przy zestawieniu za cały miesiąc.
Jak uruchomić raport
Raport uruchamia się identycznie jak pozostałe szablony rodziny wms/dpmag - transakcją raporty.aspx albo wydruk_refno.aspx, z parametrem typdok wskazującym ten konkretny wariant. W praktyce niemal zawsze towarzyszy mu dodatkowy parametr ograniczający zakres dat - bez takiego ograniczenia raport próbowałby zgrupować chronologicznie zupełnie całą historię dokumentów kiedykolwiek zarejestrowanych w systemie, co przy dłużej działającym, dojrzałym wdrożeniu prowadzi do bardzo długiego i praktycznie mało czytelnego wyniku, trudnego do przejrzenia na ekranie czy wydrukowania w rozsądnej objętości.
Różnice względem grupowania wg asortymentu
| Cecha | wms/dpmag_grid_asortyment | wms/dpmag_grid_ddowod |
|---|---|---|
| Klucz grupujący | Indeks towarowy | Kolumna ddowod (data dokumentu) |
| Odpowiada na pytanie | Co działo się z towarem | Co działo się danego dnia |
| Typowy odbiorca | Dział zakupów, magazynier | Kierownik zmiany, księgowość |
| Kluczowy parametr wywołania | Filtr po indeksie towarowym | Zakres dat |
Oba warianty czerpią z tej samej puli dokumentów zapisanych w tabeli dpmag - różni je wyłącznie sposób porządkowania wyniku, dopasowany do innego typu pytania analitycznego.
Nic nie stoi na przeszkodzie, aby w codziennej pracy korzystać z obu wariantów naprzemiennie, w zależności od tego, jakie pytanie akurat trzeba rozstrzygnąć. Dział zakupów firmy, planując kolejne zamówienie u dostawcy, sięgnie zwykle po zestawienie towarowe, żeby dokładniej ocenić rotację jednego, konkretnego indeksu towarowego. Ten sam dokładnie dział, przygotowując krótkie podsumowanie miesiąca dla zarządu firmy, sięgnie po zestawienie chronologiczne, żeby czytelnie pokazać trend liczby dokumentów rozłożony w czasie. Oba raporty opierają się na tych samych, nieduplikowanych danych źródłowych, więc nie ma ryzyka, że wnioski z jednego zestawienia zaprzeczą wnioskom z drugiego.
Praktyczne zastosowania
Zestawienie pogrupowane chronologicznie sprawdza się w kilku powtarzalnych sytuacjach zarządczych:
- Podsumowanie dnia pracy - lista wszystkich dokumentów zarejestrowanych danego dnia, do szybkiej kontroli kierownika zmiany roboczej.
- Zestawienie tygodniowe lub miesięczne - przegląd aktywności magazynu w dłuższym okresie, z podziałem na poszczególne dni.
- Wsparcie zamknięcia okresu rozliczeniowego - lista dokumentów z danego miesiąca, pogrupowana chronologicznie, ułatwiająca uzgodnienie danych z księgowością.
- Analiza sezonowości - porównanie liczby dokumentów w poszczególnych dniach albo tygodniach, pomocne przy planowaniu obsady magazynu.
Wspólnym mianownikiem tych zastosowań jest to, że odbiorca zestawienia zwykle nie interesuje się jednym konkretnym dokumentem ani jednym konkretnym towarem - patrzy na cały magazyn jako całość, w danym oknie czasowym. To zupełnie inna perspektywa niż ta, którą przyjmuje magazynier obsługujący pojedyncze przyjęcie czy wydanie, i właśnie dlatego zasługuje na osobny, dedykowany wariant raportu, zamiast próby wyciągania tych samych wniosków z płaskiej, niepogrupowanej listy dokumentów.
Podsumowanie
wms/dpmag_grid_ddowod porządkuje zbiorcze zestawienie dokumentów magazynowych chronologicznie, według kolumny ddowod przechowującej datę dokumentu. To samo podejście do grupowania danych chronologicznie spotyka się też w innych miejscach platformy, na przykład w transakcji timeline.aspx.
Razem z wariantem wms/dpmag_grid_asortyment oraz płaskim wms/dpmag_grid tworzy komplet trzech sposobów spojrzenia na tę samą pulę dokumentów magazynowych - bez grupowania, wg towaru i wg czasu - dopasowanych do różnych pytań, jakie na co dzień stawiają sobie różne działy tej samej firmy, korzystając z dokładnie tych samych, spójnych danych źródłowych.