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.

  • 1. Utworzenie źródła danych
  • 2. Zmiana stałej w pliku config.inc
  • 3. Zmiana danych w Panel Sterowania > Systemy zewnętrzne
  • 4. Utworzenie tabeli kolejki w systemie Subiekt (baza MSSQL)
  • 5. Założenie triggerów na tabele w bazie Subiekt
    • dok__Dokument
    • adr__Ewid
    • kh__Kontrahent
  • 6. Założenie widoków w bazie Subiekt (MSSQL)
    • 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

1. Utworzenie źródła danych

Wchodzimy do Panelu sterowania > Źródła danych. Tworzymy źródło podając ConnectionString np.:

Server=SERWEREK\SUBIEKT;Uid=sa;Pwd=secret;Database=SubiektGT

2. Zmiana stałej

W pliku config.inc należy zmienić stałą "SUBIEKT_DATA_SOURCE_DTSCNM" na nazwę nadaną dla źródła danych np.:

 define('SUBIEKT_DATA_SOURCE_DTSCNM', 'nazwa');

3. Zmiana danych w Panel Sterowania > Systemy zewnętrzne

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.

Otwórz w Windows Menu Start > Postgresql > psql to postgres.
cd C:\Program files\BEtaSoft\eDokumenty\public_html\apps\edokumenty\classes\BsConnect\install\data
psql -U postgres -f subiekt_wsdl_ins.sql edokumenty

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.

UPDATE wsdl_config_table SET wsdl__ = replace(wsdl__, '{host}', 'localhost:8080/edokumenty');
  • System - wskazuje na nazwę systemu dla którego konfigurowana jest dana metoda(zostawiamy bez zmian)

Resztę można pozostawić taj jak jest. Dla zaawansowanych podajemy dodatkowe informacje

4. 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.

5. 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 na bazie MSSQL Inserta. 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.

6. Założenie widoków

Widoki te są wymagane w celu prawidłowego funkcjonowania. Można je znaleźć w katalogu

edokumenty\classes\BsConnect\install\sql\subiekt\views 

Można też je pobrać z załączonego niżej katalogu subiekt.zip. Widoki należy wykonać na bazie Subiekt (MsSQL).

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. Więcej w konfiguracji zaawansowanej

GOTOWE. Po przelogowaniu się w systemie eDokumenty w module Klienci i kartotece klienta mamy dostępne nowe przyciski m.in. "Insert > pobierz wszystkie kontakty".

Reset

Na wypadek gdyby wprowadzone zmiany miały być z jakiegoś względu wycofane z bazy Subiekta, należy wykonać plik reset_subiekt.sql który usuwa tabele export_queue, triggery oraz widoki.

Raporty z parametrem klienta

Aby raportować rozrachunki z klientem, sprzedaż czy cokolwiek z nim związane można do tego użyć raportów ze zdefiniowanym zewnętrznym źródłem danych patrz: tworzenie raportów SQL

Załączniki