Version 11 (modified by mkrolikowski, 8 years ago)

--

Triggery obiektów biznesowych

W zakresie podejmowania zadanych akcji na zmianach w obiektach biznesowych eDokumenty implementują doskonały wzorzec projektowy Obserwator.

Aby obserwować obiekty biznesowe i wykonywać akcje na zadanych zmianach, można dodawać do katalogu classes/Log/observers własne klasy, które realizują interfejs LogObserver i dla zadanych zdarzeń podejmują jakieś akcje.

W załączniku podano przykładową klasę ExampleLogObserver, która posiada opisane wszystkie metody do "badania" zdarzenia w systemie i pobrania interesujących nasz szczegółów.

Istotne jest to, że aby obserwator się uruchomił musi on posiadać swojego loga (lista poniżej) w systemie oraz musi zajść jeden z dwóch warunków dla zdarzeń:

  • musi zostać zalogowany dowolny event typu dodanie, usunięcie, załatwienie (lista typów eventów dostępna do pobrania w klasie ExampleLogObserver)
  • nastąpiła zmiana w danych (kolumnach) danego obiektu logującego (nie wszystkie kolumny są obserwowane lista kolumn do pobrania dostępna w ExampleLogObserver)

Na podstawie klasy ExampleLogObserver należy utworzyć własną np. MyContactLogObserver.inc w której określimy warunki wykonania się oraz to co ma zrobić.

W klasie ExampleLogObserver został umieszczony szczegółowy opis możliwości oraz sposób na pobranie wszystkich kategorii zmian oraz obserwowanych kolumn.

Przykład 1:

Po wprowadzeniu nowego kontrahenta ustawiamy mu wartość cechy na X.

Lista obiektów wspierających obserwatory

  • Contact - klient
  • Address - adres
  • ContactPerson - osoba kontaktowa
  • Document - dokument
  • Process - sprawa
  • Product - produkt
  • Event - zdarzenie
  • File - załącznik
  • KnowledgeBase - artykuł bazy wiedzy
  • Group - grupa
  • OrganizationUnit - jednostka organizacyjna
  • User - konto użytkownika
  • BSConnect - zdarzenia podsystemu do integracji
  • EmailAccount - konto pocztowe
  • Procedure - procedura
  • Field - zmiana uprawnień do pól formularzy
  • Report - raport
  • Resource - zasób
  • System - brak użycia zarezerwowana nazwa
  • CREGISTER_ENTRY - wpis w rejestrze

Załączniki