Eksport XLSX to zadanie cykliczne usługi SSJob, generujące plik arkusza kalkulacyjnego na podstawie zdefiniowanego wcześniej źródła danych StudioSystem. Definicję eksportu przechowuje uniwersalna tabela rejestrowa x_skorowidze, a samo zadanie konfiguruje się jak większość zadań tej rodziny - wierszem w tabeli _jobs.
Czym jest eksport XLSX
Eksport XLSX to zadanie automatyzujące czynność, którą użytkownicy StudioSystem regularnie wykonują ręcznie - przygotowanie zestawienia danych w formacie arkusza kalkulacyjnego, gotowego do dalszej analizy, przesłania kontrahentowi albo zaimportowania do innego systemu. Zamiast każdorazowo eksportować dane z poziomu interfejsu, zadanie SSJob wykonuje tę czynność cyklicznie i bez udziału człowieka.
Mechanizm ten, podobnie jak synchronizacja HelpDesk, korzysta z pola PARAMETRY wskazującego nazwaną konfigurację zapisaną w osobnej tabeli, zamiast przechowywać wszystkie szczegóły bezpośrednio w wierszu zadania - dzięki temu jedna definicja eksportu może być wykorzystywana przez wiele zadań o różnym harmonogramie.
To podejście - oddzielenie definicji od samego zadania cyklicznego - powtarza się w kilku miejscach usługi SSJob, obok wspomnianej synchronizacji HelpDesk również przy weryfikacji kopii konfiguracji MikroTik odwołującej się do osobnej ewidencji backupów. Za każdym razem chodzi o tę samą zasadę - zadanie w tabeli _jobs odpowiada wyłącznie za harmonogram i powiadomienia, a właściwa logika biznesowa mieszka w dedykowanej strukturze danych, do której to zadanie się odwołuje.
Definicja eksportu w tabeli x_skorowidze
Tabela x_skorowidze to uniwersalny rejestr konfiguracji wykorzystywany w wielu miejscach platformy StudioSystem do różnych celów - identyfikowanych kolumną PRX, określającą typ przechowywanej konfiguracji. Dla definicji eksportu do formatu XLSX odpowiednie wiersze oznaczone są wartością PRX='XLSX', analogicznie do konfiguracji skrzynek pocztowych oznaczanych wartością PRX='KEML', opisanej przy okazji ogólnego mechanizmu usługi SSJob.
Takie podejście - jedna uniwersalna tabela rejestrowa obsługująca wiele niepowiązanych ze sobą typów konfiguracji - pozwala uniknąć mnożenia odrębnych tabel konfiguracyjnych dla każdej nowej funkcji platformy, kosztem konieczności filtrowania rekordów po kolumnie PRX przy każdym odczycie. Dla administratora oznacza to jedno miejsce do przejrzenia wszystkich zdefiniowanych w systemie konfiguracji, niezależnie od tego, czy dotyczą one eksportu danych, kont pocztowych czy jeszcze innych mechanizmów platformy, zamiast konieczności pamiętania, w której z wielu osobnych tabel szukać konkretnego ustawienia.
Konfiguracja w tabeli _jobs
Sam wiersz zadania w tabeli _jobs korzysta ze znanego z pozostałych zadań zestawu pól, uzupełnionego o pole wskazujące konkretną definicję eksportu:
| Pole | Znaczenie |
|---|---|
| OSTATNIOWYKONANO | Data ostatniego poprawnego wykonania zadania |
| CYKLICZNOSC | Liczbowy interwał, co jaki zadanie jest uruchamiane |
| CYKLICZNOSCTYPE | Jednostka interwału - np. minuty, godziny, dni |
| MAILPOWIADOMIENIE | Adresy e-mail, na które trafią powiadomienia o wykonaniu zadania |
| CONECTIONSTRINGNAME | Łańcuch połączeniowy wskazujący bazę danych StudioSystem |
| PARAMETRY | Wskazanie definicji eksportu z tabeli x_skorowidze, gdzie PRX='XLSX' |
Dzięki takiemu podziałowi ról administrator może stworzyć wiele zadań eksportu, każde korzystające z innej definicji zapisanej w x_skorowidze i uruchamiane według własnego, niezależnego harmonogramu.

Gotowy arkusz bez ręcznej pracy
Cykliczny eksport XLSX dostarcza aktualny arkusz danych dokładnie wtedy, gdy jest potrzebny, bez angażowania użytkownika.
Zestawienia jako źródło danych
Definicja eksportu XLSX może korzystać z tego samego mechanizmu zestawień danych, który obsługuje standardowe raportowanie w StudioSystem - predefiniowanych widoków opisanych szerzej przy okazji mechanizmu raportów RDL. Zamiast budować osobny, dedykowany zestaw zapytań wyłącznie na potrzeby eksportu, definicja może wskazywać istniejące, wcześniej przygotowane i przetestowane zestawienie.
Takie podejście ma istotną praktyczną zaletę - zmiana logiki zestawienia, na przykład dodanie nowej kolumny czy korekta filtra, automatycznie odzwierciedla się zarówno w raporcie dostępnym z poziomu interfejsu, jak i w pliku generowanym cyklicznie przez zadanie eksportu, bez konieczności utrzymywania dwóch niezależnych definicji tej samej logiki biznesowej.
Dzięki temu praca zespołu odpowiedzialnego za raportowanie i praca zespołu odpowiedzialnego za integracje danych z otoczeniem faktycznie się uzupełniają, zamiast rozjeżdżać w dwóch osobnych kierunkach - obie strony korzystają z tego samego, jednego źródła prawdy o tym, jak dokładnie mają wyglądać eksportowane dane.
Typowe zastosowania
Automatyczny eksport XLSX sprawdza się wszędzie tam, gdzie dane z StudioSystem muszą regularnie trafiać poza system, w formacie wygodnym do dalszej pracy:
- Raporty dla działu księgowości - cykliczne zestawienie dokumentów sprzedaży czy zakupu, gotowe do dalszej obróbki w arkuszu kalkulacyjnym.
- Dane dla systemów analitycznych - regularny eksport danych operacyjnych do dalszego przetwarzania poza StudioSystem.
- Zestawienia dla kontrahentów - okresowe przesyłanie klientowi lub dostawcy uzgodnionego zakresu danych we wspólnie akceptowanym formacie.
- Archiwizacja stanów magazynowych - regularny zrzut stanu kartotek towarowych w określonym momencie, przydatny przy audytach i inwentaryzacjach.
We wszystkich tych przypadkach kluczową zaletą pozostaje regularność i przewidywalność - odbiorca pliku wie, że nowa wersja pojawi się zgodnie z ustalonym harmonogramem, bez potrzeby przypominania komukolwiek o ręcznym przygotowaniu zestawienia. Tam, gdzie zamiast pełnego zestawienia potrzebne jest tylko sygnalizowanie konkretnego warunku biznesowego, lepszym rozwiązaniem bywa opisany osobno raport warunkowy JEŻELI, wysyłający zwykłą wiadomość e-mail zamiast całego pliku z danymi.
Różnica względem eksportu XML
Eksport XLSX i eksport XML, dostępny jako osobne zadanie tej samej serii, korzystają z bardzo podobnego mechanizmu konfiguracyjnego opartego na tabeli _jobs i wskazaniu definicji w tabeli x_skorowidze, różniącej się jedynie wartością kolumny PRX. Różnica leży w przeznaczeniu wynikowego pliku.
Plik XLSX powstaje z myślą o bezpośrednim odbiorze przez człowieka - otwarciu w arkuszu kalkulacyjnym, przejrzeniu, ewentualnym dalszym filtrowaniu czy sortowaniu. Format XML służy przede wszystkim do wymiany danych między systemami informatycznymi, gdzie strukturę pliku przetwarza inny program, a nie osoba czytająca zawartość bezpośrednio. Wybór formatu zależy więc od tego, kto lub co jest faktycznym odbiorcą eksportowanych danych.
W praktyce wiele wdrożeń korzysta z obu formatów jednocześnie, dla różnych odbiorców tych samych danych źródłowych - to samo zestawienie może zasilać zarówno cykliczny plik XLSX trafiający do działu księgowości, jak i równoległy eksport XML zasilający system zewnętrznego partnera biznesowego, bez potrzeby duplikowania logiki pobierania danych w dwóch osobnych miejscach.
Dobre praktyki
Kilka zasad pomaga utrzymać zadanie eksportu XLSX przejrzystym i łatwym w utrzymaniu:
- Nazewnictwo definicji w x_skorowidze - czytelna nazwa konfiguracji ułatwia identyfikację, które zadanie z czego korzysta, zwłaszcza przy wielu równoległych eksportach.
- Wykorzystanie istniejących zestawień - w miarę możliwości warto opierać eksport na już przygotowanych i wcześniej sprawdzonych widokach danych, zamiast tworzyć zupełnie nową logikę od podstaw.
- Dopasowanie cykliczności do odbiorcy - częstotliwość generowania pliku powinna odpowiadać rzeczywistej potrzebie odbiorcy, a nie być ustawiona odgórnie tak samo dla wszystkich eksportów.
- Weryfikacja powiadomień - pole MAILPOWIADOMIENIE pozwala na bieżąco kontrolować, czy zadanie eksportu rzeczywiście wykonuje się zgodnie z ustalonym wcześniej planem.
Warto też pamiętać, że eksport XLSX jest tak dobry, jak dobre jest zestawienie danych, na którym się opiera - błąd w logice widoku źródłowego przełoży się bezpośrednio na wynikowy plik, dlatego zmiany w zestawieniach wykorzystywanych przez aktywne zadania eksportu warto testować ze szczególną ostrożnością. Podobnie jak przy organizacji bazy danych, gdzie nieaktualne statystyki potrafią po cichu psuć wydajność zapytań, błędnie działający eksport XLSX długo pozostaje niezauważony, jeśli odbiorca pliku nie porówna jego zawartości z rzeczywistym stanem danych.
Podsumowanie
Eksport XLSX to zadanie SSJob automatyzujące regularne przygotowanie arkusza danych na podstawie definicji przechowywanej w tabeli x_skorowidze. Konfiguruje się je wierszem w tabeli _jobs, wskazującym konkretną definicję eksportu oraz harmonogram jego uruchamiania, dzięki czemu odbiorcy pliku - dział księgowości, kontrahent czy zewnętrzny system - otrzymują aktualne dane bez angażowania człowieka w ich przygotowanie.
Tam, gdzie odbiorcą danych jest inny system, a nie człowiek, naturalnym uzupełnieniem pozostaje analogiczne zadanie eksportu do formatu XML, korzystające z tego samego mechanizmu konfiguracyjnego tabeli _jobs i x_skorowidze. Znajomość obu mechanizmów pozwala świadomie wybrać właściwy format już na etapie planowania integracji, zamiast dopiero po fakcie przerabiać gotowy plik XLSX na potrzeby systemu, który w rzeczywistości oczekiwał ustrukturyzowanego pliku XML.