| 6 | | |
| 7 | | * zmiana stałej w pliku config.inc |
| 8 | | * sprawdzenie danych w tabeli wsdl_config_table w systemie eDokumenty |
| 9 | | * utworzenie tabeli kolejki w systemie Subiekt |
| 10 | | * założenie triggerów na tabele |
| | 6 | * 1. Utworzenie źródła danych |
| | 7 | * 2. Zmiana stałej w pliku config.inc |
| | 8 | * 3. Zmiana danych w Panel Sterowania > Systemy zewnętrzne |
| | 9 | * 4. Utworzenie tabeli kolejki w systemie Subiekt (baza MSSQL) |
| | 10 | * 5. Założenie triggerów na tabele w bazie Subiekt |
| 27 | | == Sprawdzenie danych w tabeli == |
| 28 | | Jeśli w systemie !eDokumenty tabela wsdl_config_table jest pusta należy wykonać odpowiedni skrypt SQL dla Subiekt znajduję się on w katalogu |
| | 32 | == 3. Zmiana danych w Panel Sterowania > Systemy zewnętrzne == |
| | 33 | Jeśli tabela po wejściu jest pusta należy wykonać odpowiedni skrypt SQL. Dla Subiekta znajduję się on w katalogu ''apps\edokumenty\classes\BsConnect\install\data\subiekt_wsdl_ins.sql''. |
| | 34 | {{{ |
| | 35 | Otwórz w Windows Menu Start > Postgresql > psql to postgres. |
| | 36 | cd C:\Program files\BEtaSoft\eDokumenty\public_html\apps\edokumenty\classes\BsConnect\install\data |
| | 37 | psql -U postgres -f subiekt_wsdl_ins.sql edokumenty |
| | 38 | }}} |
| 30 | | {{{ |
| 31 | | apps\edokumenty\classes\BsConnect\install\data\subiekt_wsdl_ins.sql |
| 32 | | }}} |
| 33 | | następnie należy przejść do punktu "Konfiguracja tabeli wsdl_config_table" aby dokonać niezbędnych poprawek oraz ustawień według zaleceń. |
| 34 | | |
| 35 | | {{{ |
| 36 | | #!html |
| 37 | | <h1 id="wsdl" style="visibility:hidden"></h1> |
| 38 | | }}} |
| 39 | | == Ustawienia w tabeli wsdl_config_table == |
| 40 | | Następny krok to sprawdzenie tabeli wsdl_config_table oraz czy zawiera dane. W przypadku jeśli jest pusta proszę udać się na stronę z integracją wybranego systemu. Edycję ustawień połączeń możemy dokonać z interfejsu eDokumentów '''Ustawienia -> Systemy zewnętrzne''' |
| 41 | | |
| 42 | | '''Opis kolumn''' |
| 43 | | * Adres - adres pliku (serwera), jeśli w nazwie występuje słowo {host} należy ja zamienić na lokalizacje systemu eDokumenty standardowo jest to localhost, w przypadku vhosta należy podać port (np.: localhost:8080), jeśli system znajduje się katalogu różnym niż public należy dodać nazwę tego katalogu do nazwy (np.: localhost:8080/edokumenty), zmianę tą można dokonać z linii poleceń psql według ustawień instalacji [[br]] |
| | 40 | Jeśli w nazwie występuje słowo {host} należy ja zamienić na lokalizacje systemu eDokumenty standardowo jest to localhost, w przypadku vhosta należy podać port (np.: localhost:8080), jeśli system znajduje się katalogu różnym niż public należy dodać nazwę tego katalogu do nazwy (np.: localhost:8080/edokumenty), zmianę tą można dokonać poprzez edycję każdego wpisów w tabeli osobno, lub z linii poleceń psql np.[[br]] |
| 58 | | Różnica między tymi metodami polega na tym iż w przypadku szukania kontaktu w systemie zew. należy wykonać zapytanie na zew. bazie dlatego z lewej strony są nazwy kolumn z systemu zew. a z prawej tokeny nazwy kolumn systemu eDokumenty, które zostaną zastąpione danymi wybranego kontaktu. |
| 59 | | |
| 60 | | Reszta metod służy do porównania danych przychodzących z systemu zew. do systemu eDokumenty. Zapytanie jest wykonywane na bazie eDokumenty dlatego z lewej strony wstawiamy nazwę kolumny z tabeli z bazy eDokumenty natomiast z prawej dane z tablicy "mapy" z systemu zew. |
| 61 | | |
| 62 | | Tablica (mapa kolumn) ułatwia sparsowanie danych i lepsze rozeznanie przykład |
| 63 | | |
| 64 | | {{{ |
| 65 | | apps\edokumenty\etc\sync\OPTIMA_columns_map.ini |
| 66 | | Przykładowa konfiguracja tablicy mapy dla kontaktu dla OPT!MY |
| 67 | | [contacts] |
| 68 | | Knt_KntID = contid |
| 69 | | Knt_Nazwa1 = name_1 |
| 70 | | Knt_Nazwa2 = name_2 |
| 71 | | Knt_Nazwa3 = name_2 |
| 72 | | Knt_Kraj = countr |
| 73 | | Knt_Wojewodztwo = woj___ |
| 74 | | Knt_Powiat = powiat |
| 75 | | Knt_Ulica = street |
| 76 | | Knt_NrDomu = bldnum |
| 77 | | Knt_NrLokalu = fltnum |
| 78 | | Knt_Miasto = city__ |
| 79 | | Knt_KodPocztowy = code__ |
| 80 | | Knt_Nip = nip___ |
| 81 | | }}} |
| 82 | | Oznacza to, że do dyspozycji będą dane pod danymi kluczami np.: klucz "nip_!__" będzie zawierał numer nip kontaktu z systemu zew. (w tym przypadku OPT!MA) dlatego warunek zapytania w bazie eDokumeny będzie miało postać |
| 83 | | {{{ |
| 84 | | nip___='{nip___}' |
| 85 | | }}} |
| 86 | | Czyli szukamy kontaktu w bazie eDokumenty gdzię nip_!__ (lewa strona) kontaktu z bazy eDokumenty jest równy numerow nip z tabeli - mapy danych jakie otrzymamy z systemu zew. Należy pamiętać aby token w wąsach był dodatkowo w pojedyńczych apostrofach. Ze względu na różny typ danych i sposób w jaki mogą być potraktowane przez SQL (cyfry, liczby nie wymagają apostrofów natomiast litery tak!!) lepiej jest dla każdego typu danych w wąsach stosować apostrofy. |
| 87 | | |
| 88 | | == Utworzenie tabeli kolejki == |
| | 49 | == 4. Utworzenie tabeli kolejki == |
| 95 | | == Założenie triggerów == |
| 96 | | Triggery mają za zadanie dodawać do kolejki dokumenty i kontaktu które zostały zmodyfikowane bądź dodane do systemu Subiekt. Triggery wykonujemy z załączników bądź w folderze |
| 97 | | {{{ |
| 98 | | apps\edokumenty\classes\BsConnect\install\sql\subiekt |
| 99 | | }}} |
| 100 | | znajdują się pliki oryginalne. Kolejność ich wykonywania nie ma znaczenia. Po ich wykonaniu należy sprawdzić czy tabele dok__Dokument, adr__Ewid oraz Kontrahent posiadają dodatkowe triggery. Można tego dokonać za pomocą narzędzia SQL Manager Lite for SQL Server firmy EMS. (http://www.sqlmanager.net/) |
| | 56 | == 5. Założenie triggerów == |
| | 57 | Triggery mają za zadanie dodawać do kolejki dokumenty i kontaktu które zostały zmodyfikowane bądź dodane do systemu Subiekt. Triggery wykonujemy z załączników na bazie MSSQL Inserta. W folderze ''apps\edokumenty\classes\!BsConnect\install\sql\subiekt'' |
| | 58 | znajdują się pliki oryginalne. Kolejność ich wykonywania nie ma znaczenia. Po ich wykonaniu należy sprawdzić czy tabele dok__Dokument, adr__Ewid oraz Kontrahent posiadają dodatkowe triggery. Można tego dokonać za pomocą narzędzia SQL Manager Lite for SQL Server firmy EMS. (http://www.sqlmanager.net/). |
| 128 | | Widoki te można modyfikować według potrzeb(dodawać kolumny itd) eliminując w ten sposób dodatkową pracę ze strony programisty i aktualizacji w postaci nowej wersji ze zmodyfikowanym widokiem. |
| 129 | | Widoki modyfikujemy jeśli klient zażyczy sobie aby z systemu zew. były pobierane dodatkowe dane, których podstawowa definicja nie uwzględniła. Następnie w pliku konfiguracyjnym |
| 130 | | {{{ |
| 131 | | SUBIEKT_columns_map.ini |
| 132 | | }}} |
| 133 | | dodajemy kolejny wpis pod odpowiednim indeksem [contacts] - kontakty, [documents] - dokumenty z rzutowaniem danych z dodanej kolumny w widoku na kolumnę w systemie eDokumenty. |
| 134 | | |
| 135 | | ''' Jaka metoda jaki widok wykorzystuje ''' |
| 136 | | * Importuj wszystkie kontakty - subiekt_export_all_contacts_view |
| 137 | | * Aktualizuj dane - subiekt_export_all_queued_contacts_view |
| 138 | | * Aktualizuj dokumenty - subiekt_export_all_queued_contacts_documents_view |
| 139 | | * Aktualizuj dane kontaktów - subiekt_export_all_queued_contacts_view |
| 140 | | * Aktualizuj dokumenty kontaktów - subiekt_export_all_queued_contacts_documents_view |
| 141 | | * Pobierz wszystkie dokumenty - subiekt_export_all_contacts_documents_view |
| | 86 | Widoki te można modyfikować według potrzeb(dodawać kolumny itd) eliminując w ten sposób dodatkową pracę ze strony programisty i aktualizacji w postaci nowej wersji ze zmodyfikowanym widokiem. Więcej w [wiki:DeployerGuide/Customization/ExternalConfigurationFK/advanced konfiguracji zaawansowanej] |