Version 35 (modified by jachtelik, 11 years ago)

--

Integracja z systemami ERP i FK

  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

Integracja z systemami zewnętrznymi wykorzystuje mechanizm bs_connect, który potrafi pobierać dane z wielu źródeł, jak bazy danych lub pliki XML. 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).

Powrót do menu

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.

Uwaga!!! Niniejszy opis będzie działał w eDokumentach od wersji 3.8.139.

Uwaga!!! Należy zmienić wpis w pliku php.ini

magic_quotes_gpc = On

na

magic_quotes_gpc = Off

A następnie zrestartować usługę Apache'a.

Każda konfiguracja integracji rozpoczyna się od zdefiniowania w pliku config.inc stałej SYNC_ACTIVE na TRUE albo na 'NEW' w zależności od wspieranej formy (szczegóły w dokumentacji dla poszczególnych połączeń).

define('SYNC_ACTIVE', 'NEW'); // Najczęściej stosowana forma.
//define('SYNC_ACTIVE',TRUE); // Może być zdefiniowana tylko jedna forma integracji

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 klinię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 nalezy 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