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 :)