Version 1 (modified by JP, 15 years ago) |
---|
Integracja z zewnętrznymi systemami
Sposób utworzenia połączania z systemem Subiekt
Aby umożliwić synchronizację z systemem Subiekt należy wykonać poniższe czynności.
- zmiana stałej w pliku config.inc
- sprawdzenie danych w tabeli wsdl_config_table w systemie eDokumenty
- utworzenie tabeli kolejki w systemie Subiekt
- założenie triggerów na tabele
- dok__Dokument
- adr__Ewid
- kh__Kontrahent
- założenie widoków (eDokumenty > 2.0 RC15)
- subiekt_export_all_contacts_documents_view.sql
- subiekt_export_all_contacts_view.sql
- subiekt_export_all_queued_contacts_documents_view.sql
- subiekt_export_all_queued_contacts_view.sql
Zmiana stałej
W pliku config.inc należy zmienić stałą "SUBIEKT_DATA_SOURCE_DTSCNM" na
define('SUBIEKT_DATA_SOURCE_DTSCNM', 'nazwa');
gdzie nazwę należy zastąpić nazwą bazy danych systemu Subiekt
Sprawdzenie danych w tabeli
Jeśli w systemie eDokumenty tabela wsdl_config_table jest pusta należy wykonać odpowiedni skrypt SQL dla Subiekt znajduję się on w katalogu
apps\edokumenty\classes\BsConnect\install\data\subiekt_wsdl_ins.sql
następnie należy przejść do punkty Konfiguracja tabeli wsdl_config_table? aby dokonać niezbędnych poprawek oraz ustawień według zaleceń.
Utworzenie tabeli kolejki
W systemie Subiekt (w bazie) wykonujemy skrypt z pliku
apps\edokumenty\classes\BsConnect\install\sql\subiekt\subiekt_export_queue.sql
Po wykonaniu tego skryptu w systemie Subiekt powinna pojawić się dodatkowa tabela o nazwie export_queue.
Założenie triggerów
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
apps\edokumenty\classes\BsConnect\install\sql\subiekt
znajdują się pliki oryginalne. Kolejność ich wykonywania nie ma znaczenia. Po ich wykonaniu należy sprawdzić czy tabele dokDokument, adrEwid 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/)
Dla tabeli adresów
Natomiast dla tabeli Kontrahenci
Natomiast dla tabeli dokumentów
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.
Założenie widoków
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
edokumenty\classes\BsConnect\install\sql\subiekt\views
Opis widoków
- subiekt_export_all_contacts_documents_view - wyświetla wszystkie dokumenty, które mają kontrahenta
- subiekt_export_all_contacts_view - wyświetla wszystkich kontrahentów
- 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.
- 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.
kolejność wykonywania nie ma znaczenia.
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. 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
SUBIEKT_columns_map.ini
dodajemy kolejny wpis pod odpowiednim indeksem [contacts] - kontakty, [documents] - dokumenty z rzutowaniem danych z dodanej kolumny w widoku na kolumnę w systemie eDokumenty.
Jaka metoda jaki widok wykorzystuje
- Importuj wszystkie kontakty - optima_export_all_contacts_view
- Aktualizuj dane - subiekt_export_all_queued_contacts_view
- Aktualizuj dokumenty - subiekt_export_all_queued_contacts_documents_view
- Aktualizuj dane kontaktów - subiekt_export_all_queued_contacts_view
- Aktualizuj dokumenty kontaktów - subiekt_export_all_queued_contacts_documents_view
- Pobierz wszystkie dokumenty - subiekt_export_all_contacts_documents_view
Reset
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.