= [wiki:DeployerGuide Przewodnik wdrożeniowca] > Synchronizacja dokumentów = #dokument [wiki:DeployerGuide/Customization/Integration Strona główna Integracji][[br]] [wiki:DeployerGuide/Customization/Integration/Import Strona główna sekcji importu danych] === Menu === 1. [#wstep Wstęp] 2. [#dokumenty Dokumenty] 3. [#pozycje Pozycje (linie) dokumentów] 4. [#zalaczniki Załączniki] 5. [#komentarze 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 [#dokument Powrót do menu] == Nagłówki dokumentów == #dokumenty 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 dokumentu||Oznaczenie|| ||Pismo||Paper|| ||Faktura VAT||VatNote|| ||Umowa||Contract|| ||Uchwała||Resolution|| ||Notatka służbowa||Note|| ||Email||Email|| ||inne||Other|| ||Płatność||FKPayment|| ||Zapotrzebowanie||Demand|| ||Zamówienie||OrderDocument|| ||Przyjęcie zewnętrzne||PZDocument|| ||Wydanie zewnętrzne||WZDocument|| ||Oferta||OfferDocument|| ||Dokument Customowy||CustomDocument|| 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). [[Image(doc_001.png)]][[BR]]''Rys. 1. Przykład widoku dokumentów''[[BR]] Wymagane kolumny w widoku: W definicji widoku zaleca się następujących kolumn (pogrubione kolumny są wymagane): ||Kolumna||Typ danych||Ograniczenia||Opis||Wymagalność|| ||'''bs_document_id'''||bigint||PRIMARY KEY (UNIQUE, NOT NULL)||Kolumna z identyfikatorem numerycznym typu całkowitego. ||Kolumna wymagana.'''Nazwa kolumny nie może być zmieniona'''|| ||'''bs_contact_id'''||bigint||NOT NULL||Identyfikator kontrahenta, którego dotyczy dokument||Kolumna wymagana|| ||'''number'''||varchar(n)||NOT NULL (UNIQUE)||Unikalny numer dokumentu||Opcjonalna, służyć może jako kolumna szablonowa do porównań istnienia kontrahentów|| ||dctype||varchar(n)||NOT NULL ||Typ dokumentu np. FVS, FZ|||| ||state_||smallint||NOT 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 array( 'document' => 'VatNote', 'state' => INCOMING, 'dscrpt' => Translator::translate('Faktura VAT zakupu'), ), 'FS' => array( 'document' => 'VatNote', 'state' => OUTGOING, 'dscrpt' => Translator::translate('Faktura sprzedaży'), ) ); ?> }}} Gdzie: ||Pole||Opis|| || {{{'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: ||Pole||Opis|| || {{{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 ==== {{{ #!ini [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: ||Pole||Opis|| || {{{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: {{{ #!sql lower(symbol) = lower('{symbol}') }}} Konfiguracji pobierania dokumentów dokonuje się standardowo w oknie definicji obiektu: [[Image(doc_002.png)]][[BR]]''Rys. 2. Konfiguracja pobierania Dokumentów''[[BR]] [[Image(doc_003.png)]][[BR]]''Rys. 3. Konfiguracja akcji pobierania wszystkich dokumentów''[[BR]] [#dokument Powrót do menu] == Pozycje (linie) dokumentu == #pozycje 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ą: [[Image(doc_004.png)]][[BR]]''Rys. 4. Widok pozycji dokumentu''[[BR]] ||Kolumna||Typ danych||Ograniczenia||Opis||Wymagalność|| ||'''bs_fk_element_id'''||bigint||PRIMARY KEY (UNIQUE, NOT NULL)||Kolumna z identyfikatorem numerycznym typu całkowitego. ||Kolumna wymagana.'''Nazwa kolumny nie może być zmieniona'''|| ||'''bs_document_id'''||bigint||NOT NULL||Identyfikator dokumentu, którego dotyczy pozycja||Kolumna wymagana|| ||'''bs_product_id'''||bigint||NOT NULL||Identyfikator produktu. Baza produktów musi być wcześniej zsynchronizowana||kolumna wymagana|| === Mapa === Mapowanie pobierania pozycji: {{{ #!ini [FKELEMENT] prior_ = prior_ unitid = unitid vat_id = vat_id quantm = quantm cursmb = cursmb netto_ = netto_ vnetto = vnetto amtvat = amtvat }}} Gdzie: ||Pole||Opis|| || {{{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' || [#dokument Powrót do menu] == Komentarze == #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ą: [[Image(doc_005.png)]][[BR]]''Rys. 4. Widok komentarzy dokumentu''[[BR]] ||Kolumna||Typ danych||Ograniczenia||Opis||Wymagalność|| ||'''bs_comment_id'''||bigint||PRIMARY KEY (UNIQUE, NOT NULL)||Kolumna z identyfikatorem numerycznym typu całkowitego. ||Kolumna wymagana.'''Nazwa kolumny nie może być zmieniona'''|| ||'''bs_document_id'''||bigint||NOT NULL||Identyfikator dokumentu, którego dotyczy komentarz||Kolumna wymagana|| ||'''adduid'''||bigint||NOT NULL||Identyfikator pracownika, który dodał komentarz||kolumna wymagana|| ||'''adddat'''||date||NOT NULL||Data utworzenia komentarza w formie YYYY-MM-DD HH:II:SS||kolumna wymagana|| ||'''commnt''' || bigint || NOT NULL || Treść komentarza || === Mapa === Mapowanie pobierania komentarzy: {{{ #!ini [DOCUMENT_COMMENT] adduid = adduid commnt = commnt adddat = adddat }}} Gdzie: ||Pole||Opis|| || {{{adduid}}} || Osoba, która utworzyła komentarz || || {{{adddat}}} || Data utworzenia komentarza || || {{{commnt}}} || Treść komentarza || [#dokument Powrót do menu]