Instrukcja administratora > Parametryzacja systemu > Własne eksporty SQL

Drukuj

Własne eksporty SQL

Program zawiera moduł własnych eksportów SQL, umożliwiający wygenerowanie dowolnego pliku eksportowego (tekstowego, xml) za pomocą zapytań SQL. Funkcjonalność może być pomocna np. przy konstruowaniu pliku wymiany danych z systemem bankowym.

Definiowanie eksportu SQL

181471

Dostęp do definiowania eksportów SQL umożliwia pozycja menu głównego Definicje - Eksporty SQL.

Definiujemy:

Nazwa - nazwa identyfikująca nowy eksport

Tabela - nazwa tabeli w aplikacji identyfikująca okno, w którym będzie dostępny nowy eksport oraz w kontekście, której będzie konstruowane zapytanie SQL (UWAGA! nie mylić nazwy tabeli w bazie z nazwą tabeli w aplikacji; lista tabel jest dostępna tutaj Lista modułów danych i tabel)

Definicja - definicja zapytania lub polecenia SQL. Dwuklik myszy na tym polu powoduje otwarcie okna wygodnego edytora zapytań SQL

 

Przykład

1.Definicja

Nazwa - Eksport przelewów do systemu X

Tabela - PRZELEWY – oznacza, że eksport pojawi się w oknie PRZELEWY w menu Eksport danych

Definicja -

select cast(sum([Kwota]) as varchar(15))+';'+cast(count(*) as varchar(5))+';' from NPRZELEW where [X_I] in <CURIDESET>

go

select [Nazwa_odbiorcy_1]+';'+[Nazwa_odbiorcy_2]+';'+[Nr_rachunku_odbiorcy]+';'+cast([Kwota] as varchar(15))+';'+[Tytulem_1]+';' from NPRZELEW where [X_I] in <CURIDESET>

go

Pierwszy framgment (do klauzuli go) oznacza, że z tabeli NPRZELEW zostaną zsumowane pola [Kwota] oraz ilość rekordów i pokazane w pierwszej linijce pliku (zapytanie zwraca tylko 1 rekord).

Drugi fragment zwraca sformatowany łańcuch tekstowy złożony z pól [Nazwa_odbiorcy_1],[Nazwa_odbiorcy_2],[Nr_rachunku_odbiorcy],[Kwota],[Tytulem_1] z tabeli NPRZELEW rozdzielonych znakiem średnika. Ponieważ zapytanie zwraca kilka rekordów, w pliku pojawi się też taka ilość linii.

Za każdym razem w klauzuli where użyto zmiennej <CURIDESET>, która oznacza zestaw ide rekordów tabeli w oknie (czyli np. zafiltrowanej od działu do działu, albo paczkę przelewów). De facto jest to łańcuch w postaci np.'(1,2,5,8)', gdzie liczby oznaczają wartości pola [X_I] z tabeli, którą właśnie widać w oknie.

2.Wykonanie eksportu

W oknie Przelewy stojąc na jakiejś paczce przelewów klikając PPM wywołujemu Eksport danych/Eksport przelewów do systemu X. Ponieważ w oknie widać tylko przelewy z danej paczki, tylko takie zostaną wyeksportowane. Otrzymamy plik o zawartości jak poniżej:

22809.03;12;

R2bilansowy Artur;ul.Rozliczeniowa 0/0, 00-000 Wrocław-Psie Pole;0000000000000000;1948.28;Lp nr 1/O6;

R2chorobowa Barbara;ul.Płacowa 0/0, Bielany Wrocławskie, 00-000 Wrocław;0000000000000000;1851.87;Lp nr 1/O6;

R2macierzyńska Marianna;ul.Przykładowców 0/0, Wrocław-Śródmieście, 00-000 Wroc;0000000000000000;1038.66;Lp nr 1/O6;

R2nieobecna Katarzyna;ul.Sprawdzona 0/0, Wrocław-Fabryczna, 00-000 Wrocław;0000000000000000;1006.56;Lp nr 1/O6;

R2pożyczka Magdalena;ul.Firmowa 0b/0, Wrocław-Stare Miasto, 00-000 Wrocław;0000000000000000;1314.54;Lp nr 1/O6;

R2samochodzik Dariusz;ul.Księgowości 0/0, Wrocław-Krzyki, 00-000 Wrocław;0000000000000000;2665.08;Lp nr 1/O6;

R2urlopowski Jan;ul.Resetowa 0, Wrocław-Stare Miasto, 00-000 Wrocław;0000000000000000;1461.80;Lp nr 1/O6;

R2zuspodstawa Kamil;ul.Przykładowa 0/0, 00-000 Oleśnica;0000000000000000;10208.63;Lp nr 2/O6;

R2samochodzik Dariusz;ul.Księgowości 0/0, Wrocław-Krzyki, 00-000 Wrocław;0000000000000000;445.22;Lp nr 3/O6;

R2zuspodstawa Kamil;ul.Przykładowa 0/0, 00-000 Oleśnica;0000000000000000;445.22;Lp nr 3/O6;

R2samochodzik Dariusz;ul.Księgowości 0/0, Wrocław-Krzyki, 00-000 Wrocław;0000000000000000;195.54;Lp nr 4/O6;

R2urlopowski Jan;ul.Resetowa 0, Wrocław-Stare Miasto, 00-000 Wrocław;0000000000000000;227.63;Lp nr 4/O6;