| 1 | = Integracja z zewnętrznymi systemami = |
| 2 | |
| 3 | == Sposób utworzenia połączania z systemem Subiekt == |
| 4 | |
| 5 | Aby umożliwić synchronizację z systemem Subiekt należy wykonać poniższe czynności. |
| 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 |
| 11 | * dok!__Dokument |
| 12 | * adr!__Ewid |
| 13 | * kh!__Kontrahent |
| 14 | * założenie widoków (eDokumenty > 2.0 RC15) |
| 15 | * subiekt_export_all_contacts_documents_view.sql |
| 16 | * subiekt_export_all_contacts_view.sql |
| 17 | * subiekt_export_all_queued_contacts_documents_view.sql |
| 18 | * subiekt_export_all_queued_contacts_view.sql |
| 19 | |
| 20 | == Zmiana stałej == |
| 21 | W pliku config.inc należy zmienić stałą "SUBIEKT_DATA_SOURCE_DTSCNM" na |
| 22 | {{{ |
| 23 | define('SUBIEKT_DATA_SOURCE_DTSCNM', 'nazwa'); |
| 24 | }}} |
| 25 | gdzie nazwę należy zastąpić nazwą bazy danych systemu Subiekt |
| 26 | |
| 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 |
| 29 | |
| 30 | {{{ |
| 31 | apps\edokumenty\classes\BsConnect\install\data\subiekt_wsdl_ins.sql |
| 32 | }}} |
| 33 | następnie należy przejść do punkty [wiki:Deployment/SystemsIntegration#wsdl Konfiguracja tabeli wsdl_config_table] aby dokonać niezbędnych poprawek oraz ustawień według zaleceń. |
| 34 | |
| 35 | == Utworzenie tabeli kolejki == |
| 36 | W systemie Subiekt (w bazie) wykonujemy skrypt z pliku |
| 37 | {{{ |
| 38 | apps\edokumenty\classes\BsConnect\install\sql\subiekt\subiekt_export_queue.sql |
| 39 | }}} |
| 40 | Po wykonaniu tego skryptu w systemie Subiekt powinna pojawić się dodatkowa tabela o nazwie export_queue. |
| 41 | |
| 42 | == Założenie triggerów == |
| 43 | 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 |
| 44 | {{{ |
| 45 | apps\edokumenty\classes\BsConnect\install\sql\subiekt |
| 46 | }}} |
| 47 | 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/) |
| 48 | [[BR]]Dla tabeli adresów |
| 49 | [[BR]] |
| 50 | [[Image(sbAd.png, nolink)]] [[BR]] |
| 51 | |
| 52 | Natomiast dla tabeli Kontrahenci [[BR]] |
| 53 | [[Image(sbKh.png, nolink)]] [[BR]] |
| 54 | |
| 55 | Natomiast dla tabeli dokumentów[[BR]] |
| 56 | [[Image(sbDk.png, nolink)]] [[BR]] |
| 57 | Możemy przetestować działanie mechanizmy poprzez dodanie do systemu Subiekt dokumentu lub kontrahenta i sprawdzeniu czy w tabeli export_queue pojawiły się wpisy. |
| 58 | |
| 59 | == Założenie widoków == |
| 60 | Począwszy od wersji 2.0 RC16 można decydować jakie dane mają być pobierane z systemu zew. poprzez modyfikacje specjalnych widoków przeznaczonych do synchronizacji. Widoki te są wymagane w celu prawidłowego funkcjonowania. Można je znaleźć w katalogu |
| 61 | {{{ |
| 62 | edokumenty\classes\BsConnect\install\sql\subiekt\views |
| 63 | }}} |
| 64 | ''' Opis widoków ''' |
| 65 | * subiekt_export_all_contacts_documents_view - wyświetla wszystkie dokumenty, które mają kontrahenta |
| 66 | * subiekt_export_all_contacts_view - wyświetla wszystkich kontrahentów |
| 67 | * subiekt_export_all_queued_contacts_documents_view - wyświetla wszystkie dokumenty, które mają kontrahenta oraz zostały zmodyfikowane(dodane do systemu) i znajdują się w tabeli export_queue w systemie zew. |
| 68 | * subiekt_export_all_queued_contacts_view - wyświetla wszystkich kontrahentów którzy zostali zmodyfikowani(dodani do systemu) i znajdują się w tabeli export_queue w systemie zew. |
| 69 | |
| 70 | kolejność wykonywania nie ma znaczenia. |
| 71 | |
| 72 | 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. |
| 73 | 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 |
| 74 | {{{ |
| 75 | SUBIEKT_columns_map.ini |
| 76 | }}} |
| 77 | dodajemy kolejny wpis pod odpowiednim indeksem [contacts] - kontakty, [documents] - dokumenty z rzutowaniem danych z dodanej kolumny w widoku na kolumnę w systemie eDokumenty. |
| 78 | |
| 79 | ''' Jaka metoda jaki widok wykorzystuje ''' |
| 80 | * Importuj wszystkie kontakty - optima_export_all_contacts_view |
| 81 | * Aktualizuj dane - subiekt_export_all_queued_contacts_view |
| 82 | * Aktualizuj dokumenty - subiekt_export_all_queued_contacts_documents_view |
| 83 | * Aktualizuj dane kontaktów - subiekt_export_all_queued_contacts_view |
| 84 | * Aktualizuj dokumenty kontaktów - subiekt_export_all_queued_contacts_documents_view |
| 85 | * Pobierz wszystkie dokumenty - subiekt_export_all_contacts_documents_view |
| 86 | |
| 87 | == Reset == |
| 88 | Na wypadek gdyby wprowadzone zmiany miały wpływ na stabilność systemu Subiekt należy wykonać plik reset_subiekt.sql który usuwa tabele export_queue, triggery oraz widoki. |
| 89 | |
| 90 | |
| 91 | |
| 92 | |