Administracja > eTeczka admin > Konfiguracja synchronizacji > Schematy synchronizacji danych

Drukuj

Schematy synchronizacji danych

W niniejszym artykule omówimy szczegółowo dostępne w eTeczce admin schematy synchronizacji danych pracowniczych z dostępnych systemów kadrowo-płacowych, przy użyciu synchronizatora eTeczka sync, do systemu eTeczki.

 

Założenia podstawowe synchronizacji

Dane są aktualnie synchronizowane jednostronnie, tj. z systemu kadrowo-płacowego do eTeczki.

Dane nowych rekordów są tworzone w eTeczce.

Dane zmienionych rekordów są aktualizowane w eTeczce.

Rekordy pracowników usunięte z systemu kadrowo-płacowego nie są kasowane ani nie są aktualizowane w eTeczce.

 

Obsługiwane systemy

Aktualnie przez eTeczkę obsługiwane są następujące synchronizacje:

1.Symfonia R2Płatnik.

2.Symfonia Kadry i Płace (KiP).

3.Systemy kadrowo-płacowe bazujące na MS SQL (np. rodziny Enova oraz Optima).

4.(Enterprise) Systemy kadrowo-płacowe bazujące na TETA HR API.

5.Dowolne systemy mogące utworzyć dane w bazie MS SQL (np. darmowej MS SQL Express) – niżej więcej informacji.

 

Symfonia R2Płatnik

 

Obecnie eTeczka obsługuje tylko wersję R2Płatnik “on-premise”. Jeżeli w potrzebna jest integracja z Symfonia R2Płatnik w wersji “cloud” – prosimy o kontakt z działem sprzedaży.

 

Rodzaje połączeń w R2Płatnik

Dla systemu Symfonia R2Płatnik obsługiwane są dwa rodzaje połączeń:

MS SQL – połączenie na poziomie bazy danych, umożliwia dodatkowo (wymagane zgłoszenie do działu wsparcia) konfigurację ograniczeń w pobieraniu danych pracowników w zapytaniach SQL (tzw. WHERE).

API – połączenie na poziomie R2PAPI, aktualnie pobiera wszystkie rekordy pracowników, docelowo będzie możliwe jako połączenie dwustronne.

 

img_efob_161

 

Symfonia R2Płatnik – MS SQL – schemat „SQL Podstawowy”

Schemat SQL Podstawowy jest zaprojektowany do synchronizacji podstawowych danych pracowniczych za pomocą połączeń SQL. Wykorzystuje on wcześniej zdefiniowaną kwerendę SQL.

 

Zakres danych i mapowanie

Poniżej przedstawiono podstawowe pola eksportowane z systemu Symfonia R2Płatnik oraz ich mapowanie do systemu eTeczki:

Pole Symfonia R2Płatnik

Pole eFOB w Pracownicy

ID Pracownika
(wewnętrznie X_I)

Zewnętrzne ID1

Identyfikator

Zewnętrzne ID2

Imię

Imię

Nazwisko

Nazwisko

PESEL

PESEL

Typ dokumentu
a) pole ‘Seria i nr DO’ – warunek nie puste
b) pole ‘Paszport’ nie – warunek puste
c) <<brak mapowania >>
d) Pole ‘Cudzoziemiec’ <> ‘nie’ (porównanie)

Typ dokumentu
a) Dowód osobisty
b) Paszport
c) Prawo jazdy (nie obsługiwane)
d) Inne

Numer dokumentu
a) tekst z pola ‘Seria i nr DO’
b) tekst z pola ‘Paszport’
c) <<brak mapowania>>
d) tekst z pola ‘Numer dok. lub NIP’

Numer dokumentu

E-mail

(pole K_E_mail z tabeli ADRES)

Osobisty adres e-mail

Data_zatrudnienia

Data rozpoczęcia umowy (dla Umowa_o_prace=1)

Data_zwolnienia

Data zakończenia umowy (dla Umowa_o_prace=1)

ZOd

Data rozpoczęcia umowy (dla Umowa_zlecenie=1 lub Umowa_o_dzielo=1)

ZDo

Data zakończenia umowy (dla Umowa_zlecenie=1 lub Umowa_o_dzielo=1)

Umowa_o_prace

0 lub1 (nie zapisywane do eTeczki, służy tylko w/w warunkom)

Umowa_zlecenie

0 lub1 (nie zapisywane do eTeczki, służy tylko w/w warunkom)

Umowa_o_dzielo

0 lub1 (nie zapisywane do eTeczki, służy tylko w/w warunkom)

 

Symfonia R2Płatnik – MS SQL – schemat „SQL Pełny”

Schemat SQL Pełny umożliwia synchronizację pełnego zakresu danych pracowniczych, które mają swoje odpowiedniki w systemie eTeczki.

 

Zakres danych i mapowanie

Pola eksportowane w tym schemacie oraz ich mapowanie w systemie eTeczka obejmują szerszy zakres informacji:

Pole R2Płatnik

Pole eFOB w Pracownicy

ID Pracownika

Zewnętrzne ID1

Identyfikator

Zewnętrzne ID2

Imię

Imię

Drugie imię

Drugie imię

Nazwisko

Nazwisko

Nazwisko rodowe

Nazwisko panieńskie

PESEL

PESEL

Data urodzenia

Data urodzenia

Miejsce urodzenia

Miejsce urodzenia

Stan cywilny

Stan cywilny

Płeć

Płeć

Narodowość

Narodowość

Imię matki

Imię matki

Imię ojca

Imię ojca

Typ dokumentu
a) pole ‘Seria i nr DO’ – warunek nie puste
b) pole ‘Paszport’ nie – warunek puste
c) <<brak mapowania >>
d) Pole ‘Cudzoziemiec’ <> ‘nie’ (porównanie)

Typ dokumentu
a) Dowód osobisty
b) Paszport
c) Prawo jazdy (nie obsługiwane)
d) Inne

Numer dokumentu
a) tekst z pola ‘Seria i nr DO’
b) tekst z pola ‘Paszport’
c) <<brak mapowania>>
d) tekst z pola ‘Numer dok. lub NIP’

Numer dokumentu

Adres Korespondencji

Sekcja ‘Dane adresowe’

Miejscowość

Miasto

Kod pocztowy

Kod pocztowy

Ulica

Nazwa ulicy

Nr domu

Numer domu

Nr lokalu

Numer posesji

Dzielnica

Dzielnica

Powiat

Powiat

Województwo

Województwo

Kraj

Kraj

Tel komórkowy

Numer telefonu komórkowego

Telefon

Numer telefonu służbowego

E-mail

(pole K_E_mail z tabeli ADRES)

Osobisty adres e-mail

Data_zatrudnienia

Data rozpoczęcia umowy (dla Umowa_o_prace=1)

Data_zwolnienia

Data zakończenia umowy (dla Umowa_o_prace=1)

ZOd

Data rozpoczęcia umowy (dla Umowa_zlecenie=1 lub Umowa_o_dzielo=1)

ZDo

Data zakończenia umowy (dla Umowa_zlecenie=1 lub Umowa_o_dzielo=1)

Umowa_o_prace

0 lub1 (nie zapisywane do eTeczki, służy tylko w/w warunkom)

Umowa_zlecenie

0 lub1 (nie zapisywane do eTeczki, służy tylko w/w warunkom)

Umowa_o_dzielo

0 lub1 (nie zapisywane do eTeczki, służy tylko w/w warunkom)

 

Symfonia R2Płatnik – API – schemat „R2P Podstawowy”

Schemat R2P Podstawowy jest zaprojektowany do synchronizacji podstawowych danych pracowniczych za pomocą API systemu Symfonia R2Płatnik. Aktualnie pobiera wszystkie rekordy pracowników.

 

Zakres danych i mapowanie

Pole Symfonia R2Płatnik

Pole eFOB w Pracownicy

ID Pracownika
(wewnętrznie X_I)

Zewnętrzne ID1

Imię

Imię

Nazwisko

Nazwisko

PESEL

PESEL

Typ dokumentu
a) pole ‘Seria i nr DO’ – warunek nie puste
b) pole ‘Paszport’ nie – warunek puste
c) <<brak mapowania >>
d) Pole ‘Cudzoziemiec’ <> ‘nie’ (porównanie)

Typ dokumentu
a) Dowód osobisty
b) Paszport
c) Prawo jazdy (nie obsługiwane)
d) Inne

Numer dokumentu
a) tekst z pola ‘Seria i nr DO’
b) tekst z pola ‘Paszport’
c) <<brak mapowania>>
d) tekst z pola ‘Numer dok. lub NIP’

Numer dokumentu

 

Symfonia R2Płatnik – API – schemat „R2P Pełny”

Podobnie jak w przypadku schematu SQL, schemat R2P Max dla połączeń typu API umożliwia synchronizację pełnego zakresu danych pracowniczych, używając zdefiniowanej struktury danych uzyskanej przez API Symfonia R2Płatnik.

 

Zakres danych i mapowanie

Pole R2Płatnik

Pole eFOB w Pracownicy

ID Pracownika

Zewnętrzne ID1

Imię

Imię

Drugie imię

Drugie imię

Nazwisko

Nazwisko

Nazwisko rodowe

Nazwisko panieńskie

PESEL

PESEL

Data urodzenia

Data urodzenia

Miejsce urodzenia

Miejsce urodzenia

Stan cywilny

Stan cywilny

Płeć

Płeć

Narodowość

Narodowość

Imię matki

Imię matki

Imię ojca

Imię ojca

Typ dokumentu
a) pole ‘Seria i nr DO’ – warunek nie puste
b) pole ‘Paszport’ nie – warunek puste
c) <<brak mapowania >>
d) Pole ‘Cudzoziemiec’ <> ‘nie’ (porównanie)

Typ dokumentu
a) Dowód osobisty
b) Paszport
c) Prawo jazdy (nie obsługiwane)
d) Inne

Numer dokumentu
a) tekst z pola ‘Seria i nr DO’
b) tekst z pola ‘Paszport’
c) <<brak mapowania>>
d) tekst z pola ‘Numer dok. lub NIP’

Numer dokumentu

Adres Korespondencji

Sekcja ‘Dane adresowe’

Miejscowość

Miasto

Kod pocztowy

Kod pocztowy

Ulica

Nazwa ulicy

Nr domu

Numer domu

Nr lokalu

Numer posesji

Dzielnica

Dzielnica

Powiat

Powiat

Województwo

Województwo

Kraj

Kraj

Tel komórkowy

Numer telefonu komórkowego

Telefon

Numer telefonu służbowego

E-mail

Osobisty adres e-mail

 

Symfonia ERP Kadry i Płace

Rodzaje połączeń

Dla systemu Symfonia Kadry i Płace (KiP) obsługiwany jest tylko jeden rodzaj połączenia na poziomie bazy danych:

img_efob_162

Symfonia ERP Kadry i Płace – MS SQL – schemat „SQL Podstawowy”

Schemat SQL Podstawowy jest zaprojektowany do synchronizacji podstawowych danych pracowniczych za pomocą połączeń SQL. Wykorzystuje on wcześniej zdefiniowaną kwerendę SQL. Zakłada spójność struktury baz danych różnych klientów korzystających z aplikacji Kadry i Płace.

 

Zakres danych i mapowanie

Poniżej przedstawiono pola eksportowane z systemu oraz ich mapowanie do systemu eTeczki:

Pole KiP

Pole eFOB w Pracownicy

IDPracownika

Zewnętrzne ID1

Imie1

Imię

Nazwisko

Nazwisko

PESEL

PESEL

Typ dokumentu
– z widoku VV_PRACOWNICY
&& HRV_ITEM.definition_id = 8330
&& HRV_ROW.definition_id = 8312
– tylko ‘dowód osobisty’ i ‘paszport’

Typ dokumentu
1) Dowód osobisty
2) Paszport
3) Prawo jazdy (nie obsługiwane)
4) Inne (nie obsługiwane)

Numer dokumentu
– z widoku VV_PRACOWNICY
&& HRV_ITEM.definition_id = 8310
&& HRV_ROW.definition_id = 8312

Numer dokumentu

 

Symfonia ERP Kadry i Płace – MS SQL – schemat „SQL Pełny”

Schemat „SQL Pełny” umożliwia synchronizację pełnego zakresu danych pracowniczych, które mają swoje odpowiedniki w systemie eTeczka.

 

Zakres danych i mapowanie

Pola eksportowane w tym schemacie oraz ich mapping w systemie eTeczka obejmują szerszy zakres informacji:

Pole KiP

Pole eFOB w Pracownicy

IDPracownika

Zewnętrzne ID1

Imie1

Imię

Imie2

Drugie imię

Nazwisko

Nazwisko

Nazwisko rodowe
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8317
&& HRV_ROWS.definition_id = 8316

Nazwisko panieńskie

PESEL

PESEL

Data urodzenia
– jeśli data ‘1753-01-01’ to pusta

Data urodzenia

Miejsce urodzenia
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8303
&& HRV_ROWS.definition_id = 8319

Miejsce urodzenia

Stan cywilny
– jeśli płeć ‘mężczyzna’ i ‘małżonek’ -> ‘żonaty’
– jeśli płeć ‘kobieta’ i ‘małżonek’ -> ‘mężatka’
– jeśli płeć tylko ‘mężczyzna’ -> ‘kawaler’
– jeśli płeć tylko ‘kobieta’ -> ‘panna’
 
Małżonek
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8329
&& HRV_ROWS.definition_id = 8329

Stan cywilny

Płeć
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8381
&& HRV_ROWS.definition_id = 8381

Płeć

Narodowość
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8331
&& HRV_ROWS.definition_id = 8316

Narodowość

Imię matki
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8321
&& HRV_ROWS.definition_id = 8319

Imię matki

Imię ojca
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8320
&& HRV_ROWS.definition_id = 8319

Imię ojca

Typ dokumentu
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8330
&& HRV_ROWS.definition_id = 8312
– tylko ‘dowód osobisty’ i ‘paszport’

Typ dokumentu
1) Dowód osobisty
2) Paszport
3) Prawo jazdy (nie obsługiwane)
4) Inne (nie obsługiwane)

Numer dokumentu
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8310
&& HRV_ROWS.definition_id = 8312

Numer dokumentu

Adres Korespondencji

Sekcja ‘Dane adresowe’

Miejscowość
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8303
&& HRV_ROWS.definition_id = 8309

Miasto

Kod pocztowy
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8304
&& HRV_ROWS.definition_id = 8309

Kod pocztowy

Ulica
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8300
&& HRV_ROWS.definition_id = 8309

Nazwa ulicy

Nr domu
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8301
&& HRV_ROWS.definition_id = 8309

Numer domu

Nr lokalu
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8302
&& HRV_ROWS.definition_id = 8309

Numer posesji

Dzielnica
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8306
&& HRV_ROWS.definition_id = 8309

Dzielnica

Powiat
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8332
&& HRV_ROWS.definition_id = 8309

Powiat

Województwo
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8307
&& HRV_ROWS.definition_id = 8309

Województwo

Kraj
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 8308
&& HRV_ROWS.definition_id = 8309

Kraj

Tel komórkowy
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 14512
&& HRV_ROWS.definition_id = 14512

Numer telefonu komórkowego

Telefon
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 14511
&& HRV_ROWS.definition_id = 14511

Numer telefonu służbowego

E-mail
– z widoku VV_PRACOWNICY
&& HRV_ITEMS.definition_id = 14513
&& HRV_ROWS.definition_id = 14513

Osobisty adres e-mail

 

Dowolne systemy udostępniające dane w MS SQL

Wstęp

Dokument opisuje kompletny proces przygotowania bazy pośredniej SQL Server umożliwiającej synchronizację danych pracowników do eTeczka Sync bez modyfikacji narzędzi integracji. Rozwiązanie zakłada:

utworzenie dwóch baz danych (BIN i DANE),

utworzenie tabel ‘stagingowych’ zasilanych przez system klienta oraz widoków identycznych w strukturze z wcześniej opisanym R2Płatnik. 

 

Założenia architektoniczne

1.eTeczka Sync komunikuje się z dwoma osobnymi bazami danych: BIN (lista firm) oraz DANE (dane pracowników).

2.Nazwy baz muszą być zgodne z konwencją: R2P_<database_name>_bin oraz R2P_<database_name>_dane_<id_firmy>

3.eTeczka Sync wykonuje zapytania do obiektów o stałych nazwach: FIRM, PRACOWNK, PRACDANE.

4.Dane źródłowe mogą być przechowywane w dowolnych tabelach stagingowych – wymagane są jedynie widoki mapujące je do kontraktu R2P.

 

Instalacja i konfiguracja MS SQL (Express) – propozycja

Baza pośrednia może zostać uruchomiona na dowolnej instancji Microsoft SQL Server, w tym na bezpłatnej wersji Microsoft SQL Server Express. 
 
Standardowo instalator programu R2P:

instaluje SQL Server Express,

tworzy instancję o nazwie SYMFONIAR2P,

włącza logowanie SQL Server Authentication,

tworzy konto login: sa z domyślnym hasłem.

 

Nie jest to jednak wymagane. Klient może samodzielnie:

zainstalować Microsoft SQL Server (Express lub wyższą edycję),

wybrać dowolną nazwę instancji,

skonfigurować własne konto SQL lub użyć istniejącego,

ustawić własne hasła i polityki bezpieczeństwa.

 

Utworzenie baz danych

Należy utworzyć dwie bazy danych SQL Server:

CREATE DATABASE [R2P_platnik10_bin];

GO

CREATE DATABASE [R2P_platnik10_dane_1];

GO

 

Setup bazy BIN – lista firm

W bazie BIN należy utworzyć tabele staging oraz widok FIRM, który będzie odczytywany przez eFOBsync. 

USE [R2P_platnik10_bin]; 

GO 

 

CREATE TABLE dbo.STG_FIRM ( 

  X_I   INT NOT NULL PRIMARY KEY, 

  Nazwa NVARCHAR(200) NOT NULL 

); 

GO 

 

CREATE VIEW dbo.FIRM AS 

SELECT X_I, Nazwa 

FROM dbo.STG_FIRM; 

GO

 

Jak powinna wyglądać baza BIN

 

img_efob_289

 

Setup bazy DANE – faktyczne dane (wersja Podstawowy):

W bazie DANE należy utworzyć jedną tabelę stagingową zasilaną przez system klienta oraz dwa widoki odwzorowujące strukturę Symfonia R2Płatnik. 

 

USE [R2P_platnik10_dane_1];

GO

 

CREATE TABLE dbo.STG_PRACOWNICY ( 

  PersonId           INT NOT NULL PRIMARY KEY, 

  Imie               NVARCHAR(100) NULL, 

  Nazwisko           NVARCHAR(200) NULL, 

  PESEL              NVARCHAR(11) NULL, 

  DocumentNumber     NVARCHAR(50) NULL,

  Identyfikator      NVARCHAR(10) NULL, 

  Data_zatrudnienia  DATETIME NULL, 

  Data_zwolnienia    DATETIME NULL, 

  E_Mail             NVARCHAR(120) NOT NULL 

);

GO

 

CREATE OR ALTER VIEW dbo.PRACOWNK AS

SELECT

  PersonId AS X_I,

  Imie,

  Nazwisko,

  Identyfikator,

  Data_zatrudnienia,

  Data_zwolnienia,

  NULL as ZDo,

  NULL as ZOd,

  1 as Umowa_o_prace,

  0 as Umowa_zlecenie,

  0 as Umowa_o_dzielo

FROM dbo.STG_PRACOWNICY;

GO

 

CREATE VIEW dbo.PRACDANE AS

SELECT

  PersonId AS X_IPRACOWNIK,

  PESEL,

  DocumentNumber AS Seria_i_nr_DO

FROM dbo.STG_PRACOWNICY;

GO

 

CREATE VIEW dbo.ADRES AS

SELECT

  PersonId AS X_IPRACOWNIK,

  E_Mail AS K_E_mail

FROM dbo.STG_PRACOWNICY;

GO

 

Jak powinna wyglądać baza DANE po wykonaniu powyższych query?

 

img_efob_290

 

Kontrakt danych i uwagi końcowe

Widok FIRM musi zwracać kolumny:

X_I

Nazwa 

 

Widok PRACOWNK musi zwracać kolumny:

X_I

Imie

Nazwisko

Identyfikator

Data_zatrudnienia

Data_zwolnienia

oraz techniczne

NULL as ZDo

NULL as ZOd

1 as Umowa_o_prace

0 as Umowa_zlecenie

0 as Umowa_o_dzielo

 

Widok PRACDANE musi zwracać kolumny:

X_IPRACOWNIK

PESEL

Seria_i_nr_DO

 

Widok ADRESY musi zawierać kolumny:

X_IPRACOWNIK

K_E_mail 

 

eTeczka Sync nie wymaga znajomości struktury tabel stagingowych. Wszelkie zmiany po stronie klienta mogą być obsłużone poprzez modyfikację widoków, bez ingerencji w konfigurację ani kod integracji. 

 

Konfiguracja eTeczka admin

W konfiguracji źródła R2P w eTeczka admin należy ustawić:

server: adres instancji SQL Server

database_name: platnik10

database: 1

 

Na podstawie tych wartości eTeczka sync automatycznie połączy się z bazami:

R2P_platnik10_bin

R2P_platnik10_dane_1

 

Konfiguracja połączenia w eTeczka sync

Dane dostępowe do SQL Server należy wprowadzić w konfiguracji źródła danych w eTeczka sync.

W konfiguracji połączenia należy uzupełnić:

nazwę hosta bazy danych (np. localhost),

port (domyślnie 1433),

nazwę instancji SQL Server,

nazwę bazy logicznej (database_name),

dane logowania użytkownika SQL.

 

eTeczka sync wykorzystuje te informacje wyłącznie do nawiązania połączenia z bazą pośrednią. Nie ma wymogu stosowania domyślnej instancji ani domyślnego konta instalatora.