= 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. [[BR]][[BR]] [[Image(s1.jpg)]] [[BR]][[BR]] 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. [[BR]][[BR]] [[Image(s2.jpg)]] [[BR]][[BR]] 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 [[BR]][[BR]] [[Image(s3.jpg)]] [[BR]][[BR]] 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 :)