Version 30 (modified by JP, 12 years ago)

--

Integracja z Forte

  1. Konfiguracja źródła danych
  2. Instalacja widoków w FORTE
  3. Tworzenie połączenia z systemami zewnętrznymi
  4. SyncAssist - eksport danych z eDokumentów do systemu Forte FK
  5. OnTimer() - import i eksport danych do/z Forte HM

Konfiguracja źródła danych

Pierwszym krokiem integracji jest zdefiniowanie odpowiedniego źródła danych do baqzy danych systemu FORTE HANDEL. 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_HANDEL.
  • 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=<adres serwera bazy danych np. 192.168.0.1>;Database=<nazwa bazy danych>;Uid=<uużytkownik>;Pwd=<hasło>;
    



(Rys.1 Ciąg połączenia z systemem Forte)

Na tym kończy się pierwszy etap integracji.

Instalacja widoków w FORTE

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/Settings/BSConnectSettings/install/sql/externals/symfonia_forte_handel/01_install_relations_crt.sql:

Tworzenie połączenia z systemami zewnętrznymi

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:



(Rys.2 Połączenia z systemami zewnętrznymi)

Domyślnie żadne połączenie nie jest zdefiniowane. Połączenie tworzymy klikając polecenie Nowy.



(Rys.3 Okno definiowania połączenia z systemem Forte)

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ć.



(Rys.4 Okno definiowania źródła wymiany danych)

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 <IDENTYFIKATOR_Z_BS_CONNECT_SYSTEMS>_columns_map.ini np. 1_columns_map.ini, gdzie jest identyfikator połączenia z okna połączeń z systemami zewnętrznymi.

Przykładowa zawartość takiego pliku to:

[CONTACT]
nazwa = name_1
skrot = name_2
kodpocz = code__
rejon = woj___
ulica = street
dom = bldnum
lokal = fltnum
miejscowosc = city__
nip = nip___
pesel = pesel_
regon = regon_
kraj = countr
fax = 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.



(Rys.5 Edycja zasad importu danych)



(Rys.6 Edycja zasad importu danych)

Przydzielenie prawa do wykonywania importu

Dość nietypowo prawo jest w zasadzie prawem do jednostki do której powibierane są synchronizowane obiekty. Zatem należy je przyznać w prawach do Jednostkach > Usługi systemowe > EXTSYS Usługa systemu zewnętrzenego

Po tak zdefiniowanych elementach należy przejść do odpowiedniego modułu, wybieramy przycisk Połączenie >> <Nazwa połączenia> >> <akcja do wykonania>



(Rys.7 Przyykładowe pobranie dokumentów)

SyncAssist - eksport danych z eDokumentów do systemu Forte FK

<TODO>

OnTimer() - import i eksport danych do/z Forte HM

Integracja z Forte HM przy pomocy OnTimer()

Załączniki