Przewodnik wdrożeniowca > Import danych z systemu zewnętrznego do eDokumenty

Strona główna Integracji

  1. Wstęp
  2. Kontrahenci i Osoby kontaktowe
  3. Dokumenty
  4. Produkty
  5. Zdarzenia
  6. Urządzenia
  7. Sprawy

Konfigurację pobierania danych z systemu zewnętrznego z wykorzystaniem źródła wymiany danych typu DB należy rozpocząć od utworzenia na bazie danych systemu zewnętrznego (lub bazie pośredniej)

Wstęp

Import danych z systemu zewnętrznego możemy wykonać dla obszarów:

  • Kontrahentów (z danymi kont bankowych) i Osób kontaktowych
  • Dokumentów (z załącznikami)
  • Produktów
  • Zdarzeń

Planuje się dodatkowo uruchomienie możliwości synchronizacji obszarów jak:

  • Urządzenia
  • Sprawy

Po stronie systemu zewnętrznego występują widoki/tabele o odpowiednich nazwach np.

  • bs_contacts_view - widok wszystkich kontrahentów
  • bs_contact_persons_view - widok wszystkich osób kontaktowych kontrahenta
  • bs_depository_view - widok wszystkich produktów
  • bs_documents_view - widok wszystkich dokumentów
  • bs_fk_elements_view - widok pozycji dokumentów

Powyższa lista nie wyczerpuje wszystkich obiektów. Na potrzeby kolejkowania wpisów nowych i zaktualizowanych wykorzystuje się tabelę: bs_export_queue która jest napełniana poprzez triggery na tabelach danych dodawanych lub zmienianych obiektów. Dzięki niej można utworzyć dodatkowy widok (modified_view) gdzie znajdują się w już tylko rekordy dodane lub zmienione. Mechanizm BsConnect po udanej operacji usuwa z tabeli kolejki identyfikatory pobranych rekordów. Do tabeli mogą zostać dodane dowolne obiekty (DOCUMENT, CONTACT itp).

Której struktura przedstawia się następująco:

KolumnaTyp danychOgraniczeniaOpis
exp_idbigintNOT NULL, PRIMARY KEY, AUTO_INCREMENT/IDENTITY(1,1)Klucz główny tabeli kolejki, automatycznie inkrementowany
keyvalbigintNOT NULLIdentyfikator wpisu np. kontrahenta, produktu, dokumentu
clsnamvarchar(32)NOT NULLKlasa obiektu, której dotyczy identyfikator
chadattimestamp/datetime/varchar(19)NOT NULL DEFAULT GETDATE()/current_timestampZnacznik czasowy dodania wpisu

Wyróżniamy nastepujace klasy dla clsnam:

  • CONTACT - kontakt
  • CONTACTPERSON - osoba kontaktowa
  • PRODUCT - produkt
  • DOCUMENT - dokument

Użytkownik, który łączy się z systemu eDokumenty musi posiadać uprawnienia do odczytu z widoków, jak odczytu, zapisu oraz usuwania wpisów z tabeli kolejki.

Widoki z dopiskiem modified (np. bs_modified_contacts_view) są złączeniem wewnętrznym odpowiedniego widoku (w tym przypadku bs_contacts_view) oraz tabeli bs_export_queue. W związku z tym widok ten oprócz wszystkich kolumn widoku (bs_contacts_view) zawiera wszystkie kolumny tabeli bs_export_queue. Przykład złączenia to:

SELECT
...
FROM bs_contacts_view
INNER JOIN bs_export_queue ON (bs_export_queue.keyval = bs_contacts_view.bs_contact_id AND bs_export_queue.clsnam = 'CONTACT');

Powrót do menu

Kontrahenci i Osoby kontaktowe

Niniejsza sekcja opisuje synchronizację Kontrahentów. Do tego można zaliczyć pobieranie :

  • kartotek kontrahentów,
  • kont bankowych kontrahentów,
  • adresów siedziby kontrahenta (FUNKCJONALNOŚĆ PLANOWANA)
  • osób kontaktowych kontrahenta

Szczegółowy opis procedury jest dostępny na stronie:

Powrót do menu

Dokumenty

W tym dziale opisano sposób importowania dokumentów z zewnętrznego systemu. Za pomocą mechanizmu BSConnect można pobierać:

  • Dokumenty (nagłówki)
  • Pozycje (linie) dokumentów

Opis konfiguracji przedstawiono na stronie:

Powrót do menu

Produkty

W niniejszej sekcji zostanie opisany sposób pobierania produktów z zewnętrznego systemu.

Widoki

Import produktów zakłada utworzenie dwóch widoków na bazie danych zewnętrznego systemu:

  • bs_depository_view - widok wszystkich produktów
  • bs_moddified_depository_view - widok nowych/zmodyfikowanych produktów. Jest złączeniem widoku bs_depository_view i tabeli kolejki bs_export_queue.

W widokach wymagane/zalecane są następujące kolumny:

KolumnaTyp danychOgraniczeniaOpisWymagalność
bs_product_idintPRIMARY KEY (UNIQUE, NOT NULL)Klucz główny, identyfikator numeryczny produktuKolumna wymagana. Nazwa kolumny nie może być zmieniona
symbolvarcharNULLUnikalny symbol produktuprzydatny w celach porównania
nazwavarcharNOT NULLNazwa produktuKolumna wymagana

Przykładowy widok produktów przedstawia poniższy rysunek:


Rys. Widok produktów

Mapowanie kolumn

Przykładowe mapowanie kolumn może mieć postać:

[PRODUCT]
nazwa = name__
symbol = symbol
pkwiu = pkwiu_
jm = unitid
waluta = cursmb
vat_nazwa = vat_id
cena = netto_
zakup = purcst

Gdzie:

KolumnaOpis
nameNazwa produktu
symbolUnikalny symbol produktu
pkwiu_Numer PKWiU
unitidNazwa jednostki miary zgodna ze słownikiem jednostek miar w systemie eDokumenty np. sztuka, kilogram
cursmbWaluta przypisana do produktu. Musi być zgodna z symbolem waluty ze słownikiem walut w systemie eDokumenty np. PLN, EUR, USD
vat_idNazwa stawki VAT dla produktu. Musi być zgodna z nazwą stawki VAT w słowniku Stawek VAT systemu eDokaumenty np. 23.00%
netto_Cena netto sprzedaży
purcstKoszt zakupu produktu

Szablon mapowania produktu może mieć postać:

lower(symbol) = lower('{symbol}')

Powrót do menu

Dodatkowo można importować typ produktu (pole Typ na kartotece produktu) jako 1 z 3 wartości:

  • usługa
  • produkt
  • towar

Aby tego dokonać należy w pliku mapowań ustawić mapowanie dla kolumny type. Wartość dla tego pola musi być jedną z wyżej wymienionych.

Zdarzenia

Powrót do menu

Urządzenia

FUNKCJONALNOŚĆ PLANOWANA

Powrót do menu

Sprawy

Od wersji 4.4 systemu eDokumenty istnieje możliwość importowania spraw. W tym celu należy zdefiniować odpowiednie widoki po stronie systemu zewnętrznego oraz dodać odpowiednią sekcję do pliku mapowania x_columns_map.ini.

Widoki

Należy zdefiniować następujące perspektywy:

  • bs_processes_view
  • bs_modified_processes_view

Widok bs_processes_view zawiera dane wszystkich spraw, natomiast bs_modified_processes_view zawiera spis spraw zmodyfikowanych.

Wymagane kolumny:

KolumnaTyp danychOgraniczeniaOpisWymagalność
bs_process_idintPRIMARY KEY (UNIQUE, NOT NULL)Klucz główny, identyfikator numeryczny sprawyKolumna wymagana. Nazwa kolumny nie może być zmieniona
orunsmvarcharNOT NULLSymbol jednostki organizacyjnejKolumna wymagana
dossmbvarcharNOT NULLSymbol RWAKolumna wymagana
symbolvarcharNOT NULLNumer/symbol sprawyKolumna wymagana

Mapowanie kolumn

Przykładowe mapowanie kolumn:

Rys. 1. Przykład mapowania sprawy

[PROCESS]
symbol = symbol
dossmb = dossmb
orunsm = orunsm
dscrpt = dscrpt
rspuid = rspuid
adduid = adduid
rsptxt = rsptxt
comnts = comnts
adddat = adddat
optime = optime
cltime = cltime
is_fix = is_fix
fxtrid = fxtrid
inidoc = inidoc
is_grp = is_grp
rel_to = rel_to

Po lewej stronie mapy znajdują się kolumny występujące w widoku, natomiast po prawej kolumny znajdujące się w bazie systemu eDokumenty. Z tego względu nazwy po lewej stronie mogą być różne, natomiast po prawej są niezmienne.

Gdzie:

KolumnaOpis
symbolSymbol / numer sprawy (unikalny)
orunsmsymbol jednostki organizacyjnej, w której jest opubliko0wana teczka
dossmbsymbol RWA (teczki)
adduid Identyfikator numeryczny osoby/login/Imię Nazwisko dodającej sprawę (dane musza być zgodne z systemem eDokumenty)
rsptxtLogin/Imię i nazwisko osoby odpowiedzialnej w sprawie
dscrptOpis sprawy
comntsUwagi do sprawy
adddatData dodania sprawy w formacie RRRR-MM-DD, czyli 2014-05-16
optimeData otwarcia sprawy w formacie RRRR-MM-DD, czyli 2014-05-16
cltimeData zamkniecia sprawy w formacie RRRR-MM-DD, czyli 2014-05-16
is_fixZnacznik, czy sprawa jest zamknięta (0/1 lub f/t)
is_grpZnacznik, czy sprawa jest grupą spraw (0/1 lub f/t)
rel_toIdentyfikator sprawy nadrzędnej (numeryczny lub symbol sprawy)
inidocIdentyfikator dokumentu inicjującego sprawę

Przykładowy warunek mapowania to:

lower(symbol) = lower('{symbol}')


Powrót do menu

Załączniki