Version 37 (modified by jachtelik, 11 years ago)

--

Integracja z systemami ERP i FK

  1. Import danych z systemów zewnętrznych
    1. Wprowadzenie
    2. Opis konfiguracji
      2.1 Czynności wstępne
      2.2 Wymiana poprzez XML
      2.3 Wymiana poprzez połączenie z bazą danych
      2.4 Dalsza konfiguracja
    3. Integracja z systemami zewnętrznymi

Wprowadzenie

Niniejszy artykuł przedstawia opis kroków niezbędnych do realizacji integracji z systemami zewnętrznymi. Przez system zewnętrzny należy rozumieć każdy inny system informatyczny (ERP, FK, HM), z którego pragniemy pobrać dane lub któremu chcemy dane udostępnić.

Integracja z systemami zewnętrznymi wykorzystuje mechanizm BSConnect, który potrafi pobierać dane z wielu źródeł, jak bazy danych lub pliki XML, jak i również uczestniczyć w generowaniu plików eksportu / eksporcie danych do systemów zewnętrznych. Dzięki temu możliwe jest podpięcie do dowolnego systemu, na którego bazie danych można zdefiniować widoki, z których dane zostaną pobrane (albo bezpośrednio, ale poprzez wygenerowane pliki XML).

W obecnej chwili istnieje możliwość

Powrót do menu

Import danych z systemu zewnętrznego do eDokumenty

Opis konfiguracji

Czynności wstępne

Poniższy opis zawiera uniwersalne informacje niezależne od systemu. Zakłada użycie najczęściej stosowanej formy integracji. W dalszej części artykułu znajdują się odnośniki . Może zdarzyć się, że w konkretnym przypadku, konfiguracja integracji będzie różnić się od podanego przykładu.

Każda konfiguracja integracji rozpoczyna się od zdefiniowania w pliku config.inc stałej SYNC_ACTIVE na 'NEW'. (Ewentualnie dla połączeń realizowanych w "stary" sposób ustawiamy na TRUE).

define('SYNC_ACTIVE', 'NEW'); // Obecnie zalecana forma uruchamiania integracji
//define('SYNC_ACTIVE',TRUE); // Może być zdefiniowana tylko jedna forma integracji przy wykorzystaniu specjalizowanych klas. Obecnie NIE ZALECANA do stosowania (nie jest już aktywnie wspierana)

Po zdefiniowaniu formy integracji należy zalogować się do eDokumentów z prawami administratora. W menu Narzędzia Pojawia się opcja pt. Integracja z systemami zewnętrznymi.


No image "001.png" attached to DeployerGuide/Customization/Integration
Przycisk uruchamiania konfiguratora integracji

Po kliknięciu w ww. przycisk uruchamia się okno, w którym zostaną wykonane czynności integracyjne.


No image "002.png" attached to DeployerGuide/Customization/Integration
Okno konfiguratora integracji

Pierwszym krokiem każdej integracji jest określenie zewnętrznego źródła danych. W tym celu należy kliknąć w przycisk Definicji źródeł wymiany danych (ikonka z dwiema strzałkami).


No image "003.png" attached to DeployerGuide/Customization/Integration
Uruchamianie definiowania źródeł wymiany danych

Po kliknięciu w przycisk pojawi się okno, w którym zostanie zdefiniowane źródło wymiany danych.


No image "004.png" attached to DeployerGuide/Customization/Integration
Okno źródła wymiany danych

Kolejnym krokiem jest dodanie nowego źródła wymiany danych. W tym celu należy kliknąć przycisk Nowy. Zostanie uruchomione nowe okienko, w którym należy ustawić parametry wymiany danych.


No image "007.png" attached to DeployerGuide/Customization/Integration
Okno konfiguracji wymiany danych

Poniżej pokazano przykładowe okna konfiguracyjne źródeł wymiany danych:


No image "005.png" attached to DeployerGuide/Customization/Integration
Wymiana danych poprzez bezpośrednie podłączenie do bazy danych


No image "006.png" attached to DeployerGuide/Customization/Integration
Wymiana danych poprzez import/eksport plików XML

Wymiana poprzez XML

Wymiana poprzez XML wymaga:

  • wybrania na typu XML - Wymiana pliku poprzez pliki XML. Po wybraniu tej opcji pojawiają się dodatkowe pola, w których najważniejsze jest:
  • Ścieżka składu, gdzie wskazujemy ścieżkę dostępu do katalogu, w którym znajdować się będą importowane/eksportowane pliki. Należy pamiętać o nadaniu uprawnień do tego katalogu dla użytkownika www-data. Dodatkowo w tym katalogu powinien znaleźć się podkatalog sent, który przechowywać będzie przetworzone pliki XML
  • Pole Szablon XML określa nazwę szablonu do eksportu dokumentów. Fizycznie znajdować się powinien w katalogu public_html/apps/edokumenty/var/tpl/bs_connect.

Niniejszy rysunek przedstawia przykładową konfigurację połączenia (w tym przypadku będzie to import dokumentów):
No image "008.png" attached to DeployerGuide/Customization/Integration
Ustawienia źródła wymiany danych

Po wprowadzeniu niezbędnych danych i zatwierdzeniu formularza - źródło wymiany danych powinno pojawić się w formatce źródeł wymiany danych:


No image "009.png" attached to DeployerGuide/Customization/Integration
Ustawione źródła wymiany danych

Powrót do menu

Wymiana poprzez połączenie z bazą danych

[TODO] Opis konfiguracji źródła wymiany danych poprzez

Powrót do menu

Dalsza konfiguracja

W momencie, gdy mamy zdefiniowane źródło wymiany danych, należy zamknąć okno i powrócić do okna Połączeń z systemami zewnętrznymi. W oknie tym należy kliknąć nowe połączenie. Otworzy się formatka, w której takie połączenie zostanie skonfigurowane. W okienku tym należy wprowadzić nazwę połączenia, wybrać identyfikator systemu zewnętrznego,


No image "010.png" attached to DeployerGuide/Customization/Integration
Konfiguracja połączenia z systemem zewnętrznym

źródło wymiany danych. Pozostałe ustawienia są opcjonalne.


No image "011.png" attached to DeployerGuide/Customization/Integration
Konfiguracja połączenia z systemem zewnętrznym

W tym momencie należy kliknąć przycisk Zapisz. Wyświetli się komunikat o przejściu na zakładkę Synchronizacja oraz o dodaniu mapowania kolumn.


No image "012.png" attached to DeployerGuide/Customization/Integration
Informacja o konieczności dodania mapowania kolumn

Odnośnie mapowania kolumn. Ten temat zostanie opisany poniżej, najpierw należy skupić się nad prawidłową konfiguracją połączenia z systemem zewnętrznym po stronie eDokumentów.


No image "013.png" attached to DeployerGuide/Customization/Integration
Zakładka konfiguracja

W zakładce Synchronizacja klikamy Nowy i otwiera się okienko dodawania obiektów, które będą podlegać synchronizacji:


No image "014.png" attached to DeployerGuide/Customization/Integration
Obiekty konfiguracji

Należy po kolei dodawać obiekty, które mają być integrowane z systemem zewnętrznym.


No image "015.png" attached to DeployerGuide/Customization/Integration
Dodany obiekt konfiguracji

Przy dodaniu każdego z nich zostanie otwarte okno konfiguracji każdego obiektu:


No image "016.png" attached to DeployerGuide/Customization/Integration
Konfiguracja obiektu dokumenty

W oknie tym znajdują się dwie zakładki:

  • Konfiguracja - w której wybieramy, czy obiekty mają być aktualizowane, jeżeli istnieją już w eDokumentach, ale ich warunki integracji (pola mapowania) nie zawierają żadnej wartości. Dodatkowo wymaga się, aby utworzyć stanowisko, na które będą importowane dokumenty (dotyczy tylko obiektu Dokument).
  • Akcje - definiujemy, jakie akcje mogą być dostępne do uruchamiania. Dana akcja może być aktywna, lub nieaktywna.


No image "017.png" attached to DeployerGuide/Customization/Integration
Zakładka Akcje obiektu Dokument

Klikając na edycję Akcji możemy ustawić wiele parametrów. Na szczególną uwagę zasługują:

  • szablon, według którego dane będą pobierane i synchronizowane,
  • źródło wymiany danych - oprócz globalnego ustawienia połączenia z systemem zewnętrznym, każda akcja może mieć zdefiniowany własne źródło wymiany danych.


No image "019.png" attached to DeployerGuide/Customization/Integration
Ustawienia akcji

W przypadku importowania danych dokumentów z pliku XML nalezy pamiętać, iż oprócz akcji Pobierania nowych lub zmodyfikowanych dokumentów, należy zdefiniować szablony dla akcji pokrewnych, które wynikają ze struktury pliku XML:

  • Produkty - pobierz wszystkie, nowe i zmodyfikowane.
  • Kontrahenci - pobierz wszystkie, nowe i zmodyfikowane.

Schemat szablonów można przedstawić nastepująco:

-- Powiąż klienta
COALESCE(REPLACE(REPLACE(RTRIM(LTRIM(nip___)), '-', ''), ' ', ''), '') = COALESCE(REPLACE(REPLACE('{nip___}', '-', ''), ' ', ''), '') AND RTRIM(LTRIM(LOWER(name_2))) = RTRIM(LTRIM(LOWER('{name_2}')))

-- Pobierz wszystkich klientów, pobranie nowych klientów, powiązanie klienta, aktualizacja danych klienta
COALESCE(regexp_replace(nip___, '[ |-]*', '', 'g'), '') = COALESCE(regexp_replace('{nip___}', '[ |-]*', '', 'g'), '') OR lower(name_2) = lower('{name_2}')

-- Aktualizuj produkt, pobranie nowych produktów, powiązanie produktu
COALESCE(TRIM(symbol), '') = COALESCE(TRIM('{symbol}'), '')

-- Pobranie nowych i zaktualizowanych dokumentów:
COALESCE(TRIM(ex_sym), '') = COALESCE(TRIM('{symbol}'), '')

Nazwy kolumn w tokenie tj w nawiasach klamrowych odpowiadają kolumnom z mapowania. Właściwym polem jest prawe po znaku równości.


No image "020.png" attached to DeployerGuide/Customization/Integration
Przykład mapowania pola synchronizacji

Finalnie, po skonfigurowaniu wszystkich potrzebnych akcji powinniśmy uzyskać wpis w oknie połączeń z systemami zewnętrznymi. Najistotniejszą informacją w tym oknie jest identyfikator połączenia, który będzie częścią nazwy pliku konfiguracji i pliku mapy.


No image "018.png" attached to DeployerGuide/Customization/Integration
Ustawione połączenie z systemem zewnętrznym.

W tym miejscu należy omówić tworzenie map. Na dzień dzisiejszy oparty jest on na dwóch plikach:

  • NAZWASYSTEMU_documents_conf.ini
  • NAZWASYSTEMU_columns_map.ini

Pliki te można znaleźć w katalogu: public_html/apps/edokumenty/var/tpl_default/sync. Należy taki zestaw plików przekopiować do katalogu: public_html/apps/edokumenty/etc/sync. Dodatkowo należy zmienić nazwę pliku, tak aby zamiast NAZWASYSTEMU był numeryczny identyfikator połączenia z systemem zewnętrznym np.

  • 3_documents_conf.ini
  • 3_columns_map.ini

Powrót do menu

Przykładowe integracje

Aktualne

Integracja w starszych wersjach systemu

Powrót do menu

Załączniki