wms/dpmag_grid_asortyment to wariant zbiorczego zestawienia dokumentów wms/dpmag_grid, w którym wiersze pogrupowano według indeksu towarowego. Zamiast płaskiej listy dokumentów, raport zbiera wszystkie operacje dotyczące jednego towaru pod wspólnym nagłówkiem asortymentu, ułatwiając śledzenie jego ruchu na przestrzeni wielu, często zupełnie niepowiązanych ze sobą dokumentów.
Czym jest raport wms/dpmag_grid_asortyment
Zbiorcze zestawienie dokumentów, opisane przy okazji podstawowego szablonu wms/dpmag_grid, w wersji płaskiej sprawdza się dobrze tam, gdzie liczy się kompletność listy - na przykład wszystkie dokumenty z danej zmiany roboczej. Gdy jednak pytanie brzmi zupełnie inaczej - „co dokładnie działo się z konkretnym towarem w ciągu ostatniego tygodnia” - płaska lista dokumentów wymaga żmudnego, ręcznego przeszukiwania, bo interesujące pozycje pozostają rozproszone po wielu, zupełnie różnych dokumentach.
Wariant wms/dpmag_grid_asortyment odwraca tę logikę. Zamiast porządkować dane wokół dokumentu, porządkuje je wokół towaru - wszystkie wiersze dotyczące jednego indeksu towarowego, niezależnie z jakiego dokumentu pochodzą, trafiają pod wspólny nagłówek tego indeksu.
Format pliku pozostaje bez zmian względem pozostałych raportów rodziny - RDL edytowalny w Microsoft Report Builder 3.x. To, co się zmienia, to wyłącznie zapytanie SQL zasilające raport oraz sposób, w jaki układ raportu grupuje zwrócone wiersze. Sam mechanizm uruchamiania, parametry transakcji i format wynikowego pliku pozostają całkowicie identyczne jak przy pozostałych wariantach zestawień zbiorczych.
Po co grupować zestawienie wg towaru
Grupowanie danych w raportach nie jest kosmetyką - zmienia, jakie pytania można w praktyce zadać zestawieniu bez dodatkowej pracy analitycznej. Płaska lista dokumentów odpowiada dobrze na pytanie „co zawiera dokument numer X”. Zestawienie pogrupowane wg asortymentu odpowiada na zupełnie inne pytanie: „co działo się z towarem Y, niezależnie od tego, w którym dokumencie się pojawił”.
Ta pozornie niewielka różnica ma jednak duże znaczenie praktyczne przy analizie rotacji konkretnego towaru. Magazynier albo osoba odpowiedzialna za zakupy w firmie, chcąc realnie ocenić, czy dany indeks jest wolno czy raczej szybko rotujący, potrzebuje zobaczyć wszystkie jego ruchy razem, w jednym miejscu - a nie przeszukiwać dokumenty jeden po drugim w nadziei na znalezienie wzmianek o tym konkretnym towarze.
Wyobraźmy sobie magazyn, w którym pewien indeks towarowy pojawił się w ciągu tygodnia w piętnastu różnych dokumentach - kilku przyjęciach od różnych dostawców i kilkunastu wydaniach do różnych odbiorców. Bez grupowania odpowiedź na pytanie „ile łącznie tego towaru przyjęto, a ile wydano w tym tygodniu” wymagałaby ręcznego przejrzenia wszystkich piętnastu dokumentów i zsumowania wartości samodzielnie. Z zestawieniem pogrupowanym wg asortymentu te same piętnaście wierszy widoczne jest w jednym bloku, z gotowym podsumowaniem tuż pod nim.

Jeden indeks, wiele dokumentów
Ten sam indeks towarowy z kartoteki łączy w zestawieniu wiersze pochodzące z zupełnie różnych dokumentów magazynowych.
Struktura zgrupowanego zestawienia
W układzie raportu przed każdą nową wartością kolumny grupującej - tu indeksu towarowego - wstawiana jest sekcja grupująca, zwykle z nagłówkiem pokazującym nazwę i kod towaru. Pod nią widoczne są wszystkie wiersze dokumentów dotyczące tego konkretnego indeksu, zebrane niezależnie od tego, z jakiego dokumentu PZ, PW, WZ czy RW pochodzą.
Taki układ sprawia, że długość zestawienia pozostaje taka sama jak w wariancie płaskim - liczba wierszy danych się nie zmienia - ale ich organizacja wizualna jest zupełnie inna. Zamiast ciągłej listy bez wyraźnych podziałów, czytelnik widzi serię krótszych bloków, z których każdy dotyczy jednego towaru.
Wiele implementacji tego typu raportów dodaje też podsumowanie cząstkowe na końcu każdej sekcji grupującej - na przykład sumę ilości przyjętej i wydanej dla danego indeksu w całym zestawieniu. Taka wartość, policzona automatycznie przez silnik raportu, oszczędza czytelnikowi ręcznego sumowania wierszy należących do tej samej grupy, co przy dłuższej historii ruchów danego towaru bywa realną oszczędnością czasu.
Wspólna kartoteka towarowa
Kluczem grupującym jest indeks towarowy pochodzący ze wspólnej kartoteki towarowej, z której korzystają wszystkie dokumenty magazynowe platformy - niezależnie od tego, czy chodzi o przyjęcie, wydanie czy rozchód. Ten sam indeks oznacza dokładnie tę samą pozycję asortymentową w każdym z tych dokumentów, co jest warunkiem koniecznym poprawnego grupowania - gdyby dokumenty odwoływały się do towaru inaczej w zależności od typu, zestawienie zbiorcze rozjeżdżałoby się na niespójne, trudne do porównania grupy.
Spójność ta jest bezpośrednią konsekwencją architektury opisanej w materiale o standardowym wydruku wms/dpmag - wszystkie typy dokumentów zapisywane są w jednej wspólnej tabeli dpmag i odwołują się do jednej wspólnej kartoteki towarowej, a nie do osobnych, niezależnych źródeł danych dla każdego typu dokumentu z osobna.
Ta sama kartoteka odpowiada też za czytelność nagłówka sekcji grupującej. Ponieważ raport nie grupuje po samym numerycznym kodzie indeksu, tylko odwołuje się do pełnej definicji towaru w kartotece, nagłówek każdej grupy może pokazywać pełną, zrozumiałą nazwę towaru zamiast samego identyfikatora technicznego - co znacząco ułatwia odczyt zestawienia osobie, która nie zna kodów towarowych na pamięć.
Jak uruchomić raport
Raport uruchamia się tym samym mechanizmem co pozostałe szablony RDL platformy - transakcją raporty.aspx albo wydruk_refno.aspx, w zależności od kontekstu wywołania, z parametrem typdok wskazującym konkretnie ten wariant grupujący. Zakres dokumentów objętych zestawieniem można dodatkowo zawęzić parametrami filtrującymi, na przykład po dacie albo po konkretnym magazynie, tak samo jak przy pozostałych raportach zbiorczych.
Różnice względem pozostałych wariantów grid
| Szablon | Klucz grupujący | Odpowiada na pytanie |
|---|---|---|
| wms/dpmag_grid | Brak - płaska lista | Co zawiera zbiór wybranych dokumentów |
| wms/dpmag_grid_asortyment | Indeks towarowy | Co działo się z konkretnym towarem |
| wms/dpmag_grid_ddowod | Data dokumentu (ddowod) | Co działo się w danym dniu lub okresie |
Wybór właściwego wariantu zależy wyłącznie od pytania, jakie zestawienie ma pomóc rozstrzygnąć - żaden z trzech nie jest uniwersalnie „lepszy”, każdy porządkuje te same dane pod innym kątem.
Nic nie stoi na przeszkodzie, żeby w jednym wdrożeniu korzystać ze wszystkich trzech wariantów równolegle, przypisując każdy z nich do osobnego przycisku w menu albo osobnego raportu okresowego. Dział księgowości firmy może korzystać z wariantu chronologicznego przy zamknięciu miesiąca, dział zakupów - z wariantu towarowego przy planowaniu uzupełnień, a kierownik zmiany roboczej - z wariantu płaskiego przy codziennej kontroli. Wszystkie trzy czerpią z tej samej bazy dokumentów, więc nie ma ryzyka rozjazdu danych między nimi.
Praktyczne zastosowania
Zestawienie pogrupowane wg asortymentu sprawdza się w kilku powtarzalnych sytuacjach analitycznych:
- Analiza rotacji towaru - ile razy dany indeks pojawił się w dokumentach przyjęcia i wydania w wybranym okresie.
- Kontrola pojedynczego indeksu - szybkie sprawdzenie historii ruchu konkretnego towaru bez przeszukiwania osobnych dokumentów.
- Przygotowanie do inwentaryzacji - przegląd, które indeksy miały ruch w ostatnim czasie, a które pozostawały bez zmian.
- Analiza zakupowa - ocena, które towary rotują szybko i wymagają częstszego uzupełniania stanu.
Wspólnym mianownikiem tych zastosowań jest to, że pytanie dotyczy zawsze jednego lub kilku konkretnych towarów, a nie całego zbioru dokumentów naraz. Tam, gdzie odbiorcą analizy jest dział zakupów albo osoba planująca uzupełnienia stanu, zestawienie pogrupowane wg asortymentu bezpośrednio odpowiada na pytania, którymi te osoby się posługują w codziennej pracy - bez potrzeby przepisywania danych do osobnego arkusza kalkulacyjnego i samodzielnego grupowania ich tam.
Podsumowanie
wms/dpmag_grid_asortyment porządkuje zbiorcze zestawienie dokumentów magazynowych wokół towaru, a nie dokumentu - grupując wszystkie operacje dotyczące jednego indeksu pod wspólnym nagłówkiem. Kluczem grupującym jest indeks ze wspólnej kartoteki towarowej, z której korzystają wszystkie dokumenty platformy.
Tam, gdzie potrzebne jest inne spojrzenie na te same dane - chronologiczne zamiast towarowe - naturalnym uzupełnieniem jest wariant wms/dpmag_grid_ddowod, grupujący zestawienie według daty dokumentu. Oba warianty, wraz z płaskim wms/dpmag_grid, mogą współistnieć w tym samym wdrożeniu, każdy przypisany do innego przycisku menu i odpowiadający na zupełnie inne pytanie analityczne postawione przez inny dział firmy.