wms/dpmag_grid to szablon RDL drukujący zbiorcze zestawienie wielu dokumentów magazynowych naraz, w układzie tabelarycznym - dokładnie jeden wiersz na jeden dokument - zamiast pojedynczego dokumentu na całą stronę, jak w przypadku standardowego szablonu wms/dpmag.
Czym jest raport wms/dpmag_grid
Nie każdy wydruk dotyczy jednego dokumentu. Czasem potrzebne jest zestawienie wielu dokumentów naraz - na przykład lista wszystkich przyjęć zarejestrowanych danego dnia, przekazywana do działu księgowości albo do kierownika zmiany jako podsumowanie pracy. Do tego dokładnie służy szablon wms/dpmag_grid, będący tabelarycznym, zbiorczym odpowiednikiem standardowego wydruku pojedynczego dokumentu.
Plik jest w formacie RDL, edytowalnym w Microsoft Report Builder 3.x, tak jak pozostałe raporty platformy. Różni go od wms/dpmag nie technologia, tylko układ danych - zamiast jednego nagłówka i jednej tabeli pozycji dla pojedynczego dokumentu, raport prezentuje wiele dokumentów jako kolejne wiersze wspólnego zestawienia.
Nazwa „grid” nie jest tu przypadkowa - odwołuje się wprost do siatki danych, w jakiej system prezentuje zestawienia tabelaryczne w całej platformie. Ten sam termin pojawia się w nazwie uniwersalnej transakcji j_grid.aspx, obsługującej większość list i rejestrów widocznych w interfejsie StudioSystem, niezależnie od modułu. Szablon wms/dpmag_grid jest więc częścią szerszej rodziny raportów prezentujących dane w tej samej, znanej użytkownikom formie tabeli, tylko przeznaczonej do wydruku, a nie do przeglądania na ekranie.
Wydruk pojedynczy a wydruk zbiorczy
Oba modele wydruku mają swoje miejsce w pracy magazynu i nie konkurują ze sobą, tylko się uzupełniają. Wydruk pojedynczy - dokument, który ma towarzyszyć konkretnej przesyłce albo zostać podpisany przez odbiorcę - musi pozostać osobnym dokumentem z czytelnym nagłówkiem. Zestawienie zbiorcze służy natomiast do zupełnie innego, odrębnego celu: szybkiego przeglądu, kontroli albo raportowania wielu operacji naraz, gdzie liczy się przede wszystkim kompletność całej listy, a nie forma pojedynczego egzemplarza dokumentu.
Próba wymuszenia jednego modelu tam, gdzie pasuje drugi, kończy się zwykle niepotrzebną pracą - drukowanie dziesiątek osobnych dokumentów tam, gdzie wystarczyłoby jedno zestawienie, albo odwrotnie, próba wyciągnięcia szczegółowych danych pojedynczego dokumentu z gęstej tabeli zbiorczej, która nie została do tego zaprojektowana.
Praktyczna wskazówka przy projektowaniu procesu: jeśli dokument ma trafić do rąk osoby spoza firmy - kierowcy, kontrahenta - niemal zawsze właściwym wyborem jest wydruk pojedynczy, bo to on ma czytelną formę samodzielnego dokumentu z podpisami i pieczątkami. Zestawienie zbiorcze zostaje wewnątrz firmy, jako narzędzie kontroli i raportowania, rzadko opuszczając magazyn w tej postaci.
Skąd pochodzi lista dokumentów
Zestawienie dokumentów do wydruku zbiorczego pochodzi z tego samego mechanizmu, który zasila każdą listę danych w StudioSystem - uniwersalnej transakcji j_grid.aspx, opisanej przy okazji mapowania widoku na kolumny. Użytkownik przegląda zestawienie dokumentów na ekranie, zaznacza interesujące go wiersze - pojedynczo albo grupowo - i uruchamia dla nich wspólny wydruk szablonem wms/dpmag_grid.
Ta zależność ma praktyczną konsekwencję: zakres danych widocznych w zestawieniu, w tym filtry i uprawnienia roli, obowiązuje też przy wydruku zbiorczym. Operator nie wydrukuje zbiorczo dokumentów spoza zakresu, do którego ma dostęp w standardowym widoku zestawienia - te same reguły widoczności danych działają identycznie w obu miejscach.
Z perspektywy bezpieczeństwa jest to rozwiązanie spójne z resztą platformy - podobnie jak w przypadku uprawnień do poszczególnych dokumentów magazynowych, nie istnieje osobna, równoległa ścieżka dostępu do danych działająca wyłącznie dla funkcji wydruku zbiorczego. Administrator nadający uprawnienia do przeglądania zestawienia automatycznie i bez dodatkowej konfiguracji określa też, co dany użytkownik może objąć wydrukiem zbiorczym.

Ten sam widok, dwa cele
Zestawienie służące do przeglądania danych na ekranie jest jednocześnie źródłem listy dokumentów do wydruku zbiorczego.
Warianty grupowania zestawienia
Sama tabela z dokumentami rzadko jest czytelna bez porządkującego grupowania, zwłaszcza przy większej liczbie wierszy. Z tego powodu obok podstawowego wms/dpmag_grid istnieją dwa warianty z gotowym grupowaniem:
| Szablon | Grupowanie według | Typowe zastosowanie |
|---|---|---|
wms/dpmag_grid | Bez grupowania - płaska lista | Prosty przegląd zaznaczonych dokumentów |
wms/dpmag_grid_asortyment | Asortyment (indeks towarowy) | Zestawienie ruchu towaru wg pozycji |
wms/dpmag_grid_ddowod | Data dokumentu (kolumna ddowod) | Zestawienie chronologiczne, np. dzienne |
Kolumna ddowod, od której wzięła swoją nazwę jeden z wariantów, to standardowa w StudioSystem kolumna daty dokumentu - ten sam typ pola wykorzystywany jest też jako klucz grupujący w innych zestawieniach chronologicznych na platformie, na przykład w transakcji timeline.aspx prezentującej zdarzenia na osi czasu.
Jak uruchomić raport
Raport uruchamia się analogicznie do pozostałych szablonów RDL - transakcją raporty.aspx albo wydruk_refno.aspx, w zależności od tego, czy wywołanie pochodzi z poziomu zestawienia j_grid, czy z osobnego przycisku w interfejsie. Parametr save pozwala zapisać wynik jako plik pdf lub xls, co przy zestawieniu zbiorczym bywa szczególnie przydatne - plik XLS z całą listą dokumentów łatwo dalej przetworzyć, przefiltrować i przeliczyć w zwykłym arkuszu kalkulacyjnym.
Projektowanie układu w Report Builder
Układ tabelarycznego zestawienia projektuje się w Microsoft Report Builder 3.x, podobnie jak wydruk pojedynczego dokumentu. Różnica leży w typie kontrolki raportu - zamiast pojedynczego bloku danych powtarzanego raz na dokument, szablon grid wykorzystuje tabelę z wierszem powtarzanym dla każdego rekordu zestawienia, opcjonalnie z sekcją grupującą wstawianą przed każdą nową wartością kolumny grupującej.
Dodanie nowej kolumny do zestawienia zbiorczego - na przykład kwoty dokumentu - wymaga zwykle dwóch kroków: rozszerzenia zapytania SQL zasilającego raport oraz dodania odpowiadającej jej kolumny w układzie tabeli w Report Builder. Sam mechanizm automatycznego dopasowania kolumn do zapytania, opisany przy okazji raportu Baza_widok_tabela, dotyczy jednak zestawień ekranowych opartych na j_grid.aspx, a nie samych szablonów RDL wydruku, które konfiguruje się ręcznie w Report Builder.
Ta różnica bywa źródłem nieporozumień przy pierwszym kontakcie z konfiguracją raportów. Ktoś przyzwyczajony do tego, że zestawienie ekranowe samo dostosowuje swoje kolumny do zmiany zapytania, może oczekiwać podobnego zachowania od szablonu wydruku - tymczasem tutaj każda zmiana wymaga świadomej edycji układu w Report Builder. Warto mieć to rozróżnienie na uwadze już na etapie planowania zmian w raportach, żeby nie liczyć na automatyzację tam, gdzie jej po prostu nie ma.
Praktyczne zastosowania
Wydruk zbiorczy dokumentów magazynowych przydaje się w kilku dość powtarzalnych sytuacjach codziennej pracy magazynu:
- Podsumowanie zmiany roboczej - zestawienie wszystkich dokumentów zarejestrowanych przez daną zmianę, do przekazania kierownikowi zmiany.
- Raport dla działu księgowości - lista dokumentów magazynowych z danego okresu rozliczeniowego, eksportowana do XLS do dalszej analizy finansowej.
- Kontrola kompletności danych - szybkie sprawdzenie, czy wszystkie oczekiwane dokumenty zostały prawidłowo zarejestrowane, bez otwierania każdego z osobna.
- Zestawienie wg asortymentu - analiza ruchu konkretnego towaru na przestrzeni wielu dokumentów, wariantem wms/dpmag_grid_asortyment.
Wspólnym mianownikiem tych scenariuszy jest to, że nikt nie potrzebuje w nich pojedynczego, sformatowanego dokumentu - potrzebna jest gęsta, kompletna lista, którą można szybko przejrzeć wzrokiem albo dalej przetworzyć poza systemem. Format tabelaryczny sprawdza się tu wyraźnie lepiej niż seria osobnych, jednostkowych wydruków, każdy ze swoim nagłówkiem i marginesami zajmującymi miejsce, które w zestawieniu zbiorczym można przeznaczyć na kolejne wiersze danych.
Podsumowanie
wms/dpmag_grid to tabelaryczny wariant wydruku dokumentów magazynowych, uzupełniający standardowy szablon wms/dpmag tam, gdzie potrzebne jest zestawienie wielu dokumentów naraz, a nie pojedynczy egzemplarz. Lista dokumentów pochodzi z tego samego mechanizmu zestawień j_grid.aspx, co pozostałe listy danych na platformie, a warianty grupujące - według asortymentu albo według daty dokumentu - wyraźnie ułatwiają odczyt większych, bardziej rozbudowanych zestawień zawierających dziesiątki wierszy.
Oba warianty grupowania, wms/dpmag_grid_asortyment i wms/dpmag_grid_ddowod, opisano szczegółowo osobno, wraz z konkretnymi scenariuszami, w których dany sposób grupowania sprawdza się najlepiej. Wybór między nimi warto podejmować świadomie, dopasowując go do pytania, na jakie zestawienie ma odpowiedzieć - inaczej grupuje się dane pod kątem analizy towaru, a inaczej pod kątem chronologii zdarzeń w magazynie.