Version 34 (modified by jachtelik, 12 years ago) |
---|
Integracja z systemami ERP i FK
Menu
- Wprowadzenie
- 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 - 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).
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
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.
Przycisk uruchamiania konfiguratora integracji
Po kliknięciu w ww. przycisk uruchamia się okno, w którym zostaną wykonane czynności integracyjne.
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).
Uruchamianie definiowania źródeł wymiany danych
Po klinięciu w przycisk pojawi się okno, w którym zostanie zdefiniowane źródło 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.
Okno konfiguracji wymiany danych
Poniżej pokazano przykładowe okna konfiguracyjne źródeł wymiany danych:
Wymiana danych poprzez bezpośrednie podłączenie do bazy danych
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):
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:
Ustawione źródła wymiany danych
Wymiana poprzez połączenie z bazą danych
[TODO] Opis konfiguracji źródła wymiany danych poprzez
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,
Konfiguracja połączenia z systemem zewnętrznym
źródło wymiany danych. Pozostałe ustawienia są opcjonalne.
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.
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.
W zakładce Synchronizacja klikamy Nowy i otwiera się okienko dodawania obiektów, które będą podlegać synchronizacji:
Należy po kolei dodawać obiekty, które mają być integrowane z systemem zewnętrznym.
Przy dodaniu każdego z nich zostanie otwarte okno konfiguracji każdego obiektu:
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.
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.
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.
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.
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
Przykładowe integracje
Aktualne
- Integracja z systemem Forte Handel
- Integracja z systemem Forte FK
- Integracja z systemem ENOVA (MySQL)
- Integracja z systemem ENOVA (MSSQL)
- Integracja z systemem WAPRO WF-Mag
- Integracja z Optimą
Integracja w starszych wersjach systemu
Załączniki
-
20131111_102018.png
(15.6 KB) - dodany przez jachtelik
11 years temu.
Widok baz danych wykorzystany w niniejszym tutorialu
- dodatkowe_001.png (37.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_002.png (26.9 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_003.png (674 bytes) - dodany przez jachtelik 11 years temu.
- dodatkowe_004.png (1.1 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_005.png (3.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_006.png (49.4 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_007.png (3.7 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_008.png (25.7 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_009.png (7.4 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_010.png (26.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_011.png (30.2 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_012.png (28.0 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_013.png (19.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_014.png (28.4 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_015.png (29.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_015.2.png (29.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_016.png (44.7 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_017.png (30.2 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_018.png (13.7 KB) - dodany przez jachtelik 11 years temu.