logo-softwarestudio-2020-600

export_xlsx.aspx

Oprogramowanie magazynowe online

Pobieranie danych z bazy danych SQL i zapisanie ich w pliku Excel pakietu Microsoft Office z formacie XLSX (od wersji Office 2007) jest możliwe za pomocą uniwersalnej transakcji export_xlsx.aspx. Transakcja pozwala na eksport dowolnych danych bez żadnego formatowania i ozdabiania i zapis w pliku xlsx.

Transakcja wymaga przy uruchomieniu podania parametru  kod wskazującego unikalny skorowidze definiujący jakie dane mają być pobrane z bazy i pod jaką nazwę plik ma zostać utworzony.

Oprogramowanie magazynowe online

Przykład uruchomienia

export_xlsx.aspx?kod=KNASO

gdzie KNASO oznacza kod skorowidza XLSX

Po utworzeniu plik XLSX można pobrać klikając na przycisk pobierz

Skorowidz XLSX

Za pomocą skorowidza określamy jakie dane mają zostać pobrane z bazy (za pomocą zapytania SQL) oraz nazwę pliku pod jaką plik zostanie zapisany w folderze /App_Xls/.

Zapytanie SQL

Można zdefiniować dowolne prawidłowe zapytanie do bazy zwracające wyniki w postaci tabeli. Przykład prostego zapytania:

select indeks, nazwaas from knaso

Zwraca dwie kolumny z tabeli knaso.

W zapytaniu można użyć zmiennych, aby wpłynąć na wyniki pobieranych danych np.:

  • @KTO – zmienna określająca zalogowanego użytkownika
  • @ODDZIAL – zmienna określająca symbol oddziału do jakiego zalogowany jest użytkownik
  • @MAGAZYN – zmienna określająca symbol magazynu do jakiego zalogowany jest użytkownik
  • @MPK – zmienna określająca symbol komórki do jakiego zalogowany jest użytkownik

Nazwa pliku

Musimy określić jak chcemy, aby plik z danymi się nazywał, może to być dowolna prawidłowa nazwa bez znaków specjalnych. Zalecamy nie korzystania w nazwie pliku ze znaków odstępu – spacji. Przykład nazwy pliku: raport.xlsx

Jeżeli nazwa pliki nie będzie się kończyła .xlsx to program automatycznie doda rozszerzenie pliku jako .xlsx

W nazwie pliku możemy użyć zmiennych aby nazwa była tworzona w sposób unikalny

  • @KTO – zostanie zastąpiona nazwą zalogowanego użytkownika.
  • @DATA – zostanie zastąpiona informację o roku, miesiącu i dniu utworzenia pliku w formacie yyyy-mm-dd
  • @CZAS – zostanie zastąpiona czasem utworzenia pliku w formacie hh-mm

Zmienne można dowolnie łączyć, przykłady użycia nazw plików ze zmiennymi:

  • @KTO_raport_knaso.xlsx
  • @KTO_raport_knkon_@DATA.xlsx
  • @DATA_@CZAS_@KTO_raport.xlsx

Jeżeli w nazwie pliku użyjemy zmiennej przekazywanej przez parametr (pierwszy znak to @ lub _) wówczas w nazwie pojawi się wartość tego parametru. Przykładowo definiujemy nazwę pliku jako:

WMS_DPMAG__TYPDOK_@KTO

a parametr jaki przekazujemy uruchamiając transakcję zawiera _TYPDOK

np. role_sys/export_xlsx.aspx?1=1&kod=WMS_DPMAG_TYPDOK&_TYPDOK=PZB

wówczas utworzony zostanie plik np. WMS_DPMAG_PZB_LOGIN.xlsx

Opcjonalny parametr

Uruchamiając transakcję możemy użyć opcjonalnego parametru

btnclose

Jeżeli wartość parametru jest ustawiona na 1 to pod przyciskiem pozwalającym na pobranie pliku będzie przycisk pozwalający na zamknięcie okna

np. export_xlsx.aspx?typ=KNASO&btnclose=1

Zastosowanie w sytuacji gdy transakcję eksportu uruchamiamy w oknie.

Przykłady zastosowań

Zestawienie dokumentów magazynowych

Ustawiamy skorowidz XLSX, kod = V_DPMAG, zapytanie do widoku SQL, nazwy kolumn zamieniamy na nazwy polskie, łatwe dla użytkownika końcowego.

SELECT [DDOWOD] ,[NRDOKUMENTU] AS [NUMER DOKUMENTU] ,[PRX] AS [RODZAJ DOKUMENTU] ,[TYPDOK] AS [TYP DOKUMENTU] ,[INDEKS] ,[NAZWAAS] AS [NAZWA ARTYKUŁU] ,[ADRES] ,[NRPALETY] AS [NUMER NOŚNIKA] ,[NRSERII] AS [NUMER PARTII] ,[TERMINWAZNOSCI] AS [DATA WAŻNOŚCI] ,[DATAPRODUKCJI] AS [DATA PRODUKCJI] ,CAST(ilosc as int) AS [ILOŚĆ] , [SKROCO] AS [KONTRAHENT] ,[MIEJSCOWOSC] AS [MIEJSCOWOŚĆ] ,[ULICA] ,[REFNO] AS [NUMER REFERENCYJNY] ,[KIEDY] ,[ODDZIAL] AS [ODDZIAŁ] FROM [v_dpmag] where ACH='1' AND ODDZIAL='@ODDZIAL' ORDER BY NRDOKUMENTU

Klauzula WHERE zawiera definicje filtrowania wg kolumny oddział, gdzie wartość zostanie wpisana w zależności do jakiego oddziału jest zalogowany użytkownik.

oraz kolumna nazwy pliku: @KTO_DPMAG

W efekcie powstaje plik adasie3078_dpmag.xlsx

plik xlsx

Pobieranie danych z określonego przedziału czasowego

Definiujemy zapytanie

SELECT [DDOWOD] ,[NRDOKUMENTU] AS [NUMER DOKUMENTU] ,[PRX] AS [RODZAJ DOKUMENTU] ,[TYPDOK] AS [TYP DOKUMENTU] ,[INDEKS] ,[NAZWAAS] AS [NAZWA ARTYKUŁU] ,[ADRES] ,[NRPALETY] AS [NUMER NOŚNIKA] ,[NRSERII] AS [NUMER PARTII] ,[TERMINWAZNOSCI] AS [DATA WAŻNOŚCI] ,[DATAPRODUKCJI] AS [DATA PRODUKCJI] ,CAST(ilosc as int) AS [ILOŚĆ] , [SKROCO] AS [KONTRAHENT] ,[MIEJSCOWOSC] AS [MIEJSCOWOŚĆ] ,[ULICA] ,[REFNO] AS [NUMER REFERENCYJNY] ,[KIEDY] ,[ODDZIAL] AS [ODDZIAŁ] FROM [v_dpmag] where ACH='1' AND ODDZIAL='@ODDZIAL' AND DDOWOD BETWEEN '@DATAOD' AND '@DATADO' ORDER BY KIEDY DESC

gdzie zmienne@DATAOD oraz @DATADO zostaną przekazane przy uruchomieniu transakcji w następujący sposób:

export_xlsx?typ=V_DPMAG&@DATAOD=2014-01-15&@DATADO=2014-10-15

W efekcie dane zostaną odfiltrowane wg dat przekazanych w parametrze uruchamiającym transakcję.

plik xlsx filtr wg dat

Dynamiczne przekazywanie parametrów

Powyższy przykład pozwala na dowolne wykonanie zapytania, gdyż każdy parametr przekazany przy uruchamianiu i zaczynający się od symbolu @ lub _ (podkreślenie)  będzie podstawiony w zapytaniu jego wartością. No dobrze, to pozwala nam filtrować dane w dowolny sposób, ale użytkownik nie będzie przecież zmieniać parametr uruchamiania transakcji ot tak. Aby zrealizować takie zadanie należy do uruchomienia transakcji wykorzystać transakcję x_run.aspx, która pozwoli użytkownikowi na wybór danych, które będą przekazane do transakcji eksportu do xlsx.

np. warunek where  typdok=’_TYPDOK’

Filtrowanie dokumentów według rodzaju

Chcemy pobrać z bazy wyłącznie dokumenty dla których w kolumnie PRX jest zapisana informacja PZ, korzystamy ze standardowego zapytania do bazy zmieniając warunek filtrowania, klauzula WHERE dodajemy PRX =’@PRX’

SELECT [DDOWOD] ,[NRDOKUMENTU] AS [NUMER DOKUMENTU] ,[PRX] AS [RODZAJ DOKUMENTU] ,[TYPDOK] AS [TYP DOKUMENTU] ,[INDEKS] ,[NAZWAAS] AS [NAZWA ARTYKUŁU] ,[ADRES] ,[NRPALETY] AS [NUMER NOŚNIKA] ,[NRSERII] AS [NUMER PARTII] ,[TERMINWAZNOSCI] AS [DATA WAŻNOŚCI] ,[DATAPRODUKCJI] AS [DATA PRODUKCJI] ,CAST(ilosc as int) AS [ILOŚĆ] , [SKROCO] AS [KONTRAHENT] ,[MIEJSCOWOSC] AS [MIEJSCOWOŚĆ] ,[ULICA] ,[REFNO] AS [NUMER REFERENCYJNY] ,[KIEDY] ,[ODDZIAL] AS [ODDZIAŁ] FROM [v_dpmag] where PRX ='@PRX' AND ACH='1' AND ODDZIAL='@ODDZIAL' AND DDOWOD BETWEEN '@DATAOD' AND '@DATADO' ORDER BY KIEDY DESC

gdzie zmienną @PRX przekażemy przy uruchomieniu transakcji w następujący sposób:

export_xlsx?typ=V_DPMAG&@DATAOD=2014-01-15&@DATADO=2014-10-15&@PRX=PZ

Jeżeli uruchomimy transakcję podając inną wartość @PRX to dane zostaną odflitrowane dla innego rodzaju dokumentów np.

export_xlsx?typ=V_DPMAG&@DATAOD=2014-01-15&@DATADO=2014-10-15&@PRX=WZ

czyli dokumenty wydania.

Pobieranie danych z innej bazy niż domyślna

Standardowo zapytanie wykonywane jest dla domyślnej bazy programu StudioSystem, można jednak za pomocą parametru connectionstring wskazać nazwę połączenia do dowolnej innej bazy np. bazy CUSTOM, np.

export_xls.aspx?kod=my_knaso&connectionstring=customConnectionString

Dane zostaną pobrane z bazy zdefiniowanej w pliku web.config pod nazwą customConnectionString

Czytaj więcej:

  • copy_knaso_kpaso.aspx

    Kopiowanie schematów kompletacji kartoteki asortymentowej może być realizowane za pomocą dedykowanej transakcji role_wms/copy_knaso_kpaso.aspx. Kopiowanie kartotek asortymentowych można wykonać za pomocą standardowej funkcji j_insert_update.aspx, ale jeżeli dodamy parametr return możemy spowodować, aby po zapisaniu nowej kartoteki program uruchomił transakcję copy_knaso_kpasp.aspx która skopiuje dane związane ze schematami kompletacji (tabela KPASO). Przykładowo w kartotece asortymentowej uruchamiamy polecenie kopiowania kartoteki role_sys/j_insert_update.aspx?refno=WMS_INS_KNASO&anuluj=0&metoda=insert&return=../role_wms/copy_knaso_kpaso.aspx?refno=@REFNO&nridasn= Po kliknięciu

    Transakcje SYS

  • export_csv.aspx

    Systemy działające w ramach StudioSystem można integrować z innymi systemami poprzez przekazywanie danych za pomocą plików z danymi. Jedną z wielu dostępnych opcji jest zapis danych do pliku tekstowego.  Uniwersalna transakcja pozwalająca na eksportowanie dowolnych danych z bazy do pliku tekstowego typu CSV, TXT. Całość konfiguracji opiera się definicje skorowidza kod CSV. Konfiguracja Konfigurację ustawia się za pomocą

    StudioSystem Transakcje SYS

  • j_xml.aspx

    Transakcja j_xml.aspx to transakcja pozwalająca na eksport wybranych danych z bazy do pliku XML. Wskazanie danych do eksportu Do wskazania danych, które mają zostać wyeksportowane służy skorowidz XML Kolumny skorowidza AktywneKod – służy do identyfikacji zdefiniowanego zapytania przy wywołaniu transkacjiKolumny – kolumny, podane po przecinku, które mają zostać wyeksportowaneTabela – nazwa tabeli, z której ma nastąpić eksportWarunek – warunek

    Transakcje SYS

  • menu_skorowidz.aspx

    Platforma StudioSystem zapewnia dużą elastyczność w zakresie analizy danych. Dzięki słownikom definiowanym przez użytkownika użytkownicy mogą definiować niestandardowe kategorie, aby szybko identyfikować i kategoryzować dane. Może to być pomocne w zawężaniu zestawów danych i identyfikowaniu trendów w dużych ilościach danych. Ponadto użytkownicy mogą również korzystać z platformy w celu zastosowania niestandardowych technik analizy do swoich

    Konfiguracja

  • x_delete.aspx

    Usuwanie danych z bazych jest możliwe za pomocą transakcji x_delete.aspx. Menu Oprogramowanie magazynowe onlinePrzykład uruchomieniaSkorowidz XLSXZapytanie SQLNazwa plikuOpcjonalny parametrPrzykłady zastosowańZestawienie dokumentów magazynowychPobieranie danych z określonego przedziału czasowegoDynamiczne przekazywanie parametrówFiltrowanie dokumentów według rodzajuPobieranie danych z innej bazy niż domyślna Transakcja x_delete.aspx pozwala usuwać trwale dane z bazy lub zmieniać oznaczenie ACH. Transakcja wymaga podania parametrów: tabela – nazwa tabeli z której

    Transakcje SYS