Strona główna Integracji
Strona główna sekcji importu danych
Synchronizacja dokumentów składa się dwóch elementów:
System eDokumenty pozwala na synchronizację różnego rodzaju dokumentów, w tym:
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 |
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.
Do pobierania nagłówków dokumentów należy utworzyć perspektywy:
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):
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) | Skrót nazwy kontrahenta | 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. 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:
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 |