wms/dpmag to szablon raportu RDL drukujący dokumenty magazynowe zapisane w tabeli dpmag - przyjęcia PZ i PW oraz wydania WZ i RW. Uruchamia się go transakcją wydruk_refno.aspx z parametrem typdok=WMS/dpmag, z opcjonalną obsługą kodu kreskowego i automatycznej wysyłki e-mail.
Czym jest raport wms/dpmag
Każdy dokument magazynowy widoczny w interfejsie - PZ, PW, WZ czy RW - musi dać się także wydrukować: jako potwierdzenie przyjęcia dla dostawcy, jako dokument towarzyszący wysyłce albo jako zwykły dowód wewnętrzny do akt. Za tę część odpowiada osobny, wyspecjalizowany szablon RDL, całkowicie niezależny od formularza edycji tego samego dokumentu w przeglądarce - właśnie wms/dpmag.
Plik jest w formacie XML z rozszerzeniem RDL i edytuje się go w Microsoft Report Builder 3.x, dokładnie tak jak pozostałe raporty platformy. W odróżnieniu jednak od raportów diagnostycznych takich jak Baza_sql czy Baza_widok, których odbiorcą jest administrator, wms/dpmag trafia bezpośrednio do rąk użytkownika końcowego - magazyniera, kierowcy albo kontrahenta odbierającego towar.
Ta różnica w odbiorcy przekłada się na inne priorytety projektowe szablonu. Raport diagnostyczny może być gęsty i techniczny, bo czyta go osoba znająca strukturę systemu. Wydruk magazynowy musi być czytelny dla osoby z zewnątrz - kierowcy, który w pośpiechu porównuje liczbę palet na wydruku ze stanem faktycznym, albo pracownika kontrahenta przyjmującego dostawę. Stąd nacisk na przejrzysty układ nagłówka, wyraźne oznaczenie typu dokumentu i czytelną tabelę pozycji, a nie na kompletność techniczną.
Jeden szablon, wiele typów dokumentów
Praktyczna, wyróżniająca cecha tego konkretnego raportu jest taka, że jeden plik RDL obsługuje jednocześnie kilka różnych typów dokumentów naraz. To, czy na wydruku pojawi się nagłówek „Przyjęcie zewnętrzne”, czy „Wydanie zewnętrzne”, zależy wyłącznie od danych zapisanych w rekordzie wskazanym numerem referencyjnym - nie od wyboru innego szablonu. Raport odczytuje typ dokumentu z bazy i dopasowuje do niego odpowiedni nagłówek i układ pozycji.
Takie podejście ma wymierną korzyść utrzymaniową: poprawka układu wydruku - na przykład dodanie nowej kolumny z numerem partii towaru - wprowadzana jest raz, w jednym pliku RDL, i od razu obejmuje wszystkie typy dokumentów magazynowych, zamiast wymagać osobnej zmiany w czterech czy pięciu niezależnych szablonach.
Ma to też konsekwencję odwrotną, o której warto pamiętać przy planowaniu zmian: modyfikacja układu dla jednego typu dokumentu, jeśli nie zostanie odpowiednio uwarunkowana w samym szablonie, może niezamierzenie wpłynąć na wygląd wydruku pozostałych typów. Dlatego zmiany w tym konkretnym raporcie warto testować na przykładowym dokumencie każdego z czterech typów, zanim trafią na produkcję - koszt takiego testu jest niewielki w porównaniu z ryzykiem błędnie wyglądającego wydruku trafiającego do kontrahenta.
Jak uruchomić wydruk
Wydruk uruchamia się transakcją wydruk_refno.aspx z dwoma wymaganymi parametrami: typdok=WMS/dpmag wskazującym szablon oraz refno z numerem referencyjnym konkretnego dokumentu. Przykładowe wywołanie wygląda tak:
wydruk_refno.aspx?typdok=WMS/dpmag&refno=6365821587516811&save=pdf
Parametr save=pdf zapisuje wynik na serwerze w folderze App_Pdf, skąd użytkownik pobiera plik na żądanie. W praktyce ten adres rzadko jest wpisywany ręcznie - najczęściej kryje się pod przyciskiem „Drukuj” przypisanym do dokumentu w interfejsie, skonfigurowanym w konfiguratorze menu podobnie jak każda inna pozycja wywołująca transakcję z gotowym zestawem parametrów.
Warto odróżnić parametr save od jego braku. Bez tego parametru transakcja od razu przesyła gotowy dokument do przeglądarki, co bywa wygodne przy jednorazowym podglądzie, ale różne przeglądarki obsługują wtedy plik PDF w różny sposób - część od razu wyświetla podgląd, inne wymuszają pobranie. Parametr save=pdf ujednolica to zachowanie: plik zawsze trafia najpierw na serwer, a użytkownik pobiera go świadomym kliknięciem przycisku, niezależnie od przeglądarki czy urządzenia, z którego akurat korzysta.
Rodzina raportów wms/dpmag
wms/dpmag to podstawowy, ale nie jedyny szablon w tej rodzinie. Obok niego funkcjonuje kilka wariantów dopasowanych do konkretnych scenariuszy pracy magazynu:
| Szablon | Zastosowanie |
|---|---|
wms/dpmag | Standardowy wydruk pojedynczego dokumentu PZ, PW, WZ lub RW |
wms/dpmag_cd | Wydruk dokumentów cross-dockingowych CDP i CDW |
wms/dpmag_cd_view | Podgląd dokumentu cross-dockingowego przed zatwierdzeniem wydruku |
wms/dpmag_grid | Zestawienie wielu dokumentów w układzie tabelarycznym |
wms/dpmag_grid_asortyment | Zestawienie pozycji dokumentów pogrupowane według asortymentu |
wms/dpmag_grid_ddowod | Zestawienie dokumentów przygotowane pod dokument dowodowy |
Warianty cross-dockingowe zasługują na osobne wyjaśnienie, bo dotyczą procesu różniącego się od standardowego przyjęcia czy wydania. Cross-docking to metoda, w której towar trafia z przesyłki przychodzącej bezpośrednio na wysyłkę wychodzącą, bez pośredniego składowania na regale - stąd osobne dokumenty CDP (przyjęcie) i CDW (wydanie) oraz dedykowany im szablon wydruku.
Edycja w Report Builder
Modyfikacja układu wydruku - dodanie pola, zmiana czcionki, przesunięcie logo firmy - wykonywana jest w Microsoft Report Builder 3.x, otwierającym plik RDL bezpośrednio z serwera raportów. Zmiana zapisana i opublikowana w tym narzędziu jest widoczna natychmiast przy kolejnym wywołaniu transakcji wydruk_refno.aspx, bez potrzeby wdrażania nowej wersji aplikacji webowej.
Praktyczna konsekwencja: firma może dostosować wygląd własnych dokumentów magazynowych - dodać dane rejestrowe, zmienić układ tabeli pozycji - bez ingerencji w kod platformy, korzystając wyłącznie z narzędzia przeznaczonego do tego typu zmian.
W praktyce najczęstsze zmiany dotyczą trzech obszarów: danych firmy w nagłówku (adres, NIP, logo), układu tabeli pozycji (kolejność i szerokość kolumn, dodanie pola takiego jak numer partii czy data ważności) oraz stopki z miejscem na podpisy osób wydających i przyjmujących towar. Żadna z tych zmian nie wymaga znajomości języka programowania używanego w samej platformie - Report Builder operuje na poziomie układu graficznego i powiązań z polami zapytania, a nie kodu aplikacji.
Kody kreskowe i wysyłka e-mail
Tak jak każdy wydruk oparty na transakcji wydruk_refno.aspx, dokument z szablonu wms/dpmag może zostać wzbogacony o kod kreskowy - wystarczy dodać parametr ean ze wskazaniem grupy definicji ze skorowidza EANG, na przykład kodu identyfikującego dokument WZ.
Możliwa jest też automatyczna wysyłka wydrukowanego dokumentu e-mailem, bez ręcznego pobierania pliku przez użytkownika. Rzeczywisty przykład takiego wywołania wygląda następująco:
wydruk_refno.aspx?email=DPMAG_WZ&save=pdf&ean=dpmag&typdok=WMS/dpmag&refno=6365821587516811
Kod DPMAG_WZ wskazuje pozycję skorowidza EML z gotowym szablonem wiadomości i zapytaniem SQL wyszukującym adres odbiorcy - zwykle kontrahenta powiązanego z dokumentem. System tworzy plik, zapisuje zadanie wysyłki, a samą dostawę wiadomości realizuje w tle usługa ssJOB, bez udziału operatora poza samym zatwierdzeniem dokumentu.

Jeden przycisk, gotowe parametry
Administrator raz konfiguruje parametry wydruku w pozycji menu - użytkownik końcowy klika już tylko przycisk Drukuj.
Praktyczne zastosowania
Raport wms/dpmag pracuje w tle niemal każdego dnia pracy magazynu, obsługując kilka powtarzalnych scenariuszy:
- Potwierdzenie przyjęcia dla dostawcy - wydruk dokumentu PZ towarzyszący rozładunkowi towaru.
- Dokument towarzyszący wysyłce - wydruk WZ dołączany do palety odbieranej przez przewoźnika.
- Automatyczne powiadomienie kontrahenta - wysyłka dokumentu e-mailem od razu po zatwierdzeniu wydania, bez oddzielnej czynności operatora.
- Dowód wewnętrzny do akt - archiwizacja kopii PDF w wewnętrznym systemie dokumentacji firmy.
Warto zauważyć, że żaden z tych scenariuszy nie wymaga udziału programisty przy codziennej pracy. Raz skonfigurowany szablon i raz przypisany do niego przycisk w menu obsługują cały ruch dokumentów magazynowych - od pierwszego wydruku po tysięczny. Interwencja techniczna potrzebna jest wyłącznie przy zmianie wyglądu wydruku albo przy dodaniu nowego typu dokumentu do tabeli dpmag, co w skali typowego wdrożenia zdarza się rzadko.
Podsumowanie
wms/dpmag to wspólny szablon RDL drukujący dokumenty magazynowe PZ, PW, WZ i RW zapisane w tabeli dpmag - uruchamiany transakcją wydruk_refno.aspx z parametrem typdok wskazującym szablon i refno wskazującym konkretny dokument. Ten sam mechanizm obsługuje dodatkowo kod kreskowy na wydruku oraz automatyczną wysyłkę gotowego pliku e-mailem, korzystając z gotowego szablonu wiadomości ze skorowidza EML.
Tam, gdzie proces magazynowy obejmuje cross-docking, naturalnym rozszerzeniem jest szablon wms/dpmag_cd dedykowany dokumentom CDP i CDW, a tam, gdzie trzeba wydrukować zbiorcze zestawienie wielu dokumentów naraz zamiast jednego - warianty siatkowe z tej samej rodziny szablonów.