Przewodnik wdrożeniowca > Synchronizacja dokumentów

Strona główna Integracji
Strona główna sekcji importu danych

  1. Wstęp
  2. Dokumenty
  3. Pozycje (linie) dokumentów
  4. Załączniki
  5. Komentarze

Wstęp

Synchronizacja dokumentów składa się dwóch elementów:

  • Pobierania nagłówków
  • Pobierania pozycji (linii) dokumentów
  • Pobierania załączników

Powrót do menu

Nagłówki dokumentów

System eDokumenty pozwala na synchronizację różnego rodzaju dokumentów, w tym:

  • Faktur (z pozycjami)
  • Dokumentów WZ i PZ
  • Zamówień
  • Pism
  • Umów
  • Emaili (dokumentów typu email - czyli zarchiwizowanej w postaci dokumentu korespondencji email. Nie należy mylić z wiadomościami email w skrzynce pocztowej)
  • Notatek służbowych
  • Inne dokumenty
  • Dokumentów Customowych (poprzez mapowanie cech)

Typy dokumentów zdefiniowane są w bazie eDokumentów w tabeli types_of_documents:

Typ dokumentuOznaczenie
PismoPaper
Faktura VATVatNote
UmowaContract
UchwałaResolution
Notatka służbowaNote
EmailEmail
inneOther
PłatnośćFKPayment
ZapotrzebowanieDemand
ZamówienieOrderDocument
Przyjęcie zewnętrznePZDocument
Wydanie zewnętrzneWZDocument
OfertaOfferDocument
Dokument CustomowyCustomDocument

Przy wykorzystaniu mapowania dokumentu należy pamiętać o zachowaniu wielkości znaków, czyli pisać VatNote zamiast vatnote lub VATNOTE.

Konfiguracja pobierania dla każdego typu dokumentu jest taka sama. jedyną różnicą są pola wystawiane dla każdego typu dokumentu. Cechą wspólną wszystkich są kolumny, które muszą być wystawione w widoku.

Widoki

Do pobierania nagłówków dokumentów należy utworzyć perspektywy:

  • bs_documents_view
  • bs_modified_documents_view

Przykładowy widok bs_documents_view może mieć postać (w zależności od typu dokumentu, który podlega importu).


Rys. 1. Przykład widoku dokumentów

Wymagane kolumny w widoku: W definicji widoku zaleca się następujących kolumn (pogrubione kolumny są wymagane):

KolumnaTyp danychOgraniczeniaOpisWymagalność
bs_document_idbigintPRIMARY KEY (UNIQUE, NOT NULL)Kolumna z identyfikatorem numerycznym typu całkowitego. Kolumna wymagana.Nazwa kolumny nie może być zmieniona
bs_contact_idbigintNOT NULLIdentyfikator kontrahenta, którego dotyczy dokumentKolumna wymagana
numbervarchar(n)NOT NULL (UNIQUE)Unikalny numer dokumentuOpcjonalna, służyć może jako kolumna szablonowa do porównań istnienia kontrahentów
dctypevarchar(n)NOT NULL Typ dokumentu np. FVS, FZ
state_smallintNOT NULL Rodzaj dokumentu (1 - przychodzacy, 2 - wychodzacy, 3 - wewnętrzny). Może być zastąpiony w mapie dokumentów w pliku x_documents_conf.ini

Pobieranie dokumentów wymaga utworzenia dwóch plików. Powinniśmy mieć utworzone:

  • x_columns_map.ini - odpowiada za powiązanie kolumn
  • x_documents_conf.ini - odpowiada za interpretację dokumentów z widoku

Przykładowa zawartość pliku x_documents_conf.ini:

<?php
$documentsMap = array(
    'FVZ' => array(
        'document' => 'VatNote',
        'state'   => INCOMING,
        'dscrpt'   => Translator::translate('Faktura VAT zakupu'),
    ),
    'FS' => array(
        'document' => 'VatNote',
        'state'   => OUTGOING,
        'dscrpt'   => Translator::translate('Faktura sprzedaży'),
    )
);
?>

Gdzie:

PoleOpis
'FVZ' Typ dokumentu wskazany w widoku bs_documents_view w kolumnie dctype
'document' Mapowanie na typ dokumentu wg tabeli typów dokumentów, np. VatNote, OrderDocument, itp. Wartość wymagana
'state' Mapowanie na rodzaj dokumentu. Jeżeli nie istnieje w tej mapie, to MUSI istnieć kolumna state_ w widoku bs_documents_view. Dopuszczalne wartości: INCOMING, OUTGOING, INTERNAL.
'dscrpt' Opis dokumentu. Jeżeli nie istnieje w tej mapie pobierana jest wartość pola dscrpt z widoku bs_documents_view

Mapy

Na mapę składają się pola, które zawsze muszą istnieć oraz pola zależne od typu dokumentu. Pola wymagane to:

PoleOpis
dctype Typ dokumentu np. FVZ, HS, ZO (wartość dowolna, mapowana w pliku x_documents_conf.ini)
dscrpt Opis dokumentu
fixinf Uwagi na dokumencie
adddat Data dokumentu w formacie ISO 'YYYY-MM-DD' czyli '2014-07-15'

Faktura VAT

[DOCUMENT]
dctype = dctype
symbol = symbol
recpnt = rectid
dscrpt = dscrpt
netto_ = netto_
vat___ = vat___
brutto = brutto
cursmb = cursmb
fixinf = fixinf
crtdat = data__
adddat = adddat
seldat = seldat
fop_id = fop_id
paytrm = paytrm

Gdzie:

PoleOpis
symbol Numer dokumentu w systemie zewnętrznym np. 'FVZ/2014/001'
recpnt Identyfikator odbiorcy faktury. Odbiorca musi istnieć w widoku bs_contacts_view. Baza kontrahentów musi być wcześniej zsynchronizowana.
netto_ Wartość netto na fakturze
vat___ Wartość podatku VAT na fakturze
brutto Wartość brutto na fakturze
cursmb Waluta na dokumencie zgodna ze słownikiem walut systemu eDokumenty np. 'PLN'
crtdat Data wystawienia dokumentu w formacie ISO 'YYYY-MM-DD' czyli '2014-07-15'
seldat Data sprzedaży dokumentu w formacie ISO 'YYYY-MM-DD' czyli '2014-07-15'
paytrm Termin płatności na dokumencie w formacie ISO 'YYYY-MM-DD' czyli '2014-07-15'
fop_id Forma płatności zgodna ze słownikiem form płatności systemu eDokumenty np. 'Przelew 14 dni'

Szablon porównania dla pobierania dokumentów jest następujący:

lower(symbol) = lower('{symbol}')

Konfiguracji pobierania dokumentów dokonuje się standardowo w oknie definicji obiektu:


Rys. 2. Konfiguracja pobierania Dokumentów


Rys. 3. Konfiguracja akcji pobierania wszystkich dokumentów

Powrót do menu

Pozycje (linie) dokumentu

Dla typów dokumentów, które obsługują zakładkę pozycje można zdefiniować pobieranie pozycji dokumentu. Jest ono składową pobierania dokumentów (patrz rys. 2)

Widok

Na potrzeby pobierania pozycji należy utworzyć widok:

  • bs_fk_elements_view

Którego wymaganymi pozycjami są:


Rys. 4. Widok pozycji dokumentu

KolumnaTyp danychOgraniczeniaOpisWymagalność
bs_fk_element_idbigintPRIMARY KEY (UNIQUE, NOT NULL)Kolumna z identyfikatorem numerycznym typu całkowitego. Kolumna wymagana.Nazwa kolumny nie może być zmieniona
bs_document_idbigintNOT NULLIdentyfikator dokumentu, którego dotyczy pozycjaKolumna wymagana
bs_product_idbigintNOT NULLIdentyfikator produktu. Baza produktów musi być wcześniej zsynchronizowanakolumna wymagana

Mapa

Mapowanie pobierania pozycji:

[FKELEMENT]
prior_ = prior_
unitid = unitid
vat_id = vat_id
quantm = quantm
cursmb = cursmb
netto_ = netto_
vnetto = vnetto
amtvat = amtvat

Gdzie:

PoleOpis
prior_ Wartość całkowita kolejności pozycji na dokumencie
unitid Jednostka miary zgodna ze słownikiem jednostek miar systemu eDokumenty np. szt., litr
vat_id Stawka podatku VAT zgodna ze słownikiem stawek VAT systemu eDokumenty
quantm Ilość. Wartość zmiennoprzecinkowa (12,2)
netto_ Cena netto. Wartość zmiennoprzecinkowa (12,2)
vnetto Wartość netto. Wartość zmiennoprzecinkowa (12,2)
amtvat Wartość podatku VAT dla pozycji. Wartość zmiennoprzecinkowa (12,2)
cursmb Waluta na pozycji dokumentu zgodna ze słownikiem walut systemu eDokumenty np. 'PLN'

Powrót do menu

Komentarze

Dla dokumentów można zdefiniować pobieranie komentarzy poprzez zaznaczenie opcji na konfiguracji obiektu synchronizacji oraz dodania odpowiedniego widoku.

Widok

Na potrzeby pobierania komentarzy należy utworzyć widok:

  • bs_document_comments_view

Którego wymaganymi pozycjami są:

No image "doc_005.png" attached to DeployerGuide/Customization/Integration/Import/Documents
Rys. 4. Widok komentarzy dokumentu

KolumnaTyp danychOgraniczeniaOpisWymagalność
bs_comment_idbigintPRIMARY KEY (UNIQUE, NOT NULL)Kolumna z identyfikatorem numerycznym typu całkowitego. Kolumna wymagana.Nazwa kolumny nie może być zmieniona
bs_document_idbigintNOT NULLIdentyfikator dokumentu, którego dotyczy komentarzKolumna wymagana
adduidbigintNOT NULLIdentyfikator pracownika, który dodał komentarzkolumna wymagana
adddatdateNOT NULLData utworzenia komentarza w formie YYYY-MM-DD HH:II:SSkolumna wymagana
commnt bigint NOT NULL Treść komentarza

Mapa

Mapowanie pobierania komentarzy:

[DOCUMENT_COMMENT]
adduid = adduid
commnt = commnt
adddat = adddat

Gdzie:

PoleOpis
adduid Osoba, która utworzyła komentarz
adddat Data utworzenia komentarza
commnt Treść komentarza

Powrót do menu

Załączniki