Integracje

⌘K
  1. Strona główna
  2. Integracje
  3. ERP – Integracja z Comarc...
  4. Opis integracji
  5. Techniczny opis integracji z Comarch ERP XL

Techniczny opis integracji z Comarch ERP XL

Ten wpis opisuje techniczne wymagania i sposób działania integracji xSale z Comarch ERP XL. Jest przeznaczony dla osób odpowiedzialnych za konfigurację środowiska, administrację serwerem, bazę danych SQL oraz utrzymanie WebService XL.

Jeśli szukasz dokumentacji API xSale, zobacz: Dokumentacja API xSale.

W tym artykule znajdziesz

Wymagania środowiskowe

Integracja z Comarch ERP XL działa przez Futuriti WebService XL instalowany w środowisku klienta. WebService powinien być uruchomiony na serwerze, na którym działa Comarch ERP XL albo na serwerze mającym wymagany dostęp do komponentów Comarch ERP XL i bazy danych SQL.

  • Konto Windows używane do obsługi WebService powinno mieć uprawnienia administratora.
  • Konto Windows musi mieć dostęp do dodawania i uruchamiania wpisów w Harmonogramie zadań Windows.
  • WebService XL jest uruchamiany z Harmonogramu zadań, a nie jako klasyczna usługa Windows. Wynika to ze sposobu pracy API Comarch ERP XL.
  • W konfiguracji instalatora dla XL używany jest komponent AlpolXlBiuroLandAtomStoreSOAP.exe oraz profil WebserviceXL.
  • Serwer powinien pracować nieprzerwanie. Wyłączanie serwera na noc może powodować problemy z synchronizacją danych.

Konta i licencje

Dla stabilnej pracy integracji zalecane jest wydzielenie kont i licencji wyłącznie na potrzeby WebService XL.

  • Konto Windows powinno być dedykowane wyłącznie dla WebService, np. xSale. Ogranicza to ryzyko przejmowania sesji przez inne procesy lub użytkowników.
  • Konto operatora w Comarch ERP XL powinno być dedykowane wyłącznie dla WebService, np. xSale. Dzięki temu dokumenty tworzone przez integrację są powiązane z jednym operatorem.
  • Do działania wymagana jest wolna licencja Comarch ERP XL.
  • Licencje Comarch ERP XL dla integracji najlepiej wydzielić na osobny klucz i przypisać na wyłączność dla operatora używanego przez WebService. Brak dostępnej licencji może zatrzymać synchronizację dokumentów.

Komunikacja i dostęp sieciowy

Komunikacja między xSale a WebService XL odbywa się przez endpoint SOAP. W konfiguracji WebService można włączyć tryb HTTPS i wskazać certyfikat.

  • Aplikacja może komunikować się po protokole HTTPS.
  • Można użyć własnego certyfikatu HTTPS.
  • Wymagany jest stały adres IP po stronie środowiska klienta.
  • Port wskazany w konfiguracji WebService musi być otwarty dla komunikacji z xSale.
  • Przykładowa lokalna ścieżka endpointu SOAP w konfiguracji testowej ma postać /AlpolXlBiuroLandAtomStore/Service/SOAPService/SOAPService.

Zmiany w bazie danych

Podczas instalacji WebService XL wykonywane są skrypty SQL tworzące obiekty pomocnicze wykorzystywane przez integrację. Nie należy usuwać ani modyfikować tych obiektów bez konsultacji z xSale, ponieważ są używane m.in. do synchronizacji stanów magazynowych, rezerwacji i dokumentów.

Tworzone lub aktualizowane tabele:

  • [CDN].[ALPOL_ArticleStock]
  • [CDN].[ALPOL_SyncObjectsTypes]
  • [CDN].[ALPOL_SyncObjectsVersion]
  • [CDN].[ALPOL_SyncObjects]

Tworzone lub aktualizowane funkcje:

  • [CDN].[ALPOL_GetDocumentByShipmentWaybillERP]
  • [CDN].[ALPOL_GetDocumentByShipmentWaybill]
  • [CDN].[ALPOL_GetSalesDocumentIdByDocumentId]
  • [AlpolWF].[SplitString]
  • [AlpolWF].[SplitStringIndex]
  • [AlpolWF].[GetStockQuantityWithReservation]

Inne operacje wykonywane na bazie:

  • ALTER DATABASE [@DatabaseName] SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 5 DAYS, AUTO_CLEANUP = ON)
  • ALTER TABLE [CDN].[TwrZasoby] ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON)
  • ALTER TABLE [CDN].[Rezerwacje] ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON)
  • CREATE SCHEMA [AlpolWF]

Uprawnienia SQL

Użytkownik SQL, na którym działa aplikacja, powinien mieć co najmniej uprawnienia w rolach:

  • cdnKNF
  • cdRaport
  • db_owner

Obiekt, do którego użytkownik SQL musi mieć dostęp modyfikacji:

  • [CDN].[ZamNag]

Sposób pracy integracji

Integracja wykorzystuje Futuriti WebService XL jako warstwę komunikacji między xSale a Comarch ERP XL. Dane zapisywane do Comarch ERP XL są wprowadzane przez CDN API, natomiast część odczytów i operacji technicznych jest realizowana przez metody SOAP WebService XL.

W zależności od konfiguracji i uruchomionych procesów integracja może obsługiwać m.in.:

  • towary, grupy, atrybuty i powiązane dane asortymentowe,
  • ceny i stany magazynowe,
  • kontrahentów i adresy,
  • płatności,
  • zamówienia sprzedaży,
  • inne dokumenty handlowe,
  • inne dokumenty magazynowe,
  • statusy dokumentów,
  • numery listów przewozowych i powiązania dokumentów z przesyłkami.

Przykładowe grupy metod SOAP używane przez WebService XL obejmują odczyt paczek towarów, stanów, cen, statusów dokumentów i zamówień oraz przesyłanie dokumentów XML, np. przez metodę SendXML. Status zamówienia może być pobierany metodą GetSalesOrderStatus.

Synchronizacja większości obiektów odbywa się na podstawie daty ostatniej modyfikacji. Wyjątkiem są stany magazynowe, które są synchronizowane z użyciem mechanizmu CHANGE_TRACKING oraz tabel pomocniczych ALPOL_SyncObjects i ALPOL_SyncObjectsVersion.

Synchronizacja towarów i powiązanych elementów jest realizowana po kodzie towaru. Kod jest więc kluczowym identyfikatorem przy utrzymaniu spójności danych między Comarch ERP XL i xSale.

Lokalizacje instalacji i backupu

Domyślna lokalizacja instalacji:

  • \!Futuriti_Programy\Futuriti Webservice XL

Domyślna lokalizacja backupu:

  • \!Futuriti_Backup

Wymagania serwera i obsługiwane wersje

  • Minimalne wymagania serwera są takie jak wymagania aktualnie zainstalowanej wersji Comarch ERP XL.
  • Ze względu na skalę działania integracji wymagania dotyczące zasobów serwera mogą być wyższe niż minimalne wymagania samego Comarch ERP XL.
  • Instalacja jest standardowo możliwa dla trzech ostatnich najpopularniejszych wersji Comarch ERP XL.

Jeśli nie masz pewności, czy dana wersja Comarch ERP XL jest obsługiwana przez xSale, skontaktuj się z pomocą techniczną lub opiekunem handlowym.

Czego brakuje w tym artykule?