Wstęp
Od wersji 2013.6 systemu Comarch ERP XL ( i wersji 2013.7.1 systemu Comarch ERP XL HR) został wprowadzony mechanizm pozwalający na synchronizację dwustronną obiektów struktury firmy tzn. wydziałów, lokalizacji i projektów. Pozwoli to odzwierciedlać w obu bazach wszystkie dane, niezależnie od systemu, w którym zostały wprowadzone. Poza dodawaniem i aktualizacją tych obiektów, umożliwiamy również ich jednoczesne usuwanie z obu baz.
Konfiguracja po stronie serwera SQL
Bazy systemu Comarch ERP XL i Comarch ERP XL HR znajdują się na jednym serwerze
Aby zsynchronizować ze sobą bazy systemu Comarch ERP XL i Comarch ERP XL HR, które znajdują się na tym samym serwerze, należy dodać login SQL oraz zlinkowany serwer zgodnie z opisem poniżej.
Dodanie loginu
Z poziomu narzędzia: Microsoft SQL Server Management Studio > Security > Logins należy dodać nowy login SQL (proponowana nazwa to CDNDTS). Ustawienia dla loginu:
- zakładka: General
Należy wpisać nazwę loginu i jego hasło.
- zakładka: Server Roles
Należy zaznaczyć rolę: public.
- zakładka: User Mapping
Login CDNDTS należy zmapować na bazę:
-
- Comarch ERP XL HR
W obszarze Database role membership for: należy zaznaczyć role: CDN, CDNRaport, public, db_owner.
-
- konfiguracyjną Comarch ERP XL HR
W obszarze Database role membership for: zaznaczyć role: CDNRaport, public.
-
- Comarch ERP XL
W obszarze Database role membership for: zaznaczyć role: CDNRaport, public, db_owner.
Dodanie zlinkowanego serwera
Pomimo tego, że obie bazy znajdują się na jednym serwerze, konieczne jest dodanie zlinkowanego serwera. Nowy zlinkowany serwer powinien mieć nazwę: ‘Nazwa serwera’+’_Place’. Podczas jego tworzenia zalecane jest użycie poniższego skryptu:
DECLARE @nazwa_serwera nvarchar(128)
DECLARE @sciezka nvarchar(4000)
DECLARE @uzytkownik_zdalny nvarchar(128)
DECLARE @haslo nvarchar(128)
set @nazwa_serwera = ‘nazwa serwera’+’_Place’
set @sciezka= ‘ścieżka serwera’
set @uzytkownik_zdalny = ‘login do serwera’
set @haslo = ‘hasło loginu’
if exists (select srvname from master..sysservers where srvname =@nazwa_serwera)
BEGIN
EXEC sp_dropserver @nazwa_serwera,’droplogins’
END
EXEC sp_addlinkedserver @nazwa_serwera, @srvproduct=”, @provider=N’SQLOLEDB’, @datasrc = @sciezka
EXEC sp_addlinkedsrvlogin @nazwa_serwera, ‘false’, NULL, @uzytkownik_zdalny , @haslo
EXEC master.dbo.sp_serveroption @server=@nazwa_serwera, @optname=N’rpc’, @optvalue=N’true’
EXEC master.dbo.sp_serveroption @server=@nazwa_serwera, @optname=N’rpc out’, @optvalue=N’true’
gdzie parametry:
@uzytkownik_zdalny i @haslo – odnoszą się do loginu założonego w pkt. Dodanie loginu,
@nazwa_serwera – nazwa serwera ( wraz z instancją, jeżeli istnieje), gdzie znajdują się bazy Comarch ERP XL HR i Comarch ERP XL
@sciezka – odpowiada fizycznej nazwie serwera SQL, na którym znajduje się baza Comarch ERP XL HR i Comarch ERP XL
Bazy systemu Comarch ERP XL i Comarch ERP XL HR znajdują się na różnych serwerach
Dodanie loginu
Jeśli bazy Comarch ERP XL i Comarch ERP XL HR zlokalizowane są na różnych serwerach, wtedy na obu tych serwerach SQL należy dodać ten sam nowy login z hasłem, jak opisano pkt. Dodanie loginu.
Dodanie zlinkowanych serwerów
Łącznie wymagane jest dodanie trzech zlinkowanych serwerów:
- dwa serwery zlinkowane po stronie serwera, gdzie znajduje się baza Comarch ERP XL HR,
- jeden zlinkowany serwer po stronie serwera, gdzie znajduje się baza Comarch ERP XL.
Serwery należy dodać zgodnie z opisem poniżej.
Na każdym serwerze SQL (zarówno na tym, gdzie znajduje się baza systemu Comarch ERP XL jak i tym, gdzie znajduje się baza Comarch ERP XL HR) należy dodać zlinkowany serwer o nazwie ‘Nazwa serwera XL HR’+’_Place’.
Tworząc taki serwer zalecane jest skorzystanie ze skryptu umieszczonego w pkt. Dodanie zlinkowanego serwera , gdzie jako nazwę serwera przekazujemy nazwę serwera, gdzie znajduje się baza Comarch ERP XL HR, a jako użytkownika zdalnego, dane loginu dodanego w pkt. Dodanie loginu.
Trzeci zlinkowany serwer należy dodać, po stronie serwera, gdzie znajduje się baza Comarch ERP XL HR. Z poziomu narzędzia: Microsoft SQL Server Management Studio > Server Objects > Linked Servers, należy wybrać opcję: New Linked Server…
Ustawienia zlinkowanego serwera:
- zakładka: General
Jako nazwę zlinkowanego serwera należy podać nazwę serwera SQL, na którym znajduje się baza Comarch ERP XL, a jako ‘Server Type’ należy wybrać opcję: SQL Server.
- zakładka: Security
W polach: ‘Local Login’ i ‘Remote User’ należy podać nazwę użytkownika z pkt. Dodanie loginu, a w polu ‘Remote Password’ należy wpisać dla niego hasło. Zaznaczyć opcję: ‘Be made using the login’s current security context’.
- Zakładka: Server Options
Należy przestawić parametry RPC i RPC Out na wartość TRUE.
Ustawienia w systemie Windows
Z uwagi na to, że synchronizacja wykonywana jest między serwerami w różnych fizycznych lokalizacjach, konieczne jest uruchomienie i skonfigurowanie usługi systemowej MSDTC, czyli koordynatora transakcji rozproszonych.
Usługę należy uruchomić dla każdego synchronizowanego serwera.
Należy uruchomić usługę lokalną o nazwie: Koordynator transakcji rozproszonych.
Usługę należy skonfigurować jak poniżej:
Dodatkowo, należy skonfigurować zaporę sieciową, reguły przychodzące i wychodzące jak poniżej:
Konfiguracja w systemie Comarch ERP XL
Konfiguracja synchronizacji struktury organizacyjnej
W konfiguracji systemu Comarch ERP XL na zakładce: HR należy zaznaczyć check: Synchronizuj strukturę organizacyjną i dane kadrowe. Następnie w polach: Serwer i Baza należy wprowadzić nazwę serwera SQL, na którym znajduje się baza Comarch ERP XL HR i nazwę tej bazy. W polach: Login i Hasło należy wprowadzić dane loginu, utworzonego w punkcie Dodanie loginu.
Konfiguracja importu list płac
Aby możliwy był import list płac z systemu Comarch ERP XL HR, należy prawidłowo uzupełnić dane zestawu DTS w module: Administrator (Narzędzia>Transformacje DTS).
Konfiguracja w systemie Comarch ERP XL HR
W konfiguracji systemu Comarch ERP XL HR, zakładka: Płace, podzakładka: Parametry współpracy z XL, należy zaznaczyć check: Współpraca z systemem Comarch ERP XL i w polach: Serwer bazy danych systemu XL i Baza danych systemu XL, wprowadzić kolejno nazwę serwera SQL, gdzie znajduje się baza systemu Comarch ERP XL i nazwę tej bazy.