Import z Excel’a (plik XLS)

Moduł konfiguracji programu StudioSystem posiada funkcjonalność pozwalającą na ustawienie parametrów do uniwersalnego importu danych do bazy SQL z plików w formacie XLS (Microsoft Excel).

konfiguracja excel schematy importu danych

 

 

Schematy importu danych

Import realizowany jest za pomocą dedykowanej transakcji (role_sys/import_xls.aspx) jednak, aby import został wykonany należy odpowiednio skonfigurować schemat za pomocą którego dane będą pobierane. Można wgrywać dowolne dane do dowolnych tabel na podstawie dowolnej liczby schematów importu danych z plików XLS.

W przykładach omówimy najczęściej wykorzystywane konfiguracje schematów importu kartotek magazynowych i kontrahentów oraz dokumenty zleceń wydań z magazynu. Za pomocą schematów można jednak przekazywać dowolne informacje w tym konfigurację oprogramowania pomiędzy różnymi instalacjami – bazami danych.

 

Schemat składa się z dwóch części zapisywanych w tabeli x_xls:

  • Nagłówka – ogólne informacje dotyczące schematu
    • AKTYWNE – możliwość wyłączenia schematu do wyboru przez użytkownika.
    • NAZWA – nazwa schematu.
    • TABELA – nazwa tabeli bazy SQL do której mają zostać dopisane dane.
    • ZAKŁADKA – numer zakładki z arkusza excela w której zapisane są dane do importu. Domyślnie jest to pierwsza zakładka numerowane od 0.
    • KOLEJNY SCHEMAT – podanie numeru referencyjnego schematu jaki ma być wykonany automatycznie jako kolejny. Zastosowanie gdy w 1 pliku excela (XLS) zapisane są dane które mają być wgrane do różnych tabel powiązanych, np. dokument zlecenia i kartoteki klientów.
    • REFNO – numer referencyjny schematu nadawany automatycznie w momencie tworzenia nowego schematu – dopisywania rekordu w tabeli.
    • ŹRÓDŁO DANYCH – domyślnie puste, powoduje zapis danych w tabeli w bazie na podstawie definicji connection string softwarestudioConnectionString, można podać inną nazwę połączenia do bazy aby dokonać zapisu w innej bazie np. customConnectionString.
    • SYSTEMOWE – oznaczenie czy dany zapis stanowi konfigurację systemową i będzie kopiowany z bazy root podczas instalacji
    • ROLASYS – możliwość oznaczenia schematu wg symbolu roli systemowej, tak aby wyświetlając transakcję importu (import_xls.aspx) móc pozwolić użytkownikowi wybrać pozycje tylko dla roli w której pracuje użytkownik
    • MAGAZYN – możliwość ograniczenia wyboru schematów importu do pozycji przypisanych do danego magazynu
    • PRX – możliwość ograniczenia wyboru schematów importu do pozycji przypisanych do oznaczenia PRX
  • Pozycji – okno otwiera się po zaznaczeniu w tabeli nagłówka schematu i wybraniu polecenia „Edytuj kolumny”
    • AKTYWNE – możliwość wyłączenia z importu określonej kolumny
    • KOLEJNOŚĆ – pozwala określić w jakiej kolejności kolumny będą przetwarzane i zapisywane w historii importu.
    • OPIS KOLUMNY – informacja co zawierać powinna kolumna
    • KOLUMNA SQL – nazwa kolumny w tabeli do której mają zostać wpisane dane
    • WARTOŚĆ – informacja jaka ma zostać wpisana do do bazy SQL
      • Wartość odczytana z tabeli w excelu podana jest wprost jako nazwa kolumny z pliku XLS – zalecane jest stosowanie tego samego nazewnictwa co w bazie SQL dla ułatwienia konfiguracji schematu i diagnostyki. Zaleca się używanie jako nazw kolumn ciągów znaków bez znaków specjalnych MINUS oraz SPACJI, zamiast spacji należy czy myślnika zaleca się używać znak podkreślenia . Czyli kolumna zawierająca kod pocztowy nie może nazywać się [KOD POCZTOWY],  a powinna [KODPOCZTOWY] lub [KOD_POCZTOWY].
      • Wartość stała wpisywana do kolumny tabeli SQL poprzedzona musi być symbolem #, np. ACH ma mieć przypisaną wartość 1, to wprowadzamy #1
      • Wartość zmienna odczytywana z kontekstu zalogowanego użytkownika poprzedzona musi być symbolem @, Odczytywany może być każdy parametr przypisany do zalogowanego użytkownika  (kolumny z tabeli _users) oraz specjalne parametry np.
        • @ROLA – kod roli do której zalogowany jest użytkownik, odczyt z tabeli _users
        • @ROLASYS – kod roli systemowej do której zalogowany jest użytkownik, odczyt z tabeli _users
        • @ODDDZIAL – symbol oddziału do którego zalogowany jest użytkownik, odczyt z tabeli _users
        • @MAGAZYN – kod magazynu w jakim pracuje użytkownik, odczyt z tabeli _users
      • Wartość uzyskiwana w wyniku działania funkcji poprzedzona znakiem $
        • $REFNO – generuje nowy unikalny numer referencyjny rekordu
        • $DOKUMENT_REFNO – pobiera numer referencyjny importu danych, wykorzystywany gdy chcemy całość importu oznaczyć wspólnym identyfikatorem, np. pozycje dokumentu zlecenia magazynowego mają być zgrupowane w jeden dokument.
        • $LICZNIK – nadaje kolejny numer dokumentu wykorzystując funkcje numeracji. Wartość wymaga wskazania parametrów pozwalających określić metodę i format zwracanego numeru, np. $LICZNIK,AAA,BBB,#RR#XXXX (http://www.programmagazyn.pl/numeracja-dokumentow-funkcja-licznik/) :
          • AAA – 3 znakowy identyfikator numeracyjny
          • BBB – 3 znakowy symbol dodawany na początku numeru
          • #RR#XXXX – format zwracanych danych funkcji licznik, gdzie RR oznacza symbol roku, a XXXX formatowanie kolejnego numeru.
        • $NRIDODN – odczytuje identyfikator kontrahenta wybranego z listy podczas importu – lista rekordów z tabeli KNKON wyświetla gdy transakcja jest uruchamiana z parametrem nridodn
        • $TEST_WYSTEPOWANIA – funkcja pozwala odczytać dowolną informację z dowolnej tabeli na podstawie wybranej kolumny. Przekazujemy 4 parametry: po przecinku za nazwą funkcji, np. odczyt identyfikatora kontrahenta na podstawie nazwy skróconej $TEST_WYSTEPOWANIA,NRIDODN,KNKON,SKROCO,NAZWA_KLIENTA
          • NRIDODN – to nazwa kolumny, której wartość chcemy odczytać, np. identyfikator kartoteki klienta
          • KNKON – nazwa tabeli z której dane będą pobrane, np. kartoteka klientów
          • SKROCO – nazwa kolumny w tabeli wg której będzie wykonywane poszukiwanie rekordu, np. nazwa skrócona
          • NAZWA_KLIENTA – nazwa kolumny w pliku excel w której przechowywana jest informacja do wyszukania np. nazwa skrócona
        • $DPCEC – funkcja pozwala zapisywać dane z kolumn tabeli excela bezpośrednio do tabeli dpcec jako cechy dla danego wiersza. Przykładowo importujemy kartoteki do których w jednej tabeli excela zapisane są cechy. Cechy te chcemy zaimportować bezpośrednio do tabeli dpcec, wykorzystujemy do tego funkcje $DPCEC. Więcej na ten temat: http://www.programmagazyn.pl/studio-system/konfiguracja/ustawienia/import-z-excela-plik-xls/funkcja-dpcec/
    • TYP DANYCH – oznaczenie w jaki sposób dane wgrywane do bazy SQL mają być formatowane
      • C – format tekstowy
      • N – format numeryczny dla wartości całkowitych (int)
      • F – format numeryczny dla wartości zmiennej (float)
      • D – format daty. Program weryfikuje czy podane dane są poprawne w formacie daty ROK-MIESIĄC-DZIEŃ.
      • B – format typu logicznego True/False. Program weryfikuję poprawność wprowadzonych danych, jeżeli dane w tabeli excel są niepoprawne to zostanie zapisana wartość false, Dopuszczalne wartości do zapisu jako True to: T, t, TAK, tak, 1, pozostałe zostaną zinterpretowane jako false.
    • WYMAGANE – oznaczenie na TAK oznacza że rekord zostanie skopiowany do bazy danych pod warunkiem że dana kolumna tabeli excel zawiera informacje, jeżeli jest pusta (brak danych) to rekord nie będzie do bazy SQL wgrany. Oznaczenie pozwala ograniczyć błędne wpisy z wierszy o brakujących danych wymaganych przez bazę SQL.

schemat importu xls nagłówek

schemat importu xls pozycje

schemat importu xls pozycja

 

 Import danych

Import wykonuje się za pomocą transakcji role_sys/import_xls.aspx

import xls

import excel

 

Transakcja pozwala na wybranie pliku do importu, wybór schematu jaki ma być użyty do wgrywania danych i opcjonalnie kontrahenta.

 

 

Parametry uruchamiania transakcji

Uruchamiając transakcję role_sys/import_xls.aspx można określić pewne zachowania

Wybór kontrahenta

Pozycja wyboru kontrahenta pojawia się wyłącznie, gdy uruchamiając transakcję import_xls.aspx wywołamy z parametrem nridodn=

np. role_sys/import_xls.aspx?nridodn=

Jeżeli parametr ma wartość pustą to wyświetlona lista pozwali na wybór kontrahenta, jeżeli jednak podany identyfikator kontrahenta (nridodn) jako wartość, to zostanie ona automatycznie ustawiona bez możliwości jej zmiany. Zastosowanie – gdy chcemy importować dane uruchamiając transakcję w kartotece kontrahenta.

np. role_sys/import_xls.aspx?nridodn=1231546

 

Wybór schematu importu

Możemy wskazać jaki schemat ma być automatycznie podstawiony, tak aby użytkownik tylko wskazał plik i mógł uruchomić import danych. W tym celu należy przekazać parametr refno i podać numer identyfikujący dany schemat importu, np. role_sys/import_xls.aspx?refno=123465790

import kartotek excel