Wprowadzenie: Zarządzanie przepływem pracy (workflow)

Opis zagadnienia

Przepływ pracy (workflow) to zdefiniowana sekwencja skoordynowanych działań mających na celu wydajne i powtarzalne wykonanie procesu biznesowego lub obiegu zadań, bądź też zautomatyzowanie procesu w całości lub w części.

Zarządzanie przepływem pracy to element systemu ERP, który wykorzystuje podstawowe właściwości i funkcje systemu do mapowania procesów biznesowych i cyklu pracy. Dzięki sprawnej i bezproblemowej integracji prawie każda aplikacja może uzyskać dostęp do przepływu pracy. Zarządzanie przepływem pracy jest również wykorzystywane w wielu miejscach w systemie, np. w zarządzaniu relacjami lub przetwarzaniu w tle.

Artykuł przedstawia zakres i zalety zarządzania przepływem pracy. Zawiera przegląd i krótkie opisy głównych elementów i funkcjonalności.

Przepływ pracy można dostosować za pomocą warunków w języku skryptowym systemu, ale także za pomocą programowania Java. Dzięki sprawnej i bezproblemowej integracji każda aplikacja może uzyskać dostęp do przepływu pracy, bez konieczności skomplikowanego programowania interfejsu.

Możliwość generowania zleceń przetwarzania poprzez działania oznacza, że zdarzenia i aplikacje działające w tle mogą być połączone za pośrednictwem przepływu pracy bez konieczności adaptacji.

Aplikacje związane z przepływem pracy

Niniejszy rozdział opisuje elementy zarządzania przepływem pracy, które są istotne dla użytkownika.

Komponenty istotne dla użytkownika

Dla użytkownika istotne są następujące elementy związane z zarządzeniem przepływem pracy:

Zadania – zadanie w zarządzaniu przepływem pracy oznacza przypisanie aktywności do użytkownika wynikającej z danego działania. Każde zadanie ma zaplanowany okres przetwarzania, który jest określany przez działanie nadrzędne, a także status zadania. Przy pierwszej zmianie na nowy status, dokumentowany jest czas takiej zmiany. Dalsze informacje można znaleźć w rozdziale Zadania.

Działania – działanie opisuje aktywność, która może być wykonana przez jednego lub więcej użytkowników. Jeśli działanie posiada kilku użytkowników jako użytkowników opracowujących, zadanie powiązane z działaniem jest tworzone dla każdego użytkownika. Działanie tworzy zatem klamrę wokół powstałych zadań, a także zawiera informacje o zadaniach. Działanie posiada status działania, który opisuje jego stan. Dalsze informacje można znaleźć w rozdziale Działania.

Procesy – proces w zarządzaniu przepływem pracy opisuje wykonanie procesu operacyjnego lub podprocesu w oparciu o definicję procesu. Proces można wyświetlić jako diagram, którego węzły reprezentują działania, a krawędzie reprezentują przepływ sterowania. Poszczególne etapy procesu są przetwarzane za pomocą wygenerowanych działań. Ukończenie etapu danego procesu może uruchomić przetwarzanie innych jego etapów. Proces ma ustalony okres przetwarzania, jak również początek i koniec. Dalsze informacje można znaleźć w rozdziale Procesy.

Skrzynka workflow – okno dokowane Wyszukiwanie zadań służy jako skrzynka odbiorcza w przepływie pracy. Okno Wyszukiwanie zadań automatycznie wyświetla wszystkie zadania, które odnoszą się do użytkownika. W oknie można wybrać, czy wyświetlane mają być wszystkie zadania, bieżące zadania, zadania, których okres przetwarzania już upłynął (zadania opóźnione) lub zadania zaplanowane.

Pasek zadań przepływu pracy – po otwarciu i przejęciu zadania w oknie dokowanym Wyszukiwanie zadań lub w jednym z aplikacji typu Lista, wyświetlany jest pasek narzędzi przepływu pracy, a następnie aktywowany jest tryb przepływu pracy. Zadania można przetwarzać za pomocą akcji na pasku zadań przepływu pracy. Zadania można m.in. przejmować, kończyć, odkładać, przesunąć do przodu i przekazywać. Dalsze informacje dotyczące paska zadań przepływu pracy można znaleźć w artykule Podręcznik użytkowania w rozdziale Zarządzanie przepływem pracy.

Informacje o aktywnościach – aplikacja Informacje o aktywnościach zapewnia prosty i szybki przegląd działań przepływu pracy w oknie dokowanym. Aplikacja jest otwierana automatycznie po otwarciu zadania, a działanie nadrzędne jest powiązane z aplikacją lub obiektem biznesowym. Oznacza to, że zarówno obiekt biznesowy, który ma zostać przetworzony, jak i najważniejsze informacje o działaniu zawsze pozostają widoczne. Dokładnie informacje można znaleźć w artykule Informacje o aktywnościach.

Powiadomienia e-mail – powiadomienia e-mail mogą być wykorzystywane na przykład do informowania użytkowników korzystających z przepływu pracy o nowych zadaniach lub zmianach statusu zadań, działań i procesów. Wysyłanie wiadomości e-mail jest szczególnie przydatne dla pracowników partnerów biznesowych, którzy nie pracują regularnie z systemem.

Zadania

Zadania do przetworzenia przez użytkownika są wymienione na zakładce Wyszukiwanie zadań, znajdującej się w obszarze nawigacji. Zakładka służy jako skrzynka workflow w systemie ERP i może być używana jako okno dokowane.

W ustawieniach użytkownika każdy użytkownik może również ustawić otrzymywanie wiadomości e-mail, gdy pojawi się nowe zadanie. Taka wiadomość zawiera m.in. link do otwarcia odpowiedniego działania. Jeśli status zadania zmieni się na Zaległe, użytkownik opcjonalnie może otrzymać kolejną wiadomość e-mail. Wysyłanie wiadomości e-mail jest szczególnie przydatne dla pracowników partnerów biznesowych, którzy nie pracują regularnie z systemem.

Przykład
Pracownik pracujący dla dostawcy otrzymuje wiadomość e-mail z prośbą o wprowadzenie oferty do zapytania sprzedaży.

Okno dokowane Wyszukiwanie zadań jest aktualizowane na bieżąco. Zapewnia ono dostęp do wszystkich funkcji, których użytkownik potrzebuje do wykonania swoich zadań. Po rozpoczęciu przetwarzania zadania pasek narzędzi przepływu pracy jest aktywny. Na pasku narzędzi przepływu zadań znajdują się akcje i informacje dotyczące zadania przetwarzanego przez użytkownika.

Wyszukiwanie zadań

Aplikacje Lista: Zadania/Baza danych OLTP i Lista: Zadania/Baza danych repozytorium pozwalają na przeglądanie przyszłych, bieżących i wcześniejszych zadań wraz z ich podstawowych informacji, na przykład o użytkowniku opracowującym, statusie zadania i jednostkach biznesowych powiązanych z działaniem nadrzędnym. Uprawnienia ograniczają dostęp użytkownika do istotnych dla niego danych.

Aplikacja Lista: Zadania/Baza danych repozytorium służy do wywoływania i edycji zadań z nadrzędnej bazy danych repozytorium. Baza danych repozytorium stanowi podstawę systemu Comarch ERP Enterprise. Ta baza danych zawiera wszystkie obiekty deweloperskie. Obiekty deweloperskie opisują i definiują system. Baza danych repozytorium jest centralną lokalizacją do importowania, aktywowania i dystrybucji aktualizacji oprogramowania. Zawiera ona również słownik danych, opisujący schemat bazy danych przy użyciu systemu typów obiektowo-relacyjnych. Baza danych repozytorium przyjmuje również rolę centralnej bazy danych systemu. Zawiera ona dziennik systemu oraz definicje uprawnień.

Aplikacja Lista: Zadania/Baza danych OLTP służy do wywoływania i edycji zadań z bazy danych OLTP, do której w danym momencie zalogowany jest użytkownik. W bazie danych OLTP (Online-Transaction-Processing) przetwarzane są dane podstawowe oraz transakcyjne dla aplikacji biznesowych. Ponadto przechowywane są w niej instrukcje dotyczące „konfiguracji”. W systemie produkcyjnym baza danych OLTP jest poddawana największemu obciążeniu przez użytkowników. Dlatego też został ona specjalnie zaprojektowana do obsługi dużej liczby użytkowników, którzy równolegle przetwarzają współdzieloną bazę danych.

Edycja i wykonywanie zadań

Po osiągnięciu ustawionego czasu rozpoczęcia zaplanowane zadania przechodzą do stanu Do opracowania. Zadania do opracowania są wyświetlane w dokowanym oknie Wyszukiwanie zadań.

Aby otworzyć zadanie deweloperskie, które ma być edytowane w zadaniu, w menu kontekstowym należy wybrać opcję Otwórz lub kliknąć dwukrotnie wyświetlone zadanie. Jednocześnie wyświetlany jest pasek narzędzi przepływu pracy i aktywowany jest tryb przepływu pracy.

Gdy zadanie jest otwarte, a działanie nadrzędne jest powiązane z aplikacją lub obiektem biznesowym, odpowiednia aplikacja jest automatycznie otwierana w celu przetworzenia zadania. W tym samym czasie aplikacja Informacje o aktywnościach otwiera się jako okno dokowane. Aplikacja Informacje o aktywnościach zapewnia prosty i szybki przegląd działań przepływu pracy. Oznacza to, że zarówno obiekt biznesowy, który ma zostać przetworzony, jak i najważniejsze informacje o działaniu zawsze pozostają widoczne. Dokładnie informacje można znaleźć w artykule Informacje o aktywnościach.

Jeśli zadanie zostanie otwarte, a działanie nadrzędne nie jest powiązane z aplikacją lub obiektem biznesowym, działanie nadrzędne zadania zostanie otwarte w aplikacji Działania. Po przejęciu zadania status zmienia się na W opracowaniu.

Jeśli opracowanie Opracowanie pojedyncze jest ustawiona dla działania nadrzędnego, wszelkie inne zadania od innych użytkowników otrzymują dla takiego działania otrzymują status Zablokowane. Automatyczne przejęcie zadań po ich otwarciu można ustawić w aplikacji Konfiguracja, funkcja Workflow-Management.

Jeśli użytkownik przejął zadanie do edycji, ale chce je zwrócić (np. po to, aby inny użytkownik mógł je edytować), wówczas można ponownie odłożyć zadania. Takie zadanie otrzymuje status Do opracowania.

Zadania mogą być również przekazywane do innego operatora. Podczas przekazywania zadania można je przenieść lub skopiować, a w razie potrzeby śledzić status przekazanego zadania za pomocą powiadomień e-mail. Dla nowego operatora zadania można wprowadzić tekst powiadomienia.

W razie potrzeby w celu edytowania zadań można aktywować tryb ciągłego opracowania. Dzięki przetwarzaniu ciągłemu można ukończyć kilka kolejnych zadań bez opuszczania trybu przetwarzania przepływu pracy. Ukończenie zadania automatycznie otwiera następne zadanie.

Po zakończeniu pracy nad zadaniem należy zmienić jego status na Zakończone. Jeśli prace nad zadaniem nie mogą zostać ukończone, należy zmienić status na Zrealizowane bez edytowania.

Działania

W tym rozdziale znajduje się wprowadzenie do działań.

Tworzenie działań

Definicja działań może być użyta do wygenerowania działania w odpowiedzi na dowolne zdarzenie. Jest to widoczne jako zadanie dla odpowiednich pracowników opracowujących. W definicji działania można określić, która aplikacja powinna być używana do przetwarzania zadania.

Każdy użytkownik może ręcznie rejestrować działania swoje i innych użytkowników. Działania te nazywane są działaniami tworzonymi ręcznie. Działania można wprowadzać ręcznie dla każdej jednostki biznesowej, korzystając z pozycji w menu kontekstowym. Tak działanie utworzone ręcznie zostaje automatycznie powiązane z obiektem biznesowym. Obejmuje to w szczególności główne scenariusze ponownego przedłożenia.

Działania mogą być również wprowadzane ręcznie w aplikacji Działania albo jako nowe pojedyncze działania, albo zduplikowane z istniejącego. W działaniu można dodać powiązanie z co najmniej jednym obiektem biznesowym. Ponadto różne aplikacje automatycznie generują działania za pośrednictwem ogólnie dostępnego interfejsu programistycznego. Przykłady: Zarządzanie relacjami, przetwarzanie w tle, oferty zakupowe (data ponownego przedłożenia).

Wyszukiwanie działań

Działania można wywoływać z poziomu aplikacji Lista: Działania/Baza danych OLTP i Lista: Działania/Baza danych repozytorium. Jeśli użytkownik szuka działania dla konkretnej jednostki biznesowej, można skorzystać z menu kontekstowego, aby przejść do funkcji wyszukiwania, znajdującej się w danej aplikacji typu Lista. W takiej aplikacji kryterium wyszukiwania łącza jest wstępnie przypisane.

Kończenie działań

Działania można zakończyć akcją poprzez aplikację Aktywności lub poprzez powiązane z aktywnościami aplikacje typu Lista. Jeśli działanie ma otwarte zadania, przypisywany jest im status Zakończone. Jeśli otwarte zadanie jest nadal w opracowaniu, zostanie mu przypisany status Zablokowane.

Możliwe jest również zrealizowanie działania z nieprzetworzoną akcją. Powoduje to przypisanie statusu Zrealizowane bez edytowania. Jeśli działanie ma otwarte zadania, przypisywany jest im status Zrealizowane bez edytowania. Jeśli otwarte zadanie jest nadal w opracowaniu, zostanie mu przypisany status Zablokowane.

Procesy

W tym rozdziale znajduje się wprowadzenie do procesów.

Uruchomienie procesów

Istnieją różne sposoby uruchamiania procesów w systemie ERP. Warunkiem wstępnym jest aktywacja odpowiedniej definicji procesu w odpowiedniej bazie danych.

Ustawienia w definicji procesu i definicji zdarzenia w definicji działania powiązanego ze zdarzeniem początkowym określają, w jaki sposób należy zapoczątkować proces. W zależności od typu zdarzenia i ustawień możliwe są następujące opcje:

  • Definicja działania dla zdarzenia początkowego nie posiada ani definicji zdarzenia, ani definicji procesu powiązanej z aplikacją procesu. W takim przypadku należy uruchomić proces w aplikacji Procesy za pomocą okna dokowanego Uruchom proces lub przycisku o tej samej nazwie. Okno dokowane Uruchom proces wyświetla wszystkie definicje procesów według struktury, które można uruchomić w aplikacji Procesy.
  • Definicja działania dla zdarzenia początkowego nie posiada definicji zdarzenia, ale definicja procesu jest powiązana z aplikacją procesu. W takim przypadku należy uruchomić proces za pośrednictwem połączonej aplikacji Procesy.
  • Definicja działania dla zdarzenia początkowego posiada definicję zdarzenia typu Akcja użytkownika. W takim przypadku proces uruchamiany jest za pośrednictwem menu kontekstowego jednostki biznesowej przechowywanej w definicji działania.
  • Definicja działania dla zdarzenia początkowego posiada definicję zdarzenia typu Jednostka biznesowa lub Zaprogramowane zdarzenie.

W takim przypadku proces rozpoczyna się od wyzwolenia zdarzenia zapisanego w definicji zdarzenia, np. poprzez zmianę obiektu biznesowego.

Wyszukiwanie procesów

Istniejące procesy można wyszukiwać w aplikacjach Lista: Procesy/Baza danych OLTP i Lista: Procesy/Baza danych repozytorium. Jeśli użytkownik szuka procesów dla konkretnej jednostki biznesowej, można skorzystać z menu kontekstowego, aby przejść do odpowiedniej aplikacji typu Lista. W takiej aplikacji kryterium wyszukiwania łącza jest wstępnie przypisane. Powiązanie z procesem jest ustanawiane poprzez działanie węzła początkowego.

Tworzenie komentarzy dotyczących procesu

Dla procesów można wprowadzać komentarze. W razie potrzeby użytkownicy odpowiedzialni za proces, inicjator procesu lub wszyscy zaangażowani użytkownicy opracowujący proces mogą zostać powiadomieni o nowym komentarzu dot. procesu za pośrednictwem wiadomość e-mail.

Realizowanie zadań bez opracowania

Wybierając odpowiednią akcję, procesy mogą zostać zrealizowane bez opracowania. W takim przypadku proces otrzymuje status Zrealizowane bez edytowania, a otwarte działania procesu także otrzymują status Zrealizowane bez edytowania.

Limit czasu

Dane działanie powinno zostać zakończone w określonym czasie przetwarzania. W przeciwnym przypadku status działania zmienia się na Opóźnione. Jeśli zdefiniowany okres przetwarzania zostanie przekroczony, kolejne działanie zdefiniowane w definicji działania może zostać wykonane automatycznie, a użytkownik opracowujący zostanie o tym powiadomiony poprzez wiadomość e-mail. W przypadku procesów powiadomienie e-mail może być również wysyłane do osoby odpowiedzialnej za proces. W przypadku przekroczenia limitu czasu procesu nie jest możliwe wykonanie kolejnych akcji.

Przykład
Jeśli użytkownik, który zablokował określone zadanie, nie odblokuje go w ciągu trzech tygodni, powiązane działanie może zostać przekazane do przełożonego.

Organizacja przepływu pracy

W tym rozdziale wyjaśniono aplikacje i funkcje organizacji przepływu pracy. Organizacja przepływu pracy służy do określania operatorów, przedstawicieli i osób odpowiedzialnych za przepływ pracy.

Role przepływu pracy

Role przepływu pracy są poziomem abstrakcji, pozwalającym na odwzorowanie organizacji procesu używanej przez przepływ pracy. Role przepływu pracy muszą posiadać właścicieli, aby można było z niej korzystać w adekwatny sposób. Właścicielami mogą być użytkownicy, osoby, podmioty lub organizacje. Przypisanie właściciela roli przepływu pracy jest powiązane z bazą danych, ponieważ przypisane mogą zostać tylko obiekty w tej bazie danych. Rola zazwyczaj ma różnych właścicieli w różnych bazach danych. Role przepływu pracy mogą być również definiowane za pomocą wyrażenia, podobnego do funkcji, zamiast poprzez przypisanych właścicieli. Po anulowaniu tych ról właściciele są określani na podstawie wydruku.

Właściciel roli przepływu pracy jest częścią przepływu pracy. Jest to osoba lub grupa osób, które zostały przypisane do roli przepływu pracy w bazie danych. Właścicielami mogą być na przykład użytkownicy, osoby, organizacje lub podmioty.

Jeśli podczas tworzenia działania nie można określić prawidłowego użytkownika spośród właścicieli ról przepływu pracy, wykorzystywana jest rola: „cis.WorkflowAdminOLTP“ lub „cis.WorkflowAdminRepository“. Jeśli ta rola nie ma prawidłowego użytkownika, zadanie zostanie przypisane do użytkownika Administrator.

Miejsca

Miejsce oznacza zarówno przypisanie danej czynności (funkcji) jednemu lub większej liczbie pracowników, jak i przyporządkowanie w strukturze firmy (strukturze organizacyjnej). Miejsca opisują poszczególne stanowiska funkcjonalne i ich wzajemne relacje w strukturze organizacyjnej. Miejsca mogą być używane do definiowania ról przepływu pracy i mogą być używane do kontroli określania przełożonych i zastępców dla działań.

Możliwe jest tworzenie miejsc indywidualnych i zbiorowych. Miejsce indywidualne można przypisać maksymalnie jednej osobie, natomiast miejsca zbiorowe dowolnej liczbie osób. Relacje między miejscami mogą być wykorzystywane do hierarchicznego umieszczania stanowisk w relacjach nadrzędnych i podrzędnych względem siebie. Relacje partnerskie mogą być wykorzystywane do przypisywania zadań wraz z jedną lub kilkoma osobami do organizacji nadrzędnych. Możliwe jest także przypisanie miejsca do co najmniej jednej osoby bez przyporządkowania do organizacji nadrzędnej.

Nieobecności

Nieobecność to zarejestrowany okres, w którym użytkownik nie może przetwarzać zadań przepływu pracy. Podczas nieobecności delegowane zadania przepływu pracy przypisane do użytkownika mogą zostać przekazane zastępcy. W aplikacji Nieobecności możliwe jest zdefiniowanie nieobecności oraz relacji między zastępcami, które mają zastosowanie, gdy użytkownik jest nieobecny. Zadania przepływu pracy delegowane podczas nieobecności użytkownika są wyświetlane dla zastępcy w skrzynce odbiorczej przepływu pracy.

Warunkiem przekazania zadania przepływu pracy do zastępcy w przypadku nieobecności jest to, że przetwarzanie zadań jako zastępca jest dozwolone w powiązanej definicji działania lub działaniu dla nieobecności.

Określanie operatora związanego z procesem

Określenie operatora dla danego działania może odbyć się za pomocą deklaracji w jednym z języków skryptowych. W ten sposób pracownik odpowiedzialny za zamówienie może zostać zdefiniowany jako operator dla działania. W celu określenia agenta związanego z procesem należy wprowadzić wyrażenie dla agenta w definicji aktywności lub zdefiniować agenta w deklaracjach.

Rozwój przepływu pracy

W tym rozdziale wyjaśniono aplikacje i funkcje pozwalające na rozwój przepływu pracy.

Definicje działań

Definicja działań jest szablonem dla działań generowanych na ich podstawie. Jeśli definicja działań jest aktywna, silnik workflow tworzy nowe działanie w momencie wystąpienia zarejestrowanego zdarzenia, pod warunkiem spełnienia warunku przejścia. Definicje działań są niezależne od bazy danych OLTP i systemu, w którym zostały zarejestrowane, ponieważ nie zawierają danych specyficznych dla systemu ani OLTP. Definicje działań zapisywane są w repozytorium bazy danych.

Czas rozpoczęcia, czas przetwarzania i priorytet działań można kontrolować za pomocą definicji działania.

W tym rozdziale znajduje się wprowadzenie do definicji działań.

Typy działań

Typ działań można zdefiniować w definicji działań. W zależności od typu działania można wprowadzić różne ustawienia dla definicji działań. Możliwe jest utworzenie następujących typów działań:

  • Działanie pojedyncze – opisuje jednorazowe działanie, nie będące częścią procesu. Działania pojedyncze mogą być tworzone przez użytkownika lub generowane automatycznie przez system, np. na podstawie definicji działania lub za pośrednictwem interfejsu programistycznego.
  • Szablon serii – to działanie, generujące w określonym czasie działania zgodnie z wzorem serii. Utworzone działania są określane jako Działania seryjne i są wyświetlane w szablonie serii. Szablon serii nie posiada zadań.
  • Wiadomość e-mail – definicja działania typu Wiadomość e-mail wysyła wiadomość mailowe do jednego lub więcej odbiorców bez generowania działania.
  • Wywołanie funkcji –  to definicja aktywności, która oblicza i zwraca wynik zamiast generować działania. Wywołania funkcji są używane na przykład do jednorazowego rejestrowania złożonych obliczeń lub do używania wyrażeń w JavaScript w definicjach działań, które są rejestrowane w języku skryptowym systemu.
  • Typ węzła definicji procesu – jeśli definicja działania przedstawia węzeł definicji procesu, typ działania jest definiowany poprzez typy węzłów w definicji procesu.
Zdarzenia

Zdarzenia stanowią podstawę do tworzenia działań z definicji działań w zarządzaniu przepływem pracy. Zdarzenia mogą być wyzwalane przez zmiany danych dokonywane przez system, aplikację lub działanie użytkownika. Zdarzenia zawierają parametry opisujące zdarzenie.

Aby wygenerować działanie po wystąpieniu zdarzenia, aktywowana definicja działania musi być zarejestrowana dla tego zdarzenia, a warunek przejściowy musi zostać spełniony. Warunek przejściowy może zostać użyty do ograniczenia ogólnego zdarzenia dla definicji działania.

Wskazówka
Zarejestrowane zdarzenie definicji działania zdarzenia startowego jest decydujące dla automatycznego uruchamiania procesów.

Zaprogramowane zdarzenia

Możliwe jest zaprogramowanie określonych zdarzeń. Zdarzenia te są rejestrowane w bazie danych repozytorium i są definiowane podczas tworzenia aplikacji. W tym celu dostępny jest łatwy w użyciu interfejs programistyczny, dzięki któremu na przykład partnerzy adaptacyjni mogą po prostu tworzyć nowe zdarzenia.

Przykład
Zaprogramowane zdarzenie Zmieniono status zlecenia sprzedaży może na przykład zawierać parametry, takie jak stary i nowy status, a także użytkownika wyzwalającego. Oznacza to na przykład, że aktywność odblokowująca zlecenie może zostać utworzona dokładnie dla tego użytkownika.

Zdarzenie Zmieniono statusu zamówienia sprzedaży może być wyrażone zarówno jako zdarzenie programowane, jak i przy użyciu zdarzenia Jednostka biznesowa. Zaprogramowane zdarzenie wymaga dostosowania programowania do logiki aplikacji, podczas gdy zdarzenie Jednostka biznesowa może być używane bez dostosowywania programowania. Ponieważ jednak zaprogramowane zdarzenie jest wyzwalane tylko wtedy, gdy jego status faktycznie się zmienia, jest to bardziej wydajne niż użycie zdarzenia Jednostka biznesowa.

Zdarzenie Zmieniono jednostkę biznesową

Silnik systemu wyzwala zdarzenie Jednostka biznesowa, gdy instancja obiektu biznesowego jest tworzona, zmieniana lub usuwana. Zdarzenie dostarczone przez system może być wykorzystane do rozwiązywania prostych zadań. Zdarzenia tego typu są wyzwalane w raczej niespecyficzny sposób. Oznacza to, że zdarzenie jest wyzwalane za każdym razem, gdy instancja obiektu biznesowego zostanie zmieniona. Takie zdarzenie nie jest powiązane przyczynowo z konkretnym procesem biznesowym. Zasadniczo celem jest jednak reagowanie na bardzo konkretne procesy. Jest to jeden z powodów, dla których definicja działania z warunkiem przejściowym może być powiązana ze zdarzeniem.

Działanie jest tworzone z definicji aktywności tylko wtedy, gdy wystąpi odpowiednie zdarzenie i spełniony zostanie warunek przejściowy. Stary i nowy status zmienionego obiektu może być dostępny do oceny zdarzenia, tj. w szczególności do warunku przejściowego.

Przykład
Zdarzenie Zmieniono statusu zamówienia sprzedaży można wyrazić za pomocą zdarzenia Jednostka biznesowa. Jeśli zamówienie sprzedaży zostanie zmienione, należy sprawdzić w warunku wstępnym, czy status starego statusu zamówienia sprzedaży różni się od nowego statusu zamówienia sprzedaży.

Zdarzenie Akcja użytkownika

To zdarzenie jest wywoływane, gdy użytkownik uruchamia proces za pomocą pozycji Rozpocznij proces, znajdującej się w menu kontekstowym jednostki biznesowej. Typ Akcja użytkownika jest dostępny tylko w definicjach działań, reprezentujących węzeł definicji procesu.

Aplikacja w tle Wywołaj zdarzenia

Aplikacja w tle Wywołaj zdarzenia wywołuje zdarzenie com.cisag.pgm.workflow.InstanceEvent (zdarzenie wyzwalane przez aplikację w tle Wywołaj zdarzenia) dla wszystkich instancji obiektów biznesowych wybranych przez instrukcję OQL. Aplikacja w tle może być wykonywana jednorazowo lub regularnie za pomocą zadania przetwarzania. Działania mogą być tworzone przy użyciu definicji aktywności, które zostały zarejestrowane dla wywoływanego zdarzenia.

Opracowanie

Działania mogą być przetwarzane przez użytkowników, zlecenia przetwarzania lub system. Dany operator działania może być definiowany na różne sposoby. Użytkownik może po prostu określić użytkownika lub osobę. Ponadto można również wykorzystać elementy struktury organizacyjnej, tj. stanowiska i organizacje. Role przepływu pracy służą do przedstawiania organizacji procesu do struktury organizacyjnej, przy czym te dwie organizacje nie muszą się ze sobą pokrywać.

Jeśli role przepływu pracy są używane konsekwentnie, proces i struktury organizacyjne mogą być zmieniane niezależnie od siebie. Ponadto role przepływu pracy są jednym z fundamentów dostarczania definicji aktywności jako szablonów (Templates).

W zależności od tego, która opcja przypisania zostanie użyta, dla działania będzie istniał dokładnie jeden operator lub grupa operatorów. Niezależnie od tego można określić, czy przetwarzanie ma być wykonywane przez jeden czy wszystkich operatorów. Oprócz wewnętrznej struktury organizacyjnej, w systemie można również zmapować odpowiednie sekcje struktury organizacyjnej odpowiednich partnerów biznesowych.

Zasadniczo każdy, kto ma przeglądarkę i połączenie sieciowe z systemem źródłowym (przez Internet, intranet lub inne sieci) może być operatorem zadania. Oznacza to, że pracownicy partnerów biznesowych mogą być również bardzo łatwo uwzględnieni w tym procesie.

Struktura organizacyjna w systemie pozwala na zdefiniowanie relacji przełożonego i zastępcy pomiędzy stanowiskami. Stanowiska mogą odnosić się zarówno do własnej firmy, jak i partnerów biznesowych.

Działania generowane na podstawie definicji działań mogą generować i wywoływać zadania przetwarzania, a także wywoływać aplikacje działające w tle. Aplikacje działające w tle są wywoływane bez interakcji użytkownika. Aby to zrobić, parametry muszą być opisane w obiekcie deweloperskim aplikacji działającej w tle. Nie wszystkie aplikacje spełniają te założenia. Aplikacja działająca w tle Wywołaj aplikacje batchowe w Workflow może być użyta do wywołania aplikacji działającej w tle, nawet jeśli nie opisano wszystkich parametrów.

Warunki

Za każdym razem, gdy zmienia się status działania, system sprawdza, czy warunek wstępny działania jest nadal spełniony. Jeśli warunek wstępny nie jest spełniony, do działania przypisywany jest status Zrealizowane bez edytowania. Oznacza to, że wszystkie zadania w działaniu, które nie osiągnęły jeszcze statusu końcowego, są również zakończone bez przetwarzania. Warunek wstępny nie jest sprawdzany dla działań, które są przetwarzane przez system lub przez zlecenie przetwarzania oraz dla zmian statusu na jeden z dwóch statusów końcowych Zakończone i Zrealizowane bez edytowania.

Przykład
Możliwy warunek wstępny dla działania dla zlecenia: Zlecenie musi mieć status zablokowane. Zanim działanie otrzyma status Opóźnione, system sprawdza, czy zlecenie zostało już odblokowane. Oznacza to, że przełożony jest powiadamiany tylko wtedy, gdy zlecenie nie zostało odblokowane w określonym czasie.

Innym przykładem wykorzystania przepływu pracy jest monitorowanie czasu odpowiedzi i rozwiązywania zgłoszeń do pomocy technicznej. W tym przypadku warunki wstępne również odgrywają decydującą rolę.

Działanie może zostać ukończone tylko wtedy, gdy spełniony jest warunek końcowy. Warunek końcowy może być użyty np. po to, aby zapobiec zakończeniu działania przed wykonaniem zadania opisanego w działaniu. Warunek końcowy może również uniemożliwić osobie tworzącą zlecenie samodzielną autoryzację zamówienia.

Działania seryjne są generowane z szablonu seryjnego, o ile spełniony jest warunek dot. serii, a czas trwania serii nie został przekroczony. Jeśli ma zostać utworzone działanie seryjne, a warunek dot. serii nie zostanie spełniony w tym momencie, cała seria zostanie anulowana. Jeśli jednak warunek wstępny szablonu serii nie zostanie spełniony, nie zostanie wygenerowane żadne działanie serii; seria nie zostanie jednak anulowana.

Teksty

Dla definicji działań można wprowadzić temat i opis. Można również użyć symboli zastępczych, które są zdefiniowane w deklaracjach. Teksty w wielu językach można również wprowadzać dla tematu i opisu, które są wyświetlane użytkownikowi zgodnie z jego ustawieniami językowymi.

Aplikacja

Możliwe jest zapisanie aplikacji do przetwarzania działań wygenerowanych z definicji działania. Jeśli za opracowanie działania odpowiedzialny jest użytkownik, można zdefiniować aplikację otwierającą się w formie okna dialogowego, która jest automatycznie otwierana, gdy użytkownik rozpoczyna edycję utworzonego zadania. Jeśli natomiast opracowanie wynika ze zlecenia przetwarzania, aplikacja działająca w tle może zostać zapamiętania jako aplikacja wykorzystywana do edycji.

Wyniki

Każde działanie ma swój ogólny wynik, który można zdefiniować za pomocą funkcji skryptu „setActivityResult“ . Ten ogólny wynik można wyświetlić na przykład w odpowiednich aplikacjach typu lista dla danych działań. Ponadto dalsze działania można zdefiniować w definicji działań, którą procesor wprowadza podczas wykonywania zadania. Wyniki w węźle początkowym procesu mogą być również wykorzystywane do kontrolowania przebiegu procesu.

Deklaracje

W przypadku definicji aktywności deklaracje można wprowadzać we własnym „języku skryptowym systemu” lub w języku JavaScript. W deklaracjach udostępniane są funkcje, które są wywoływane podczas tworzenia działań, gdy zmienia się status i gdy wprowadzane są określone wartości parametrów. Właściwości procesów i działań mogą być elastycznie definiowane poprzez dostosowanie deklaracji.

Powiązania

Każde działanie może być powiązane z dowolną liczbą jednostek biznesowych w tej samej bazie danych. Przykładowo: działanie może być powiązane z klientem lub artykułem. Ma to tę zaletę, że można wyszukiwać i znajdować wszystkie działania powiązane z klientem.

Przykład
Po rozmowie telefonicznej użytkownik wprowadza ręcznie zarejestrowane działanie, która w określonym czasie przypomina o tym, że klient chce być poinformowany o dostępności określonego produktu najpóźniej za dwa tygodnie.

Dowolną liczbę dokumentów lub notatek z zarządzania dokumentami można również powiązać z działaniami za pomocą funkcji skryptu.

Definicje procesów

Definicja procesu to kompletny opis techniczny procesu operacyjnego lub podprocesu. Składa się z kroków procesu, które opisują proces biznesowy pod względem czasu i organizacji. Definicję procesu można wyświetlić jako diagram, którego węzły reprezentują działania, a krawędzie reprezentują przepływ sterowania. Przy użyciu definicji procesu i definicji działań tworzone są cechy procesu, a także jego kroki. Definicje procesu są niezależne od bazy danych OLTP i systemu, w którym zostały zarejestrowane, ponieważ nie zawierają danych specyficznych dla systemu ani OLTP. Definicje procesów zapisywane są w repozytorium bazy danych.

W definicjach procesów czas przetwarzania i okres przechowywania są określone dla procesów, podczas których procesy nie mogą być reorganizowane. Priorytety dla procesów nie są ustawiane w definicjach procesów; priorytety dla każdego etapu procesu można ustawić indywidualnie w definicji działania.

Aby uruchomić procesy, definicja procesu może zostać przypisana do obszaru, a aplikacja procesu może zostać zdefiniowana dla szablonu definicji procesu.

Wyznaczana jest osoba odpowiedzialna za definicje procesów. Może to być użytkownik lub rola przepływu pracy. Uprawnienia mogą być przypisane w definicji procesu dla właściciela procesu i dla inicjatora procesu, dla uczestników procesu, dla użytkowników konsultowanych w procesie i dla osób nieuczestniczących w procesie. W przypadku wystąpienia błędów lub przekroczenia czasu przetwarzania procesu uruchomionego z definicji procesu, powiadomienia e-mail mogą być wysyłane do osoby odpowiedzialnej za proces lub do administratora przepływu pracy.

W tym rozdziale znajduje się wprowadzenie do definicji procesów.

Model procesu

Procesy są modelowane w edytorze definicji procesów jako sekwencja kroków procesu, reprezentowana jako węzły i połączona krawędziami. Model procesu w systemie ERP jest oparty na Business Process Model and Notation (BPMN), ale różni się od BPMN szczegółami. Dostępne są następujące elementy:

  • Węzły działań – to krok procesu, reprezentujący działanie dla jednego lub więcej operatorów. Niektóre węzły działań obsługują określone czynności, takie jak podejmowanie decyzji lub wysyłanie wiadomości e-mail. W zależności od typu, węzeł działania jest przetwarzany przez użytkowników, przez system lub przez zlecenie przetwarzania. W edytorze węzły działań są wyświetlane jako prostokąty.
  • Węzeł zdarzeń – to krok procesu, który reprezentuje zdarzenie istotne dla procesu zamiast czynności. Węzły zdarzeń obejmują zdarzenie początkowe, końcowe, błędu i zdarzenia pośrednie. Działania generowane przez węzeł zdarzeń są przetwarzane przez system. Węzły zdarzeń są wyświetlane w edytorze jako okręgi.
  • Bramki (gatways) –  są używane w definicjach procesów do rozdzielania przepływu sterowania z jednego węzła i przekazywania go do kilku węzłów (rozgałęzianie) lub do łączenia przepływów sterowania z kilku węzłów i przekazywania ich do pojedynczego węzła (scalanie). Bramki są wyświetlane w edytorze jako romby.
  • Krawędzie (połączenia) – łączą poszczególne węzły i bramy i przekazują przepływ procesu. Krawędzie są wyświetlane w edytorze jako linie.

Dla każdego węzła istnieje dokładnie jedna definicja działania. Zachowanie węzła jest określone przez tę definicję działania. Gdy przepływ sterowania osiągnie węzeł w procesie, silnik przepływu pracy generuje działanie z definicji działania. Gdy działanie zostanie zakończone, silnik przepływu pracy przekazuje przepływ sterowania do następnego węzła poprzez wychodzącą krawędź. Jeśli przepływ sterowania osiągnie rozgałęzienie, warunki przejścia dla rozgałęzienia z definicji działania są oceniane przed rozgałęzieniem, a przepływ sterowania jest kontynuowany w zależności od oceny.

Proces kończy się po zakończeniu działania powiązanego ze zdarzeniem końcowym. Działania i zadania, które nie mają jeszcze ostatecznego statusu, otrzymują status Zakończone bez przetwarzania. Jeśli proces nie posiada już przepływu sterowania lub wystąpi błąd w kroku procesu, proces kończy się za pośrednictwem węzła błędu.

Zmienne procesowe

Zmienne procesowe mogą być deklarowane dla procesów w definicji procesu. Zmienne procesowe rozszerzają procesy o dodatkowe informacje, które mogą być wyświetlane w procesie. Działania mogą wykorzystywać deklaracje do oceny zmiennych procesowych i przypisywania im wartości.

W definicjach działań węzłów, ogólne atrybuty mogą być również używane dla procesów w celu zapisywania tekstów, liczb lub czasów jako wyników procesu.

Deklaracje

W deklaracjach można zadeklarować stałe, zmienne i funkcje, które mają zastosowanie do wszystkich definicji działań należących do definicji procesu.

Wskazówka
Zmienne i stałe wprowadzone w definicji procesu mogą być oceniane tylko w definicjach działań węzłów, które używają tego samego języka skryptowego co definicja procesu.

Silnik workflow (silnik przepływu pracy)

Wraz z usługą powiadomień o zdarzeniach, silnik przepływu pracy koordynuje i monitoruje wykonywanie przepływów pracy. Silnik przepływu pracy jest wykonywany na serwerze komunikatów w każdym systemie. Silnik przepływu pracy jest częścią systemu i można go skonfigurować podczas konfigurowania systemu.

Wszystkie automatyczne zmiany statusu działań i zadań są wykonywane przez centralny silnik przepływu pracy. Silnik przepływu pracy jest wykonywany na serwerze komunikatów w każdym systemie. Na każdym innym serwerze aplikacji (SAS) systemu ERP w systemie działa jedynie obsługa zdarzeń.

Języki skryptowe

Silnik przepływu pracy obsługuje własny „język skryptowy systemu” i „JavaScript”, które są potrzebne do wyrażania złożonych relacji i definiowania deklaracji dla działań i procesów.

Termy, warunki, polecenia i deklaracje są używane do wyrażania złożonych relacji. Wszystkie te wyrażenia są częścią wspólnego języka skryptowego zwanego „językiem skryptowym systemu”. Składnia języka skryptowego systemu opiera się na SQL, Pascalu i Javie. Język skryptowy systemu jest używany w zarządzaniu przepływem pracy, np. do formułowania warunku wstępnego lub warunku przejściowego lub do określania operatorów, którzy nie są ujęci w roli przepływu pracy. Język skryptu systemowego jest sprawdzany w systemie ERP, a w przypadku wystąpienia błędów w skrypcie wyświetlane są ostrzeżenia.

 

Czy ten artykuł był pomocny?