logo-softwarestudio-2020-600

wydruk_refno.aspx

Software House

Za pomocą transakcji RDLC\wydruk_refno.aspx realizowane są wydruki z SQL Reporting Services. Transakcja jednocześnie pozwala realizować dodatkowo kilka funkcjonalności w zależności od parametrów.

Software House

Parametry

Wymagane parametry StudioSystem

Domyślnie transakcja generuje wydruk na podstawie przekazanego identyfikatora w postaci parametru @REFNO.

Uruchomienie transakcji z wymaganymi parametrami spowoduje utworzenie w locie dokumentów PDF i przesłanie go do przeglądarki internetowej. Jednak różne przeglądarki w różny sposób realizują metodę odbioru pliku PDF. Internet Explorer standardowo pobiera plik i wyświetla go w oknie, inne przeglądarki pobierają plik i zapisują na dysku, mogą też wyświetlić podgląd w oknie przeglądarki po zainstlowaniu odpowiedniego dodatku (rozszerzenia, wtyczki). W celu wyeliminowania takiego zachowania i ujednolicenia metody pobierania wydruków można przekazać opcjonalny parametr save (patrz opis poniżej).

  • typdok – wartość parametru
  • refno – wartość parametru przekazywana jest to szablonu wydruku (RDL) jako parametr @REFNO

Opcjonalne parametry

  • name – parametr pozwala wskazać nazwę pliku jaka zostanie użyta. Do określonej nazwy pliku zostaje dodana wartość refno przekazana w parametrach. Format nazwy plik NAZWA_REFNO.
  • regexp – użycie parametru pozwala na zdefiniowanie nazwy pliku. Przykład: regexp=1. Parametry, które określają jak ma być nazwa:
    • date – data. Nazwa pliku: YYYYMMDD.
    • datetime – data i godzina. Nazwa pliku: YYYYMMDDHHMM.
    • name – określona nazwa pliku.
    • name2
    • tab + kol + defkey – występowanie wspólnie trzech parametrów oraz opcjonalnie parametru conn pozwala na zastosowanie nazwy pliku danych odczytanych z bazy. Parametr conn ma zastosowanie do określenie odczytu danych z innej bazy niż podstawowa. Opis parametrów: tab – nazwa tabeli lub widoku, kol – kolumna, defkey – wartość (pole), wg której jest znajdowana wartość, conn – nazwa connectionstring. Przykład konfiguracji: typdok=Raporty/raport_obroty&save=xls&regexp=WYDRUK&conn=CustomConnectionString&tab=raport_obroty_wydruk&kol=WYDRUK&defkey=REFNO_WYDRUK&refno=. Nazwa pliku jest odczytywana z bazy ustalanej przez CustomConnectionString (parametr conn), widoku raport_obroty_wydruk, pola WYDRUK. Rekord jest wyszukiwany (filtrowany) REFNO_WYDRUK = refno przekazywane w parametrach.
  • ean – uruchamia przed utworzeniem wydruku funkcje generowania kodów kreskowych, które zapisywane są w bazie w tabeli dpean. Wygenerowany kod kreskowy może być umieszczony na dokumencie. Wartość parametru ean to nazwa grupy definicji sposobu tworzenia kodów ean (skorowidz EANG).
  • view – dodanie parametru wymusza sposób działania polegający na wyświetleniu strony html w podglądem raportu, z poziomu którego możemy drukować i eksportować raport do różnych formatów. Rozwiązanie dedykowane jest dla raportów rozbudowanych, kaskadowych.
  • save – parametr wskazuje, że nie będzie automatycznie wysyłany plik do przeglądarki tylko zostanie wyświetlone okno z przyciskiem pozwalającym na pobranie pliku na żądanie. Plik może być generowany w formacie PDF lub XLS w zależności od wartości parametru save.
  • email – parametr w ramach działania polecenia save pozwala na zmianę sposobu udostępnienia utworzonego pliku. Domyślnie plik utworzony po stronie serwera jest gotowy do pobrania po kliknięciu przez użytkownika. Za pomocą dodatkowego parametry email do którego przekazujemy wartość kodu skorowidza EML, spowodujemy, że utworzony zostanie plik oraz nastąpi zapis w tabelach _task i _send na potrzeby automatycznego wysyłania wiadomości poprzez usługę ssJOB. Szczegóły opis poniżej.
  • delete – parametr przyjmuje wartość pdf lub xls, powoduje, że wszystkie pliki starsze niż z bieżącego dnia są usuwane z folderu App_Pdf lub App_Xls.
  • archiwum – parametr decyduje o umieszczeniu utworzonego pliku w archiwum, ścieżka zgodna z wartością parametru. Przykładowo, chcemy aby każdorazowy utworzenie pliku było zapamiętane w archiwum jako kolejne kopie dokumentu. Jako archiwum będzie folder App_Zal\@REFNO\ gdzie @REFNO to kolejny unikalny numer referencyjny np. id sprawy, id dokumentu, id kontrahenta itp. parametr przyjmuje wartość archiwum=App_Zal\@REFNO\ Więcej patrz:
  • btnclose – parametr może być wykorzystany w powiązaniu z parametrem save, jeżeli chcemy, aby oprócz przycisku POBIERZ, pojawił się także przycisk ZAMKNIJ, który po kliknięciu zamyka okno wydruku i wraca np. do rejestru x_grid.

Podstawianie parametrów do raportu

Uruchamiając transakcję wydruk_refno.aspx możemy jako parametry przekazać wartości, które chcemy przekazać bezpośrednio do raportu. Nazwy parametrów muszą zaczynać się od symbolu @ i mieć nazwę identyczną z nazwą parametru zapisanego w szablonie raportu. Przykładowo szablon drukowania masowego etykiet miejsc składowania posiada parametr @ADRES wykorzystywany do filtrowania miejsc składowania jakie mają znajdować się na wydruku (etykietkach). Można raport uruchomić w trybie podglądu z parametrem view=1 i wpisać wartość oraz kliknąć przycisk URUCHOM RAPORT. Możemy jednak chcieć automatycznie wygenerować raport z  wynikami i zapisać w formacie PDF lub EXCEL. Aby przekazać wartość parametru i raportu należy wywołać raport z parametrem np. @ADRES=0.

Dla tego wywołania pod zmienną raportu @ADRES zostanie podstawiona wartość 0.

/rdlc/wydruk_refno.aspx?typdok=WMS/knwms_nridwms_multi&save=pdf&@ADRES=0.&refno=
seryjne drukowanie etykiet podgląd pdf

W efekcie otrzymamy wydruk etykiet, których miejsCe adresowe rozpoczyna się od znaków ZERO KROPKA.

Jak dynamicznie tworzyć link do transakcji tak aby wartość zmienne @ADRES była dodawana na podstawie wyboru użytkownika?

Można osiągnąć na kilka sposób, najprościej jednak skorzystać z transakcji x_run.aspx

ustawiając skorowidz RUN i uruchamiając transakcję w przykładowy sposób:

kod=WMS_KNWMS_ETY&run=../rdlc/wydruk_refno.aspx&params=ean|knwms$typdok|WMS/knwms_nridwms_multi$save|pdf&refno=

gdzie kod WMS_KNWMS_ETY dla skorowidza RUN definiuje dodatkowy parametr @ADRES

W powyższy sposób za pomocą zmiennych @ możemy przekazywać wartości dla dowolnych parametrów jakie umieścimy w raporcie.

Przykłady użycia

  • Zwykłe uruchomienie wydruku, przekazane są dwa parametry typdok i refno, dokument jest automatycznie przesyłany do przeglądarki
/rdlc/wydruk_refo.aspx?typdok=Wydanie&refno=
  • Wydruk poprzedzony jest generowanie kodów kreskowych zgodnie z definicją słownika EANG dla typu dprek. Dokument jest automatycznie przesyłany do przeglądarki
/rdlc/wydruk_refo.aspx?ean=dprek&typdok=Wydanie&refno=
  • Wydruk jak poprzednio generuje kody kreskowe, ale utworzony dokument w formacie PDF  jest zapisywany w folderze App_Pdf i pobierany jest na żądanie po kliknięciu przez użytkownika przycisku POBIERZ
/rdlc/wydruk_refo.aspx?save=pdf&ean=dprek&typdok=Wydanie&refno=
  • Wydruk jak poprzedni, ale dodatkowo wyświetlany jest przycisk ZAMKNIJ pozwalający zamknąć okno
/rdlc/wydruk_refo.aspx?save=pdf&btnclose=1&ean=dprek&typdok=Wydanie&refno=

Przykład z wykorzystaniem transakcji x_run.aspx z przekierowaniem, gdzie wartość parametru REFNO będzie podstawiona poprzez odczyt z bazy.

../role_sys/x_run.aspx?run=/rdlc/wydruk_refno.aspx&param=save|pdf$btnclose|1$ean|dprek$typdok|wysylka_dostawca$refno|&tab=dprek&kol=nrwewnetrzny&id=refno&refno=

Przykład zapisu do pliku w formacie XLS, utworzony dokument zapisywany jest w folderze App_Xls

/rdlc/wydruk_refo.aspx?save=xls&btnclose=1&ean=dprek&typdok=Wydanie&refno=

Zapis dokumentu w archiwum

Użycie parametru archiwum pozwala na włączenie funkcji, która automatycznie po utworzeniu pliku pdf z wydrukiem zapisze jego kopię we wskazanym miejscu.

Przykładowo, chcemy aby każdy wydruk został zapisany w archiwum. Wydruk nazywa się oferta, dlatego wywołanie transakcji ustawiamy następujący sposób:

/rdlc/wydruk_refno.aspx?archiwum=App_Zal|@REFNO|Załączniki&typdok=oferta&save=pdf&refno=

Wartość parametru archiwum to wskazanie ścieżki kopii pliku. Ścieżkę podajemy rozdzielając foldery znakiem |. Możemy użyć zmiennej @REFNO jeżlei chcemy mieć zmienną ścieżkę zależną od numery referencyjnego jaki przekazujemy do raportu. W efekcie generowane pliki pdf są kopiowane do folderu np. App_Zal\123456789\Załączniki\

które można wyświetlać za pomocą standardowej transakcji załączników. Nazwa pliku w archiwum to nazwa drukowanego raportu (parametr typdok) oraz bieżąca data i godzina.

Podczas generowania nazwy pliku znak „+” w niej użyty zostanie zastąpiony znakiem spacji.

Informacja o wykonanej kopii pliku (przeniesienie do archiwum) jest odnotowane w tabeli _historia z informacją KTO, KIEDY i CO przenosił.

Wysyłanie dokumentów e-mail

email – parametr w ramach działania polecenia save pozwala na zmianę sposobu udostępnienia utworzonego pliku. Domyślnie plik utworzony po stronie serwera jest gotowy do pobrania po kliknięciu przez użytkownika. Za pomocą dodatkowego parametry email do którego przekazujemy wartość kodu skorowidza EML, spowodujemy, że utworzony zostanie plik oraz nastąpi zapis w tabelach _task i _send na potrzeby automatycznego wysyłania wiadomości poprzez usługę ssJOB.

Ustawienie skorowidza EML

  • KOD – unikalny identyfikator pozycji skorowidza, przekazywany jako wartość parametru email
  • KOD1 – kod skrzynki pocztowej za pomocą, której będzie wysłana wiadomość (patrz skorowidz KEML)
  • OPIS – Temat – treść w temacie wiadomości e-mail, można używać kodów specjalnych jak przy konfiguracji szablonów e-mail (https://studiosystem.softwarestudio.com.pl/x_mail-aspx/ Zmienne [@REFNO], [@BR] ,  [@FIELD] ) np. System WMS.net / dokument magazynowy [@FIELD:tab#dpmag;kol#TYPDOK;id#refno] / numer referencyjny: [@REFNO]
  • UWAGI – Szablon treści – ustawiamy dowolną treść wiadomości, można używać kodów specjalnych jak przy konfiguracji szablonów e-mail (https://studiosystem.softwarestudio.com.pl/x_mail-aspx/ Zmienne [@REFNO], [@BR] ,  [@FIELD] )  np. Szanowni Państwo, został wygenerowany dokument magazynowy, prosimy o kontakt z punktem sprzedaży.[@BR][@BR] Numer dokumentu: <b>[@FIELD:tab#dpmag;kol#nrdokumentu;id#refno]</b> [@BR][@BR] LOGIN: <b>[@FIELD:tab#dpmag;kol#login;id#refno]</b> [@BR][@BR][@BR]*** KONIEC *** [@BR]e-mail wysłano z systemu StudioSystem firmy SoftwareStudio Sp. z o.o.
  • SCIEZKA – Parametry – podajemy zapytanie, które zwróci nam konto mailowe adresata np. SELECT TOP(1) EMAIL FROM KNKON WHERE NRIDODN=(SELECT TOP(1) NRIDODN FROM DPMAG WHERE REFNO=[@REFNO] AND ACH<>’X’) Zapytanie musi zwracać 1 wiersz, a dane adresowe muszą być w pierwszej kolumnie.
  • SCIEZKA2 – pozwala na zdefiniowanie opcjonalnego adresata DW „do wiadomości”. Można podstawić na sztywno jeden adres np poprzez zapytanie SELECT 'kontakt@wms.net.pl’ albo poprzez zapytanie analogicznie jak przy definiowaniu adresata (kolumna UWAGI). Zapytanie musi zwracać 1 wiersz, a dane adresowe muszą być w pierwszej kolumnie.
  • KOMENTARZ – pozwala na zdefiniowanie opcjonalnego adresata UDW „ukryty do wiadomości”. Można podstawić na sztywno jeden adres np poprzez zapytanie SELECT 'magazyn@wms.net.pl’ albo poprzez zapytanie analogicznie jak przy definiowaniu adresata (kolumna UWAGI). Zapytanie musi zwracać 1 wiersz, a dane adresowe muszą być w pierwszej kolumnie.
skorowidz EML

Przykład uruchomienia

rdlc/wydruk_refno.aspx?email=DPMAG_WZ&save=pdf&ean=dpmag&typdok=WMS/dpmag&refno=6365821587516811

w efekcie zostanie wygenerowany plik PDF na podstawie szablonu RDL o nazwie WMS/dpmag

do wysłania wiadomości e-mail zostanie wykorzystana konfiguracja skorowidza PRX=EML and KOD=DPMAG_WZ

wydruk refno mail

Zapisywanie plików PDF jako załączniki

Parametr dpzal=1 powoduje, że po przygotowaniu pliku pdf z wydrukiem jest on zachowywany w archiwum jednocześnie z zapisem informacji w tabeli dpzal (załączniki)

przykładowo dla wydruku dokumentu magazynowego ustawiamy:

/rdlc/wydruk_refno.aspx?save=pdf&btnclose=1&ean=dpmag&typdok=WMS/dpmag&dpzal=1&refno=

Plik z wydrukiem zostanie skopiowany do folderu App_Zal zgodnie ze wskazaniem ścieżki i nazwy raportu, w tym wypadku /WMS/dpmag/

W tabeli dpzal dodany zostaje rekord z informacją o wygenerowaniu załączniku, oraz informacją o linku do tego pliku pdf. Dzięki temu możemy zapytaniem SQL poznać listę załączonych plików. Tabela zawiera:

  • [ROLASYS]
  • [ODDZIAL]
  • [MAGAZYN]
  • [MPK]
  • [ACH] – 1 jako zatwierdzony, X – usunięty
  • [REFNO] – numer referencyjny skojarzonego dokumentu np. dpmag.REFNO
  • [KIEDY] – data i czas zapisu w dpzal
  • [LOGIN] – login osoby dokonującej zapisu
  • [MINIATURKA] – wskazuje na ścieżkę i nazwę raportu, który generował plik pdf np. WMS/dpmag
  • [PLIK] – ścieżka i nazwa pliku załącznika np. App_Pdf/WMS/dpmag/4055000823803527.pdf
  • [TYPDOK] – wartość pdf, oznacza typ załącznika

UWAGA: rozwiązanie działa wyłącznie w trybie generowania plików pdf.

StudioSystem

Software House Platforma StudioSystem to elastyczne rozwiązanie działające na Microsoft Windows 2012 Server i bazie…

Numeracja dokumentów

Platforma StudioSystem umożliwia użytkownikom łatwe tworzenie i numerowanie dokumentów z różnymi opcjami. Zapewnia szereg formatów…

x_details.aspx

Transakcja x_details pozwala na prezentowanie użytkownikowi oprogramowania informacji dotyczących szczegółów danej kartoteki lub dokumentu. Transakcja często…

j_skorowidze.aspx

Platforma StudioSystem to potężny i wszechstronny pakiet oprogramowania używany w różnych aplikacjach programistycznych i produkcyjnych….