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
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ę.
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
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ą
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
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
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