= Integracja z Forte FK = === Menu === #menu 1. [#data_source Konfiguracja źródła danych] 2. [#views_install Instalacja widoków w FORTE] 3. [#bs_connect_data_sources Tworzenie połączenia z systemami zewnętrznymi] 4. [#syncassist SyncAssist - eksport danych z eDokumentów do systemu Forte FK] == Konfiguracja źródła danych == #data_source Pierwszym krokiem integracji jest zdefiniowanie odpowiedniego źródła danych do bazy danych systemu FORTE FK. Do tego celu przechodzimy do ''Ustawień > Panel Sterowania > Pozostałe ustawienia > Źródła danych''. W otwartym oknie wybieramy Nowe, a następnie definiujemy parametry połączenia. * Identyfikator źródła danych - wprowadzamy nazwę połączenia, przykładowo FORTE_FK. * Sterownik - wybieramy sterownik połączenia, np. MsSQL lub ODBC. * Ciąg połączenia - ciąg połączenia do bazy danych. Dla MsSQL może to być np. {{{ Server=;Database=;Uid=;Pwd=; }}} [[BR]][[Image(img001.png)]][[BR]]''(Rys.1 Ciąg połączenia z systemem Forte)''[[BR]] Na tym kończy się pierwszy etap integracji. == Instalacja widoków w FORTE == #views_install Idąc dalej musimy przygotować na bazie danych systemu FORTE HANDEL. W tym celu mając uprawnienia w systemie Ms SQL Server do tworzenia obiektów na bazie danych wykonujemy skrypt z lokalizacji:{{{public_html/apps/edokumenty/modules/Tools/BSConnect/install/sql/externals/symfonia_forte_fk/01_install_relations_crt.sql}}}: == Tworzenie połączenia z systemami zewnętrznymi == #bs_connect_data_sources Kolejnym krokiem w tym procesie jest modyfikacja pliku ''config.inc''. Należy dodać lub zmodyfikować wpis w tym pliku: {{{ define('SYNC_ACTIVE','NEW'); }}} Po ponownym zalogowaniu w systemie pojawia się przycisk w menu ''Narzędzia > Połączenia z systemami zewnętrznymi''. Widok przycisku przedstawia poniższy rysunek: [[BR]][[Image(img002.png)]][[BR]]''(Rys.2 Połączenia z systemami zewnętrznymi)''[[BR]] Domyślnie żadne połączenie nie jest zdefiniowane. Połączenie tworzymy klikając polecenie ''Nowy''. [[BR]][[Image(forte001.jpg)]][[BR]]''(Rys.3 Okno definiowania połączenia z systemem Forte)''[[BR]] W nowo otwartym oknie należy wypełnić pola: * Nazwę połączenia z systemem zewnętrznym - nazwa musi być unikalna, * Wybrać identyfikator systemu SYMFONIA_FORTE * Wskazać źródło wymiany. Jeżeli nie istnieje to można utworzyć. [[BR]][[Image(forte002.jpg)]][[BR]]''(Rys.4 Okno definiowania źródła wymiany danych)''[[BR]] W źródle wymiany wprowadzamy: * unikalną nazwę, * wybieramy typ z listy rozwijanej (opis poniżej), * źródło danych (dla typu DB), * nazwa schematu w bazie Forte (najczęściej będzie to edokumenty - również dla połączeń typu DB) * ścieżkę składu (dla typów XML i CUSTOM_XML) * klasę (dla typu CUSTOM_XML) Źródło wymiany danych może być następujących typów: * DB - Wymiana poprzez bazę danych. Wymaga istnienia dedykowanych widoków lub odpowiednich zapytań SQL * XML - wymiana danych poprzez pliki XML. Podaje się ścieżkę do katalogu będącego składem plików * CUSTOM_XML - jw. z tą różnicą, że wymagana jest dedykowana klasa PHP do obsługi takiego transferu. Gdy posiadamy już połączenie z systemem zewnętrznym należy skopiować pliki map np. {{{ cp APP_DATA/var/tpl/sync/SYMFONIA_FORTE_HANDEL_columns_map.ini APP_DATA/etc/sync/ }}} a następnie zmienić nazwę skopiowanego pliku w katalogu sync na {{{_columns_map.in}}}i np. {{{1_columns_map.ini}}}, gdzie jest identyfikator połączenia z okna połączeń z systemami zewnętrznymi. Przykładowa zawartość takiego pliku to (ale przed dokonaniem importu najlepiej sprawdzić z widokiem czy się zgadza; program rozróżnia wielkość liter).: {{{ [CONTACT] nazwa = name_1 skrot = name_2 kod = code__ rejon = woj___ ulica = street numerDomu = bldnum numerMieszk = fltnum Miejscowosc = city__ nip = nip___ pesel = pesel_ regon = regon_ kraj = countr Telefax = faxnum email = email_ www = www___ Telefon1 = ph_num Telefon2 = ph_num nazwisko = cntprs imie = cntprs Uwagi = notes_ [DOCUMENT] data = data__ terminplat = paytrm kod = symbol netto = netto_ vat = vat___ brutto = brutto dctype = dctype acorid = acorid [PRODUCT] kod = symbol nazwa = name__ jm = unitid vat = vat_id katalog=pgr_id stanmin = quamin cena_zakupu = purcst cena_sprzedazy = netto_ [FKELEMENT] lp = prior_ kodtw = symbol opis = dscrpt jm = unitnm ilosc = quantm cenanetto = netto_ vat_id = vat_id kodtw = depsym opis = depnam opis = mname_ }}} To jeszcze nie wszystko. Należy również ustawić zasady importu dla danego modułu. Otóż wchodzimy w Połączenia z systemami zewnętrznymi, wybieramy połączenie, edytujemy je - przechodzimy do zakładki Synchronizacja. W tej zakładce wybieramy np. Produkty i dajemy edytuj. W nowym oknie wybieramy akcję i edytujemy ją. Wprowadzamy tam zasady, wg których przebiegnie dalsza akcja. [[BR]][[Image(forte004.jpg)]][[BR]]''(Rys.5 Edycja zasad importu danych)''[[BR]] [[BR]][[Image(forte005.jpg)]][[BR]]''(Rys.6 Edycja zasad importu danych)''[[BR]] Po tak zdefiniowanych elementach należy przejść do odpowiedniego modułu, wybieramy przycisk Połączenie >> >> [[BR]][[Image(forte003.jpg)]][[BR]]''(Rys.7 Przyykładowe pobranie dokumentów)''[[BR]] == !SyncAssist - eksport danych z eDokumentów do systemu Forte FK == #syncassist == !OnTimer() - import i eksport danych do/z Forte HM == #ontimer [DeployerGuide/Customization/Forte/ForteOnTimer Integracja z Forte HM przy pomocy OnTimer()]