| | 27 | Po stronie systemu zewnętrznego występują widoki/tabele o odpowiednich nazwach np. |
| | 28 | * bs_contacts_view - widok wszystkich kontrahentów |
| | 29 | * bs_contact_persons_view - widok wszystkich osób kontaktowych kontrahenta |
| | 30 | * bs_depository_view - widok wszystkich produktów |
| | 31 | * bs_documents_view - widok wszystkich dokumentów |
| | 32 | * bs_fk_elements_view - widok pozycji dokumentów |
| | 33 | |
| | 34 | Powyższa lista nie wyczerpuje wszystkich obiektów. |
| | 35 | Na potrzeby kolejkowania wpisów nowych i zaktualizowanych wykorzystuje się tabelę: |
| | 36 | ''' be_export_queue''' |
| | 37 | |
| | 38 | Której struktura przedstawia się następująco: |
| | 39 | ||Kolumna||Typ danych||Ograniczenia||Opis|| |
| | 40 | ||exp_id||bigint||NOT NULL, PRIMARY KEY, AUTO_INCREMENT/IDENTITY(1,1)||Klucz główny tabeli kolejki, automatycznie inkrementowany|| |
| | 41 | ||keyval||bigint||NOT NULL||Identyfikator wpisu np. kontrahenta, produktu, dokumentu|| |
| | 42 | ||clsnam||varchar(32)||NOT NULL||Klasa obiektu, której dotyczy identyfikator|| |
| | 43 | ||chadat||timestamp/datetime/varchar(19)||NOT NULL DEFAULT GETDATE()/current_timestamp||Znacznik czasowy dodania wpisu|| |
| | 44 | |
| | 45 | |
| | 46 | Wyróżniamy nastepujace klasy dla clsnam: |
| | 47 | * CONTACT - kontakt |
| | 48 | * CONTACT_PERSON - osoba kontaktowa |
| | 49 | * PRODUCT - produkt |
| | 50 | * DOCUMENT - dokument |
| | 51 | |
| | 52 | Użytkownik, który łączy się z systemu eDokumenty musi posiadać uprawnienia do odczytu z widoków, jak odczytu, zapisu oraz usuwania wpisów z tabeli kolejki. |
| | 53 | |
| | 54 | Widoki z dopiskiem '''modified''' (np. bs_modified_contacts_view) są złączeniem wewnętrznym odpowiedniego widoku (w tym przypadku bs_contacts_view) oraz tabeli bs_export_queue. W związku z tym widok ten oprócz wszystkich kolumn widoku (bs_contacts_view) zawiera wszystkie kolumny tabeli bs_export_queue. |
| | 55 | Przykład złączenia to: |
| | 56 | {{{ |
| | 57 | #!sql |
| | 58 | |
| | 59 | SELECT |
| | 60 | ... |
| | 61 | FROM bs_contacts_view |
| | 62 | INNER JOIN bs_export_queue ON (bs_export_queue.keyval = bs_contacts_view.bs_contact_id AND bs_export_queue.clsnam = 'CONTACT'); |
| | 63 | |
| | 64 | }}} |
| | 65 | |
| | 66 | |