Integracja z systemem Symfonia Handel

Połączenie w systemem Symfonia Handel wymaga następujących kroków:

Wykonanie polecenie createDDfs({NAZWA_FIRMY}) w celu wygenerowania specjalnych plików umożliwiających połączenie się z bazą Pervasive poprzez sterownik ODBC.

Po wykonaniu tego polecenia w systemowych źródłach danych

Panel sterowania -> Narzędzia administracyjne -> Źródła danych (ODBC) -> Systemowe DSN

należy dodać połączenie do bazy Symfonii.

Klikamy "Dodaj" i z listy wybieramy "Pervasive ODBC Engine Interface". Po zatwierdzeniu należy skonfigurować źródło danych jak zaprezentowano na screenie.



Następny krok to umieszczenie specjalnego programiku (FKSync - poniżej na liście załączników) na serwerze gdzie znajduje się system Symfonia oraz utworzone przed chwilą źródło danych. Programi wymaga PHP. Jeśli nie ma należy go doinstalować. Paczkę PHP w postaci pliku zip lub instalatora (zalecany) można pograć dla systemu Windows ze strony: http://windows.php.net/download/. Wersja, którą należy wybrać to PHP 5.3.* VC9 x86 Non Thread Safe

Program FKSync jest odpowiedzialny za synchronizację danych pomiędzy Symfonią w aplikacją eDokumenty. Synchronizacja te dodaje kontrahentów oraz dokumenty do specjalnej schemy w bazie Postgresa. Schema na nazywa się "symfonia_handel" (jeśli jej nie ma to w kolejnych punktach konfiguracji połączenia zostanie dodana).

Programik FKSync wymaga konfiguracji.

Przechodzimy do folderu

FKSync\conf\tpl\symfonia_handel

i kopiujemy zawartość do katalogu

FKSync\conf

Pliki all_contacts.sql oraz all_documents.sql są definicjami komend SQL jakie będą wykonywane na bazie pervasive w celu pobrania odpowiednio kontaktów oraz dokumentów. Pliki te mogą być edytowane w celu pobrania dodatkowych informacji.

FKSync config.inc TODO OPEN_BALANCE_DATE

Plik connection.ini jest konfiguracją połączenia pomiędzy zdefiniowanym źródłem danych a bazą eDokumenty. Przykład poniżej:

[fk]
dsn = "encoding=windows-1250;dsn=SYMFONIA_HANDEL"
driver = "ODBCManager"

[edokumenty]
dsn = "dbname=edokumenty user=edokumenty password="
ent_id = 2
fkSchema = "symfonia_handel"

Aby dane były synchronizowane automatycznie należy dodać zadanie do

Start -> Wszystkie programy -> Akcesoria -> Narzędzia systemowe -> Zaplanowane zadania

Przykład konfiguracji zadania.



W przypadku innej konfiguracji źródła danych lub systemu eDokumenty należy odpowiednio zmodyfikować wartości pod kluczami dns w [fk] oraz [edokumenty]. Klucz dns pod [edokumenty] to wartość z pliku config.inc pod kluczem DB_NAME systemu eDokumenty. Plik config.inc znajduje się w {EDOKUMENTY_INSTALL_DIR}/apps/edokumenty Pozostałych kluczy nie należy modyfikować.

Kolejny krok to konfiguracja systemu eDokumenty. Przechodzimy do

 Ustawienia -> Panel sterowania -> Pozostałe ustawienia -> Źródła danych

Dodajemy źródło danych podobnie jak zaprezentowano w screenie



Nazwa źródła oraz ciąg połączenia mogą być inne. Ciąg połączenia znajduje się pod kluczem DB_NAME w pliku config.inc. Szczególnie na systemach Linux domyślne połączenie do bazy nie wymaga podania ani portu ani hosta, gdyż interpreter PHP działający na tym samym hoście łączy się z bazą przez gniazdo (socket).

Po wprowadzeniu danych zapisujemy formularz.

Następnie przechodzimy do katalogu

apps\edokumenty\classes\BsConnect\install\sql\symfonia_handel

kopiujemy zawartość pliku

01_install_relations_crt.sql

i wykonujemy ją za pomocą PgAdmina. W przypadku instalacji linuxowej bez graficznej nakładki należy plik 01_install_relations_crt.sql wykonać z linii poleceń komendą

psql -f "01_install_relations_crt.sql" edokumenty

Po wykonaniu w bazie pojawi się dodatkowy schemat (schema) "symfonia_handel". Można to sprawdzić wykonując polecenie

edokumenty-# \dn

Następny plik który należy wykonać w podobny sposób to

02_install_triggers_crt.sql

Po wykonaniu powinny dodać się 2 triggery

  • bs_add_contact_to_queue
  • bs_add_document_to_queue

Można to sprawdzić wpisując

edokumenty-# SET search_path TO symfonia_handel;
edokumenty-# \dft

Kolejny krok konfiguracji to skopiowanie plików

  • SYMFONIA_HANDEL_columns_map.ini
  • SYMFONIA_HANDEL_documents_conf.ini

z katalogu

apps\edokumenty\var\tpl_default\sync

do

apps\edokumenty\etc\sync

Ostatni krok to wykonanie skrytu sql symfonia_handel_wsdl_ins.sql z katalogu

apps\edokumenty\classes\BsConnect\install\data

Przed wykonaniem należy jednak podmienić w tym pliku wartości

  • {ent_id} na id jednostki z jaką jest wykonywana synchronizacja (przeważnie 2)
  • {host} na adres hosta gdzie zainstalowano eDokumenty (przeważnie localhost)

Po wykonaniu należy jeszcze w linii poleceń wykonać

edokumenty-# UPDATE wsdl_config_table SET dtscnm = 'SYMFONIA_HANDEL';

Wartość "SYMFONIA_HANDEL" jest tą samą, która została podana przy konfiguracji źródła danych w systemie eDokumenty.

Nie należy wpisywać polskich znaków.

Aby sprawdzić czy usługa działa kopiujemy wynik zapytania

edokumenty-# SELECT wsdl__ FROM wsdl_config_table WHERE dtscnm = 'SYMFONIA_HANDEL' LIMIT 1;

do przeglądarki. Po przejściu na stronkę powinien pojawić się błąd parsowania (to oznacza że usługa została zainstalowana).

Przed wykonaniem synchronizacji należy uruchomić programik FKSync (Zaplanowane zadania -> prawy przycisk myszy -> Uruchom)

Po wykonaniu w bazie eDokumenty powinny pojawić się wpisy

edokumenty-# SELECT * FROM symfonia_handel.bs_kontrahenci;

Synchronizacja kontrahentów odbywa się z modułu Klienci.

Przycisk Importuj -> SYMFONIA_HANDEL -> Importuj wszystkie kontakty

Powodzenia :)

Załączniki