Collapse AllExpand All

9. Import/eksport tabel

Funkcjonalność tego działu programu umożliwia wykonanie eksportu i importu danych zawartych w tabelach systemu Anakonda.

Aby skorzystać z tej części programu należy w oknie głównym wybrać polecenie "Administracja" ---> funkcję "Import/Eksport tabel" lub nacisnąć klawisz <F1> lub posłużyć się przyciskiem "Administracja":

Spowoduje to pojawienie się okna z poszczególnymi działami części "Administracja", w którym należy wybrać przycisk "Import/Eksport tabel" lub nacisnąć klawisz <F9>:

W ten sposób powodujemy pojawienie się okna "Import/Eksport tabel":

W oknie tym po lewej stronie znajduje się lista (grid) tabel zaczynających się od rs_, po prawej lista (grid) kolumn z wybranej tabeli. oraz kolumna 'Wybr' (boolean) domyślnie zaznaczona dla wszystkich pól. Możliwe jest odkliknięcie wybranych pól i pozostawienie zaznaczenia tylko wybranych pól.

Uwaga: nie można odznaczyć pól : firma_id, oddzial_id i okres_id (jeżeli wystepują).

EKSPORT:

Celem wykonania eksportu danych należy z listy tabel wybrać żądaną tabelę i zawarte w niej pola i następnie z Menu wybrać polecenie "Tabele" ---> funkcję "Eksport tabeli" lub nacisnąć klawisze <Ctrl> + <E> lub z paska skrótów wybrać ikonę . Pojawi się okno z wyborem kodowania:

Po wybraniu kodowania system dokona eksportu danych do pliku w formacie "csv" i wyświetli komunikat info o przebiegu procesu eksportu. Przykładowy komunikat przedstawiono poniżej:

W pole "warunek" można wpisać kod SQL taki jak po klauzuli WHERE ograniczając w ten sposób ilość eksportowanych danych.

Domyślnie plik eksportu zapisywany jest w katalogu 'anakonda/eksport' . Jeżeli nie ma takiego katalogu, zostanie on utworzony podczas pierwszego eksportu.

Domyślna nazwa pliku eksportu to : tabela+'-'+firma(bez spacji)+'-'+okres_id(bez spacji i tylko jeśli występuje w tabeli)+data+'-'+godz.i minuta+'.csv'

Należy pamiętać o wypełnieniu pola firma odpowiednim symbolem firmy, z której eksportowane będą dane.

Format pliku csv:

pierwszy wiersz - nazwy kolumn oddzielone średnikami w apostrofach wg kolejności występującej w tabeli, a więc również w prawym gridzie kolejne wiersze dane w standardzie, czyli średniki, pola tekstowe bez ograniczników, przecinek jako kropka dziesiętna, kodowanie danych w systemie iso8859-2.

Program przy eksporcie zmienia znak kolejnego wiersza na @->--. Następnie, przy imporcie tego samego pliku znak złamania wiersza zmieniany jest zwrotnie na oryginalny. Należy zwrócić na szczególną uwagę przy okazji ręcznej edycji wyeksportowanego pliku.

IMPORT:

Celem wykonania importu danych należy w polu "plik" nacisnąć klawisz <F1> lub ikonę co spowoduje wyświetlenie zawartości folderu "Eksport". Następnie z listy tabel wyeksportowanych wcześniej do katalogu anakonda/eksport wybrać żądaną tabelę, a następnie z Menu wybrać polecenie "Tabele" ---> funkcję "Import tabeli" lub nacisnąć klawisze <Ctrl> + <I> lub z paska skrótów wybrać ikonę . System wyświetli okno z możliwością wyboru kodowania oraz podglądem treści pliku.

Po wyborze odpowiedniego kodowania należy wybrać polecenie "Wybierz". System rozpocznie import.

Nie wolno zmieniać nazwy pliku, gdyż z niej pobierana jest nazwa tabeli do której będziemy importować dane. System dla wybranej tabeli wczytuje podany plik (tylko INSERT). Firma_id pobierana jest z kontrolki o nazwie Firma. Oddzial_id przepisywany bez zmian. Pole okres_id, w razie potrzeby pobierane jest domyślnie z operatora i wpisywane jest do kontrolki Okres na oknie. Stamtąd potem jest pobierane do insertów.

Podobnie pole firma_id, wartość tego pola pobierana domyślnie z operatora i wpisywana jest do kontrolki "Firma" na oknie. Stamtąd pobierana jest do insertów.

Przy eksporcie i imporcie tabel z różnych firm proponowana ścieżka postępowania to:

  1. Operator powinien być zalogowany do firmy docelowej, w której będzie importować tabele.

  2. Eksport tabeli - w oknie "Import/eksport tabel" w pole "Firma" należy wpisać firmę z której będzie eksportowana tabela.

  3. Import tabeli - w oknie "Import/eksport tabel" w pole "Firma" należy wpisać firmę do której będzie importowana tabela.

Wypełnienie pola firma_id można również zmienić w odpowiednim pliku "csv" korzystając z dostępnego edytora.

Przed właściwym importem system sprawdza, czy kolumny z pierwszego wiersza w pliku występują w tabeli.

System po zakończeniu importu raportuje: liczbę wczytanych, liczbę niewczytanych z powodu istnienia (primary key), liczbę niewczytanych z powodu innych błędów (klucze obce). W tym ostatnim przypadku system raportuje listę błędów zwróconych przez postgresql, żeby operator miał szansę na ich poprawę.

Uwaga!!!

Przy imporcie niezwykle ważne jest zachowanie odpowiedniej kolejności. Chodzi głównie o klucze tabel bazy danych.

Dla przykładu: Nie da się zaimportować rs_faktury_pozycje bez wcześniejszego zaimportowania rs_faktury, które z kolei wymagają tabeli rs_kontrahenci.

Wprowadzono mechanizm wykluczający błędy związane z kluczami obcymi tabel w bazie. Wszystkie puste teksty zmieniane są automatycznie na wartość Null.