Skip to main content

Integracja z systemem ERP lub handlowym

Konfiguracja synchronizacji

W tej sekcji znajdują się następujące opcje:

  • Synchronizacja danych
  • Synchronizacja CSV
  • Automatyczny eksport danych (wymaga dodatkowej licencji)Więcej tutaj
  • Konfiguracja exportu zamówień własnych
  • Integrator
  • Konfiguracja integratora
  • Program zewnętrzny - określa program, z którego wykonywana będzie synchronizacja
  • Włącz automatyczne tworzenie konta dla nowo utworzonej firmy
  • Ilość towarów w drodze - możliwość wyczyszczenia ilości towarów w drodze
  • Stany magazynowe - możliwość wyczyszczenia stanów magazynowych
  • Kodowanie przy eksporcie CSV

Synchronizacja

W tej sekcji konfiguruje się bazę danych do synchronizacji ( Baza ODBC) oraz znajduje się tu zestawienie procesów wykorzystywanych w czasie przeprowadzania synchronizacji:

  • ID - identyfikator procesu
  • Rozpoczęto - data uruchomienia procesu
  • Zakończono - data zakończenia procesu
  • ID początkowe - identyfikator pierwszego obiektu, który jest synchronizowany
  • ID końcowe - identyfikator ostatniego obiektu, który jest synchronizowany
  • ID aktualne - identyfikator aktualnie przetwarzanego obiektu
  • Rekordów - łączna liczba rekordów, która zostanie pobrana
  • Pozostałe rekordy - liczba rekordów, które zostały do przetworzenia
  • Postęp - informacja o postępie prac
  • Rozmiar pakietu
  • Priorytet procesu
  • Aktywny - określa, czy proces jest aktywny
  • Zawieszony - określa, czy proces jest zawieszony

Synchronizacja danych - opcje zaawansowane (modyfikacja niezalecana)

W tej sekcji znajdują się opcje umożliwiające pobranie danych z systemu zewnętrznego (używanie tego modułu nie jest zalecane, ponieważ wszystkie wymienione poniżej metody można wykonać również używając opcji dostępnych powyżej):

  • Importuj dokumenty z wybranego okresu - przycisk umożliwiający przeprowadzenie synchronizacji określonego typu dokumentów z wybranego okresu
  • Synchronizuj kontrahentów - przycisk umożliwiający przeprowadzenie synchronizacji kontrahentów
  • Synchronizuj kategorie produktów - przycisk umożliwiający przeprowadzenie synchronizacji kategorii produktów
  • Synchronizuj produkty - przycisk umożliwiający przeprowadzenie synchronizacji produktów
  • Synchronizuj rabaty na grupy produktowe - przycisk umożliwiający przeprowadzenie synchronizacji rabatów i grup produktowych
  • Pełna synchronizacja - przycisk umożliwiający przeprowadzenie synchronizacji wszystkich danych
  • Translacja kodów produktów - umożliwia przeprowadzenie translacji kodów produktów

Tworzenie nowego procesu

Nowy proces tworzymy klikając na przycisk dodaj nowy w opcjach zaawansowanych synchronizacji danych.

Poniżej znajduje się tabela z nazwami procesów, sugerowanym rozmiarem pakietu oraz priorytetem, jaki należy ustawić tworząc nowy proces.

Rozmiar pakietu - ile rekordów ma zostać pobranych z systemu zewnętrznego

Priorytet - w jakiej kolejności dane mają się pobierać 0 - najwyższy, 9999 - najniższy

Nazwa procesuRozmiar pakietuPriorytetimport_prepare501import_selected1002on_timer3table_measure_unit15010table_vat15015table_payment_type5017table_product_category15025table_storehouse15050table_company5080table_discount5085table_price_individual5090table_price_company_group15095table_price_product_group150100table_exchange50120table_product25200table_invoice50225table_document_store30250table_document_supply_details_in150255table_document_payment50275table_product_reservation150999table_product_quantity1001000table_storehouse_content501001after_all1509999

Synchronizacja CSV

Sekcja odpowiedzialna za synchronizację danych z pliku CSV. Wymaga określenia:

  • Ścieżki do pliku
  • Separatora kolumn
  • Separatora tekstu
  • Szablonu importu - możesz zdefiniować szablon, który będzie używany w przyszłości
  • Typu importu

Jak wygląda prawidłowy format pliku CSV, patrz Import CSV lub Drukowanie etykiet z CSV

OnTimer - cykliczne wykonywanie synchronizacji

Proces OnTimer pozwala na automatyzację procesu synchronizacji poprzez uruchamianie synchronizacji wybranych elementów o określonych godzinach,

które konfiguruje się z poziomu bazy danych (tabela setting pozycja on_timer_execute_time - wiele godzin rozdzielamy przecinkiem). Należy pamiętać, aby czas wykonywania nie był ustawiony zbyt często (najlepiej 1-2 razy dziennie, ponieważ w innym przypadku procesy mogą się na siebie nałożyć i wywołać zakleszczenie na bazie danych, patrz - Deadlock).

Jeżeli integrujesz również dodatkowe synchronizacje, np. XML, zwróć uwagę, przy procesie update tych samych tabel, żeby integracje nie nakładały się na siebie.

Plik konfiguracyjny OnTimer pozwala na włączenie (wartość true) lub wyłączenie (wartość false) następujących opcji:

  • $on_timer_actions - pozwala na uruchomienie pełnej synchronizacji wybranych tabel

    • table_invoice - dotyczy synchronizacji faktur
    • table_price_product_group - dotyczy synchronizacji cen grup produktów
    • table_product - dotyczy synchronizacji produktów
    • table_company - dotyczy synchronizacji firm
    • table_document_order - zamówienia
    • table_measure_unit -jednostki miary
    • table_vat - VAT
    • table_payment_type - rodzaj płatności
    • table_product_attribute - atrybuty do produktów
    • table_product_category - kategorie produktowe
    • table_product_alt_attribute
    • table_storehouse - magazyny
    • table_price_company_group - rabaty dla firm
    • table_rabat_group - grupy rabatowe
    • table_company - firmy
    • table_ph - przedstawiciele handlowi
    • table_places - dodatkowe adresy
    • table_invoice - faktury
    • table_payed_invoice - zapłacone faktury
    • table_document_store - stany magazynowe
    • table_document_supply_details_in - stany magazynowe na dany dzień
    • table_document_payment - płatności
    • table_product_reservation - rezerwacje na produktach
    • table_product_quantity - ilość produktów
    • table_product_distribution_info
  • $synchronize_document_invoice_by_date - umożliwia synchronizację faktur z ostatnich time_range dni

  • $synchronize_document_store_by_date - umożliwia synchronizację dokumentów magazynowych z ostatnich time_range dni

  • $synchronize_document_payment_by_date - umożliwia synchronizację dokumentów płatności z ostatnich time_range dni

  • $synchronize_product_price_converter - umożliwia włączenie automatycznego przeliczania poziomów cenowych

Instalacja synchronizacji

  1. W zależności od tego z jakim programem ma działać synchronizacja, pobieramy z ftp pliki z odpowiedniego katalogu, które znajdują się w katalogu głównym „synchronizacja” (dane otrzymasz kontaktując się z Questy).

    1. Comarch – pliki do synchronizacji z programem CDN XL (import danych);
    2. Comarch_export – pliki do synchronizacji z programem CDN XL (export danych);
    3. Symf_prem – pliki do synchronizacji z programem Sage Symfonia 2.0 Handel;
    4. Graffiti – pliki do synchronizacji z programem Graffiti;
    5. Subiekt – pliki do synchronizacji z programem Subiekt;
    6. Sym_forte – pliki do synchronizacji z programem Symfonia ERP Handel;
    7. Wapro – pliki do synchronizacji z programem Wapro.
  2. W katalogu (domyślnie D:/system/) tworzymy folder o nazwie „synchronizacja”, a następnie umieszczamy w nim pobrane pliki (punkt 1).

Jeżeli instalujemy synchronizację z programem Comarch lub Symfonia, należy przejść do kolejnego punktu. Natomiast gdy synchronizacja dotyczy pozostałych programów, należy przejść do punktu 5.

  1. Pobieramy pliki z katalogu Comarch_export dla synchronizacji z CDN XL lub pliki z katalogu smf dla synchronizacji z Symfonią. Następnie w folderze (domyślnie D:/system/) tworzymy katalog o nazwie „export”. Przenosimy pobrane pliki exportu do stworzonego katalogu.
  2. W pliku D:/system/system/config/config.php (ścieżka domyślna) należy podać:

w przypadku, gdy folder exportu znajduje się na maszynie wraz z plikami systemu:

‘action’ => ‘save’,

‘dir’ => ‘D:/export/’,

w przypadku, gdy folder znajduje się na innej maszynie niż pliki systemu:

‘action’ => ‘ftp’,

‘host’ => ‘adres IP maszyny, na którym znajduje się folder „export”’,

‘port’ => ‘numer portu ustawionego dla stworzonego serwera ftp’,

‘user’ => ‘login użytkownika z dostępem do serwera ftp’,

‘pass’ => ‘hasło do serwera ftp’,

‘dir’ => ‘/export/’,

Przed skonfigurowaniem tych danych należy stworzyć serwer ftp z udostępnionym katalogiem „export” oraz odpowiednimi danymi dostępowymi. Do tej akcji można użyć programu CesarFTP.

  1. Wchodzimy w „Panel sterowania” ->> „Narzędzia administracyjne” ->> „Źródła danych (ODBC)”. W zakładce „Systemowe DSN” dodajemy źródło danych poprzez przycisk „dodaj”. Następnie wybieramy z listy sterownik, dla którego chcemy ustawić źródło danych. Kolejnym krokiem jest podanie nazwy, która będzie odwoływać się do tworzonego źródła danych. Następnie wybieramy serwer oraz w dalszym kroku podajemy nazwę bazy danych.

W przypadku Symfonii 2.0 Handel baza danych powinna sama się pojawić w ODBC po dodaniu raportów z punktu 9, wykonaniu raporu „Konwersja” i dodaniu bazy Symfonii do motoru bazy danych Pervasive.

  1. W programie pgAdmin III wchodzimy do tabeli „synchronization_config” w bazie danych. Mając wgląd do tabeli ustawiamy następujące pola:
  • odbc_dbname – nazwa bazy danych jaką ustawiliśmy w ODBC (punkt 5);

  • odbc_host – adres umożliwiający dostęp do ODBC:

    • w przypadku, gdy ODBC jest na tej samej maszynie co baza danych, ustawiamy „localhost”;
    • w przypadku, gdy ODBC jest na innej maszynie niż baza danych, należy ustawić adres ip maszyny ODBC;
  • odbc_user – nazwa użytkownika, jeżeli nie jest wymagana pozostawiamy puste pole;

  • odbc_password – hasło, jeżeli nie jest wymagane pozostawiamy puste pole;

  1. Przechodzimy do katalogu „synchronizacja” i zmieniamy nazwę plikuconfig.pgsql.org na config.pgsql.php. Następnie w pliku wprowadzamy następujące wpisy:
`$pgHOST` = 'localhost';

`pgUSER` = 'postgres';

`$pgPASS` = 'haslo' ; _// podane hasło do bazy danych_

`$pgPORT` = '5432' ;

`$pgDB` = 'b2b'; _// podana nazwa bazy danych_
  1. W systemie przechodzimy do menu “Ustawienia” >> “Synchronizacja”, a następnie z listy wybieramy program zewnętrzny, z którym będzie uruchomiona synchronizacja. Kolejnym krokiem jest przejście do Synchronizacja danych. Na stronie z zestawieniem procesów uruchamianych podczas synchronizacji należy, odpowiednio do danego programu zewnętrznego, ustawić aktywność i priorytety procesów. Wzór aktywnych procesów znajduje się w drugim rozdziale instrukcji.

Jeżeli instalujemy synchronizację z programem Symfonia, należy przejść do kolejnych punktów. Natomiast gdy synchronizacja dotyczy pozostałych programów należy przejść do punktu 16.

  1. W programie Symfonia, logując się jako Admin, wchodzimy w menu„Kartoteki” >> „Raporty”. W lewej części okna katalogu raportów należy stworzyć nowy katalog o nazwie „b2b”. Następnie wchodzimy do stworzonego katalogu i w prawej części okna tworzymy nowe raporty. Następnie wchodzimy do stworzonego katalogu i w prawej części okna tworzymy nowy raport o nazwie „konwersja”, który posiadać będzie następującą treść:
`createddfs(katalogfirmy())<br/>
Message (KATALOGFIRMY())`

Po zapisaniu raportu wykonujemy go (prawy przycisk myszy).

  1. W raporcie „ImportKonfiguracja” zmieniamy następujące dane:

    string katalogImportu = „D:/system/export/”

Podajemy ścieżkę do katalogu „export” stworzonego w punkcie 3.

string szablonImportuZamowienia = „D:/system/export/smf/hm.ams”

Podajemy ścieżkę do pliku w katalogu „export” stworzonego w punkcie 3.

  1. W lewej części okna katalogu raportów wybieramy katalog o nazwie „procedury”, następnie wyszukujemy raport „Procedura OnTimer”. Należy zmodyfikować jego treść następująco:

#Include Import Wpis należy umieścić za ostatnim komentarzem (tj. wpisem rozpoczynającym się znakiem //).

CheckImport() Wpis należy umieścić pod linią „int sub OnTimer()”

Następnie zapisujemy raport.

  1. Generujemy zamówienie w systemie.

  2. Wchodzimy w menu„Firma” >> „Import danych” i tworzymy nowy podając następujące dane:

    • Nazwa - Import B2B
    • Plik sterownika - wskazujemy plik „ie8.dll” znajdujący się w katalogu, w którym zainstalowana jest symfonia (domyślnie C:\Symfonia\ie8.dll)
    • Tryb pracy - automatyczny

Używamy przycisk „ok” aby zatwierdzić dane, a następnie podajemy kolejne informacje:

- Zbiór danych - d:\\system\\export\

Uwaga: Podajemy ścieżkę do katalogu „export”, w którym znajduje się wygenerowane zamówienie (punkt 12).

- Szablon - d:\\system\\export\\smf\\hm.ams

Podajemy ścieżkę do pliku „hm.ams”, pobraliśmy w punkcie 3.

Następnie wykonujemy pobranie zamówienia wskazując numer seryjny stworzonego zamówienia w punkcie 12.

  1. Wchodzimy w„Ustawienia” >> „Typy dokumentów” >> „Dokumenty sprzedaży” >> „Inna sprzedaż” >> „ZO”. Następnie poprzez edycję dodajemy nową serię typu dokumentu podając dane:

Seria - sZMA

Szablon - #n/#M/#r/AURA

Numeracja - miesięczna

  1. Wracając do„Ustawienia” >> „Dane firmy” >> „Parametry” >> z listy „Wykonywanie procedur” >> „OnTimer”. Należy ustawić wartość „TAK”.
  2. Za pomocą wiersza poleceń uruchamiamy pliksynch.bat z folderu synchronizacji. Jeżeli opis został wykonany prawidłowo wg kroków powyżej synchronizacja zacznie działać prawidłowo.

Uwaga

Poniżej kroki które należy sprawdzić jeżeli synchronizacja nie chce się uruchomić:

- w bazie danych systemu sprawdź, czy w tabeli synchronization_config opcja kill jest ustawiona na false

(true oznacza, że synchronizacja ma być zamykana od razu po uruchomieniu)

- zweryfikuj, czy wszystkie dane w synchronization_config są wprowadzone prawidłowo