| 23 | | |
| 24 | | = Import danych z systemu zewnętrznego do eDokumenty = #import |
| 25 | | |
| 26 | | == Opis konfiguracji == #przyklady |
| 27 | | |
| 28 | | === Czynności wstępne === #wstep |
| 29 | | |
| 30 | | 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. |
| 31 | | |
| 32 | | 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). |
| 33 | | |
| 34 | | {{{ |
| 35 | | #!php |
| 36 | | define('SYNC_ACTIVE', 'NEW'); // Obecnie zalecana forma uruchamiania integracji |
| 37 | | //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) |
| 38 | | }}} |
| 39 | | |
| 40 | | Po zdefiniowaniu formy integracji należy zalogować się do eDokumentów z prawami administratora. |
| 41 | | W menu ''Narzędzia'' Pojawia się opcja pt. ''Integracja z systemami zewnętrznymi''. |
| 42 | | |
| 43 | | [[BR]][[Image(001.png)]][[BR]]''Przycisk uruchamiania konfiguratora integracji''[[BR]] |
| 44 | | |
| 45 | | Po kliknięciu w ww. przycisk uruchamia się okno, w którym zostaną wykonane czynności integracyjne. |
| 46 | | |
| 47 | | [[BR]][[Image(002.png)]][[BR]]''Okno konfiguratora integracji''[[BR]] |
| 48 | | |
| 49 | | 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). |
| 50 | | |
| 51 | | [[BR]][[Image(003.png)]][[BR]]''Uruchamianie definiowania źródeł wymiany danych''[[BR]] |
| 52 | | |
| 53 | | Po kliknięciu w przycisk pojawi się okno, w którym zostanie zdefiniowane źródło wymiany danych. |
| 54 | | |
| 55 | | [[BR]][[Image(004.png)]][[BR]]''Okno źródła wymiany danych''[[BR]] |
| 56 | | |
| 57 | | 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. |
| 58 | | |
| 59 | | [[BR]][[Image(007.png)]][[BR]]''Okno konfiguracji wymiany danych''[[BR]] |
| 60 | | |
| 61 | | Poniżej pokazano przykładowe okna konfiguracyjne źródeł wymiany danych: |
| 62 | | |
| 63 | | [[BR]][[Image(005.png)]][[BR]]''Wymiana danych poprzez bezpośrednie podłączenie do bazy danych''[[BR]] |
| 64 | | |
| 65 | | [[BR]][[Image(006.png)]][[BR]]''Wymiana danych poprzez import/eksport plików XML''[[BR]] |
| 66 | | |
| 67 | | === Wymiana poprzez XML === #xml_transfer |
| 68 | | Wymiana poprzez XML wymaga: |
| 69 | | * wybrania na typu ''XML - Wymiana pliku poprzez pliki XML''. Po wybraniu tej opcji pojawiają się dodatkowe pola, w których najważniejsze jest: |
| 70 | | * Ś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 |
| 71 | | * 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}}}. |
| 72 | | |
| 73 | | Niniejszy rysunek przedstawia przykładową konfigurację połączenia (w tym przypadku będzie to import dokumentów): |
| 74 | | [[BR]][[Image(008.png)]][[BR]]''Ustawienia źródła wymiany danych''[[BR]] |
| 75 | | |
| 76 | | Po wprowadzeniu niezbędnych danych i zatwierdzeniu formularza - źródło wymiany danych powinno pojawić się w formatce źródeł wymiany danych: |
| 77 | | |
| 78 | | [[BR]][[Image(009.png)]][[BR]]''Ustawione źródła wymiany danych''[[BR]] |
| 79 | | |
| 80 | | ''[#integracja Powrót do menu]'' |
| 81 | | |
| 82 | | === Wymiana poprzez połączenie z bazą danych === #db_transfer |
| 83 | | |
| 84 | | [TODO] Opis konfiguracji źródła wymiany danych poprzez |
| 85 | | |
| 86 | | ''[#integracja Powrót do menu]'' |
| 87 | | |
| 88 | | === Dalsza konfiguracja === #dalsze |
| 89 | | |
| 90 | | 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. |
| 91 | | W okienku tym należy wprowadzić nazwę połączenia, wybrać identyfikator systemu zewnętrznego, |
| 92 | | |
| 93 | | [[BR]][[Image(010.png)]][[BR]]''Konfiguracja połączenia z systemem zewnętrznym''[[BR]] |
| 94 | | |
| 95 | | źródło wymiany danych. Pozostałe ustawienia są opcjonalne. |
| 96 | | |
| 97 | | [[BR]][[Image(011.png)]][[BR]]''Konfiguracja połączenia z systemem zewnętrznym''[[BR]] |
| 98 | | |
| 99 | | W tym momencie należy kliknąć przycisk ''Zapisz''. Wyświetli się komunikat o przejściu na zakładkę '''Synchronizacja''' oraz o dodaniu mapowania kolumn. |
| 100 | | |
| 101 | | [[BR]][[Image(012.png)]][[BR]]''Informacja o konieczności dodania mapowania kolumn''[[BR]] |
| 102 | | |
| 103 | | 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. |
| 104 | | |
| 105 | | [[BR]][[Image(013.png)]][[BR]]''Zakładka konfiguracja''[[BR]] |
| 106 | | |
| 107 | | W zakładce ''Synchronizacja'' klikamy Nowy i otwiera się okienko dodawania obiektów, które będą podlegać synchronizacji: |
| 108 | | |
| 109 | | [[BR]][[Image(014.png)]][[BR]]''Obiekty konfiguracji''[[BR]] |
| 110 | | |
| 111 | | Należy po kolei dodawać obiekty, które mają być integrowane z systemem zewnętrznym. |
| 112 | | |
| 113 | | [[BR]][[Image(015.png)]][[BR]]''Dodany obiekt konfiguracji''[[BR]] |
| 114 | | |
| 115 | | Przy dodaniu każdego z nich zostanie otwarte okno konfiguracji każdego obiektu: |
| 116 | | |
| 117 | | [[BR]][[Image(016.png)]][[BR]]''Konfiguracja obiektu dokumenty''[[BR]] |
| 118 | | |
| 119 | | W oknie tym znajdują się dwie zakładki: |
| 120 | | * ''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). |
| 121 | | * ''Akcje'' - definiujemy, jakie akcje mogą być dostępne do uruchamiania. Dana akcja może być aktywna, lub nieaktywna. |
| 122 | | |
| 123 | | [[BR]][[Image(017.png)]][[BR]]''Zakładka Akcje obiektu Dokument''[[BR]] |
| 124 | | |
| 125 | | Klikając na edycję Akcji możemy ustawić wiele parametrów. Na szczególną uwagę zasługują: |
| 126 | | * szablon, według którego dane będą pobierane i synchronizowane, |
| 127 | | * ź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. |
| 128 | | |
| 129 | | |
| 130 | | [[BR]][[Image(019.png)]][[BR]]''Ustawienia akcji''[[BR]] |
| 131 | | |
| 132 | | 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: |
| 133 | | * Produkty - pobierz wszystkie, nowe i zmodyfikowane. |
| 134 | | * Kontrahenci - pobierz wszystkie, nowe i zmodyfikowane. |
| 135 | | |
| 136 | | Schemat szablonów można przedstawić nastepująco: |
| 137 | | {{{ |
| 138 | | #!sql |
| 139 | | -- Powiąż klienta |
| 140 | | COALESCE(REPLACE(REPLACE(RTRIM(LTRIM(nip___)), '-', ''), ' ', ''), '') = COALESCE(REPLACE(REPLACE('{nip___}', '-', ''), ' ', ''), '') AND RTRIM(LTRIM(LOWER(name_2))) = RTRIM(LTRIM(LOWER('{name_2}'))) |
| 141 | | |
| 142 | | -- Pobierz wszystkich klientów, pobranie nowych klientów, powiązanie klienta, aktualizacja danych klienta |
| 143 | | COALESCE(regexp_replace(nip___, '[ |-]*', '', 'g'), '') = COALESCE(regexp_replace('{nip___}', '[ |-]*', '', 'g'), '') OR lower(name_2) = lower('{name_2}') |
| 144 | | |
| 145 | | -- Aktualizuj produkt, pobranie nowych produktów, powiązanie produktu |
| 146 | | COALESCE(TRIM(symbol), '') = COALESCE(TRIM('{symbol}'), '') |
| 147 | | |
| 148 | | -- Pobranie nowych i zaktualizowanych dokumentów: |
| 149 | | COALESCE(TRIM(ex_sym), '') = COALESCE(TRIM('{symbol}'), '') |
| 150 | | }}} |
| 151 | | |
| 152 | | Nazwy kolumn w tokenie tj w nawiasach klamrowych odpowiadają kolumnom z mapowania. Właściwym polem jest prawe po znaku równości. |
| 153 | | |
| 154 | | [[BR]][[Image(020.png)]][[BR]]''Przykład mapowania pola synchronizacji''[[BR]] |
| 155 | | |
| 156 | | 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. |
| 157 | | |
| 158 | | [[BR]][[Image(018.png)]][[BR]]''Ustawione połączenie z systemem zewnętrznym.''[[BR]] |
| 159 | | |
| 160 | | W tym miejscu należy omówić tworzenie map. Na dzień dzisiejszy oparty jest on na dwóch plikach: |
| 161 | | * NAZWASYSTEMU_documents_conf.ini |
| 162 | | * NAZWASYSTEMU_columns_map.ini |
| 163 | | |
| 164 | | Pliki te można znaleźć w katalogu: {{{public_html/apps/edokumenty/var/tpl_default/sync}}}. |
| 165 | | Należy taki zestaw plików przekopiować do katalogu: {{{public_html/apps/edokumenty/etc/sync}}}. |
| 166 | | Dodatkowo należy zmienić nazwę pliku, tak aby zamiast NAZWASYSTEMU był numeryczny identyfikator połączenia z systemem zewnętrznym np. |
| 167 | | * 3_documents_conf.ini |
| 168 | | * 3_columns_map.ini |
| 169 | | |
| 170 | | ''[#integracja Powrót do menu]'' |
| 171 | | |
| 172 | | == Przykładowe integracje == #przyklady |
| 173 | | |
| 174 | | === Aktualne === |
| 175 | | |
| 176 | | * [wiki:DeployerGuide/Customization/Forte Integracja z systemem Forte Handel] |
| 177 | | * [wiki:DeployerGuide/Customization/ForteFK Integracja z systemem Forte FK] |
| 178 | | * [wiki:DeployerGuide/Customization/Integration/ENOVAMySQL Integracja z systemem ENOVA (MySQL)] |
| 179 | | * [wiki:DeployerGuide/Customization/Integration/ENOVAMSSQL Integracja z systemem ENOVA (MSSQL)] |
| 180 | | * [wiki:DeployerGuide/Customization/Integration/WaproWfMag Integracja z systemem WAPRO WF-Mag] |
| 181 | | * [wiki:DeployerGuide/Customization/ExternalConfigurationFK/Optima Integracja z Optimą] |
| 182 | | |
| 183 | | |
| 184 | | |
| 185 | | === Integracja w starszych wersjach systemu === |
| 186 | | * [wiki:DeployerGuide/Customization/ExternalsConfigurationFK Definiowanie połączenia z systemami FK] |
| 187 | | * [wiki:DeployerGuide/Customization/ExternalsConfigurationCDNXL Integracja z systemem CDN XL] |
| 188 | | * [wiki:DeployerGuide/Customization/SymfoniaFK Integracja z systemem Symfonia Finanse i Księgowość] |
| 189 | | * [wiki:DeployerGuide/Customization/SymfoniaHandel Integracja z systemem Symfonia Handel] |
| 190 | | |
| 191 | | ''[#integracja Powrót do menu]'' |