Version 7 (modified by jachtelik, 10 years ago)

--

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 == wstep

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)Skrót nazwy kontrahentaOpcjonalna, 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. Obok już pliku mapy należy utworzyć mapę dokumentu o przykładowej zawartosci:

<?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)
number Numer dokumentu w systemie zewnętrznym np. 'FVZ/2014/001'. Pole służące do porównań dokumentów danego typu dla danego kontrahenta
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
number = number
symbol = symbol
recpnt = rectid
dscrpt = dscrpt
netto_ = netto_
vat___ = vat___
brutto = brutto
cursmb = cursmb
fixinf = fixinf
crtdat = crtdat
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) Na potrzeby pobierania pozycji należy utworzyć widok:

  • bs_fk_elements_view

Którego wymaganymi pozycjami są:

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 produktukolumna wymagana

Powrót do menu

Załączniki