{"id":7919,"date":"2024-02-06T13:23:31","date_gmt":"2024-02-06T12:23:31","guid":{"rendered":"https:\/\/pomoc.comarch.pl\/cee\/640\/?post_type=ht_kb&#038;p=7919"},"modified":"2025-02-17T11:29:36","modified_gmt":"2025-02-17T10:29:36","slug":"wprowadzenie-zarzadzanie-przeplywem-pracy-workflow","status":"publish","type":"ht_kb","link":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/wprowadzenie-zarzadzanie-przeplywem-pracy-workflow\/","title":{"rendered":"Wprowadzenie: Workflow Management"},"content":{"rendered":"<h3 id=\"opis-zagadnienia\" >Opis zagadnienia<\/h3>\n<p>Przep\u0142yw pracy (workflow) to zdefiniowana sekwencja skoordynowanych dzia\u0142a\u0144 maj\u0105cych na celu wydajne i powtarzalne wykonanie procesu biznesowego lub obiegu zada\u0144, b\u0105d\u017a te\u017c zautomatyzowanie procesu w ca\u0142o\u015bci lub w cz\u0119\u015bci.<\/p>\n<p>Zarz\u0105dzanie przep\u0142ywem pracy to element systemu ERP, kt\u00f3ry wykorzystuje podstawowe w\u0142a\u015bciwo\u015bci i funkcje systemu do mapowania proces\u00f3w biznesowych i cyklu pracy. Dzi\u0119ki sprawnej i bezproblemowej integracji prawie ka\u017cda aplikacja mo\u017ce uzyska\u0107 dost\u0119p do przep\u0142ywu pracy. Zarz\u0105dzanie przep\u0142ywem pracy jest r\u00f3wnie\u017c wykorzystywane w wielu miejscach w systemie, np. w zarz\u0105dzaniu relacjami lub przetwarzaniu w tle.<\/p>\n<p>Artyku\u0142 przedstawia zakres i zalety zarz\u0105dzania przep\u0142ywem pracy. Zawiera przegl\u0105d i kr\u00f3tkie opisy g\u0142\u00f3wnych element\u00f3w i funkcjonalno\u015bci.<\/p>\n<p>Przep\u0142yw pracy mo\u017cna dostosowa\u0107 za pomoc\u0105 warunk\u00f3w w j\u0119zyku skryptowym systemu, ale tak\u017ce za pomoc\u0105 programowania Java. Dzi\u0119ki sprawnej i bezproblemowej integracji ka\u017cda aplikacja mo\u017ce uzyska\u0107 dost\u0119p do przep\u0142ywu pracy, bez konieczno\u015bci skomplikowanego programowania interfejsu.<\/p>\n<p>Mo\u017cliwo\u015b\u0107 generowania zlece\u0144 przetwarzania poprzez dzia\u0142ania oznacza, \u017ce zdarzenia i aplikacje dzia\u0142aj\u0105ce w tle mog\u0105 by\u0107 po\u0142\u0105czone za po\u015brednictwem przep\u0142ywu pracy bez konieczno\u015bci adaptacji.<\/p>\n<h3 id=\"aplikacje-zwiazane-z-przeplywem-pracy\" >Aplikacje zwi\u0105zane z przep\u0142ywem pracy<\/h3>\n<p>Niniejszy rozdzia\u0142 opisuje elementy zarz\u0105dzania przep\u0142ywem pracy, kt\u00f3re s\u0105 istotne dla u\u017cytkownika.<\/p>\n<h4 id=\"komponenty-istotne-dla-uzytkownika\" >Komponenty istotne dla u\u017cytkownika<\/h4>\n<p>Dla u\u017cytkownika istotne s\u0105 nast\u0119puj\u0105ce elementy zwi\u0105zane z zarz\u0105dzeniem przep\u0142ywem pracy:<\/p>\n<p><em>Zadania &#8211; z<\/em>adanie w zarz\u0105dzaniu przep\u0142ywem pracy oznacza przypisanie aktywno\u015bci do u\u017cytkownika wynikaj\u0105cej z danego dzia\u0142ania. Ka\u017cde zadanie ma zaplanowany okres przetwarzania, kt\u00f3ry jest okre\u015blany przez dzia\u0142anie nadrz\u0119dne, a tak\u017ce status zadania. Przy pierwszej zmianie na nowy status, dokumentowany jest czas takiej zmiany. Dalsze informacje mo\u017cna znale\u017a\u0107 w rozdziale <a href=\"#zadania\"><span style=\"color: #000000;\"><em>Zadania<\/em><\/span><\/a>.<\/p>\n<p><em>Dzia\u0142ania &#8211; d<\/em>zia\u0142anie opisuje aktywno\u015b\u0107, kt\u00f3ra mo\u017ce by\u0107 wykonana przez jednego lub wi\u0119cej u\u017cytkownik\u00f3w. Je\u015bli dzia\u0142anie posiada kilku u\u017cytkownik\u00f3w jako u\u017cytkownik\u00f3w opracowuj\u0105cych, zadanie powi\u0105zane z dzia\u0142aniem jest tworzone dla ka\u017cdego u\u017cytkownika. Dzia\u0142anie tworzy zatem klamr\u0119 wok\u00f3\u0142 powsta\u0142ych zada\u0144, a tak\u017ce zawiera informacje o zadaniach. Dzia\u0142anie posiada status dzia\u0142ania, kt\u00f3ry opisuje jego stan. Dalsze informacje mo\u017cna znale\u017a\u0107 w rozdziale <a href=\"#dzialania\"><span style=\"color: #000000;\"><em>Dzia\u0142ania<\/em><\/span><\/a>.<\/p>\n<p><em>Procesy<\/em> &#8211; proces w zarz\u0105dzaniu przep\u0142ywem pracy opisuje wykonanie procesu operacyjnego lub podprocesu w oparciu o definicj\u0119 procesu. Proces mo\u017cna wy\u015bwietli\u0107 jako diagram, kt\u00f3rego w\u0119z\u0142y reprezentuj\u0105 dzia\u0142ania, a kraw\u0119dzie reprezentuj\u0105 przep\u0142yw sterowania. Poszczeg\u00f3lne etapy procesu s\u0105 przetwarzane za pomoc\u0105 wygenerowanych dzia\u0142a\u0144. Uko\u0144czenie etapu danego procesu mo\u017ce uruchomi\u0107 przetwarzanie innych jego etap\u00f3w. Proces ma ustalony okres przetwarzania, jak r\u00f3wnie\u017c pocz\u0105tek i koniec. Dalsze informacje mo\u017cna znale\u017a\u0107 w rozdziale <a href=\"#procesy\"><span style=\"color: #000000;\"><em>Procesy<\/em><\/span><\/a>.<\/p>\n<p><em>Skrzynka workflow<\/em> &#8211; okno dokowane <em>Wyszukiwanie zada\u0144<\/em> s\u0142u\u017cy jako skrzynka odbiorcza w przep\u0142ywie pracy. Okno <em>Wyszukiwanie zada\u0144<\/em> automatycznie wy\u015bwietla wszystkie zadania, kt\u00f3re odnosz\u0105 si\u0119 do u\u017cytkownika. W oknie mo\u017cna wybra\u0107, czy wy\u015bwietlane maj\u0105 by\u0107 wszystkie zadania, bie\u017c\u0105ce zadania, zadania, kt\u00f3rych okres przetwarzania ju\u017c up\u0142yn\u0105\u0142 (zadania op\u00f3\u017anione) lub zadania zaplanowane.<\/p>\n<p><em>Pasek zada\u0144 przep\u0142ywu pracy &#8211; p<\/em>o otwarciu i przej\u0119ciu zadania w oknie dokowanym <em>Wyszukiwanie zada\u0144<\/em> lub w jednym z aplikacji typu <em>Lista<\/em>, wy\u015bwietlany jest pasek narz\u0119dzi przep\u0142ywu pracy, a nast\u0119pnie aktywowany jest tryb przep\u0142ywu pracy. Zadania mo\u017cna przetwarza\u0107 za pomoc\u0105 akcji na pasku zada\u0144 przep\u0142ywu pracy. Zadania mo\u017cna m.in. przejmowa\u0107, ko\u0144czy\u0107, odk\u0142ada\u0107, przesun\u0105\u0107 do przodu i przekazywa\u0107. Dalsze informacje dotycz\u0105ce paska zada\u0144 przep\u0142ywu pracy mo\u017cna znale\u017a\u0107 w artykule <u>Podr\u0119cznik u\u017cytkowania<\/u> w rozdziale <em>Zarz\u0105dzanie przep\u0142ywem pracy<\/em>.<\/p>\n<p><em>Informacje o aktywno\u015bciach<\/em> &#8211; aplikacja <em>Informacje o aktywno\u015bciach <\/em>zapewnia prosty i szybki przegl\u0105d dzia\u0142a\u0144 przep\u0142ywu pracy w oknie dokowanym. Aplikacja jest otwierana automatycznie po otwarciu zadania, a dzia\u0142anie nadrz\u0119dne jest powi\u0105zane z aplikacj\u0105 lub obiektem biznesowym. Oznacza to, \u017ce zar\u00f3wno obiekt biznesowy, kt\u00f3ry ma zosta\u0107 przetworzony, jak i najwa\u017cniejsze informacje o dzia\u0142aniu zawsze pozostaj\u0105 widoczne. Dok\u0142adnie informacje mo\u017cna znale\u017a\u0107 w artykule Informacje o aktywno\u015bciach.<\/p>\n<p><em>Powiadomienia e-mail<\/em> &#8211; powiadomienia e-mail mog\u0105 by\u0107 wykorzystywane na przyk\u0142ad do informowania u\u017cytkownik\u00f3w korzystaj\u0105cych z przep\u0142ywu pracy o nowych zadaniach lub zmianach statusu zada\u0144, dzia\u0142a\u0144 i proces\u00f3w. Wysy\u0142anie wiadomo\u015bci e-mail jest szczeg\u00f3lnie przydatne dla pracownik\u00f3w partner\u00f3w biznesowych, kt\u00f3rzy nie pracuj\u0105 regularnie z systemem.<\/p>\n<h4 id=\"zadania\" ><a id=\"zadania\"><\/a>Zadania<\/h4>\n<p>Zadania do przetworzenia przez u\u017cytkownika s\u0105 wymienione na zak\u0142adce <em>Wyszukiwanie zada\u0144<\/em>, znajduj\u0105cej si\u0119 w obszarze nawigacji. Zak\u0142adka s\u0142u\u017cy jako skrzynka workflow w systemie ERP i mo\u017ce by\u0107 u\u017cywana jako okno dokowane.<\/p>\n<p>W ustawieniach u\u017cytkownika ka\u017cdy u\u017cytkownik mo\u017ce r\u00f3wnie\u017c ustawi\u0107 otrzymywanie wiadomo\u015bci e-mail, gdy pojawi si\u0119 nowe zadanie. Taka wiadomo\u015b\u0107 zawiera m.in. link do otwarcia odpowiedniego dzia\u0142ania. Je\u015bli status zadania zmieni si\u0119 na <em>Zaleg\u0142e<\/em>, u\u017cytkownik opcjonalnie mo\u017ce otrzyma\u0107 kolejn\u0105 wiadomo\u015b\u0107 e-mail. Wysy\u0142anie wiadomo\u015bci e-mail jest szczeg\u00f3lnie przydatne dla pracownik\u00f3w partner\u00f3w biznesowych, kt\u00f3rzy nie pracuj\u0105 regularnie z systemem.<\/p>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Pracownik pracuj\u0105cy dla dostawcy otrzymuje wiadomo\u015b\u0107 e-mail z pro\u015bb\u0105 o wprowadzenie oferty do zapytania sprzeda\u017cy.<\/div><\/section>\n<p>Okno dokowane <em>Wyszukiwanie zada\u0144 <\/em>jest aktualizowane na bie\u017c\u0105co. Zapewnia ono dost\u0119p do wszystkich funkcji, kt\u00f3rych u\u017cytkownik potrzebuje do wykonania swoich zada\u0144. Po rozpocz\u0119ciu przetwarzania zadania pasek narz\u0119dzi przep\u0142ywu pracy jest aktywny. Na pasku narz\u0119dzi przep\u0142ywu zada\u0144 znajduj\u0105 si\u0119 akcje i informacje dotycz\u0105ce zadania przetwarzanego przez u\u017cytkownika.<\/p>\n<h4 id=\"wyszukiwanie-zadan\" >Wyszukiwanie zada\u0144<\/h4>\n<p>Aplikacje <em>Lista: Zadania\/Baza danych OLTP <\/em>i <em>Lista: Zadania\/Baza danych repozytorium<\/em> pozwalaj\u0105 na przegl\u0105danie przysz\u0142ych, bie\u017c\u0105cych i wcze\u015bniejszych zada\u0144 wraz z ich podstawowych informacji, na przyk\u0142ad o u\u017cytkowniku opracowuj\u0105cym, statusie zadania i jednostkach biznesowych powi\u0105zanych z dzia\u0142aniem nadrz\u0119dnym. Uprawnienia ograniczaj\u0105 dost\u0119p u\u017cytkownika do istotnych dla niego danych.<\/p>\n<p>Aplikacja <em>Lista: Zadania\/Baza danych repozytorium <\/em>s\u0142u\u017cy do wywo\u0142ywania i edycji zada\u0144 z nadrz\u0119dnej bazy danych repozytorium. Baza danych repozytorium stanowi podstaw\u0119 systemu Comarch ERP Enterprise. Ta baza danych zawiera wszystkie obiekty deweloperskie. Obiekty deweloperskie opisuj\u0105 i definiuj\u0105 system. Baza danych repozytorium jest centraln\u0105 lokalizacj\u0105 do importowania, aktywowania i dystrybucji aktualizacji oprogramowania. Zawiera ona r\u00f3wnie\u017c s\u0142ownik danych, opisuj\u0105cy schemat bazy danych przy u\u017cyciu systemu typ\u00f3w obiektowo-relacyjnych. Baza danych repozytorium przyjmuje r\u00f3wnie\u017c rol\u0119 centralnej bazy danych systemu. Zawiera ona dziennik systemu oraz definicje uprawnie\u0144.<\/p>\n<p>Aplikacja <em>Lista: Zadania\/Baza danych OLTP <\/em>s\u0142u\u017cy do wywo\u0142ywania i edycji zada\u0144 z bazy danych OLTP, do kt\u00f3rej w danym momencie zalogowany jest u\u017cytkownik. W bazie danych OLTP (Online-Transaction-Processing) przetwarzane s\u0105 dane podstawowe oraz transakcyjne dla aplikacji biznesowych. Ponadto przechowywane s\u0105 w niej instrukcje dotycz\u0105ce \u201ekonfiguracji\u201d. W systemie produkcyjnym baza danych OLTP jest poddawana najwi\u0119kszemu obci\u0105\u017ceniu przez u\u017cytkownik\u00f3w. Dlatego te\u017c zosta\u0142 ona specjalnie zaprojektowana do obs\u0142ugi du\u017cej liczby u\u017cytkownik\u00f3w, kt\u00f3rzy r\u00f3wnolegle przetwarzaj\u0105 wsp\u00f3\u0142dzielon\u0105 baz\u0119 danych.<\/p>\n<h4 id=\"edycja-i-wykonywanie-zadan\" >Edycja i wykonywanie zada\u0144<\/h4>\n<p>Po osi\u0105gni\u0119ciu ustawionego czasu rozpocz\u0119cia zaplanowane zadania przechodz\u0105 do stanu <em>Do opracowania<\/em>. Zadania do opracowania s\u0105 wy\u015bwietlane w dokowanym oknie <em>Wyszukiwanie zada\u0144<\/em>.<\/p>\n<p>Aby otworzy\u0107 zadanie deweloperskie, kt\u00f3re ma by\u0107 edytowane w zadaniu, w menu kontekstowym nale\u017cy wybra\u0107 opcj\u0119 <em>Otw\u00f3rz<\/em> lub klikn\u0105\u0107 dwukrotnie wy\u015bwietlone zadanie. Jednocze\u015bnie wy\u015bwietlany jest pasek narz\u0119dzi przep\u0142ywu pracy i aktywowany jest tryb przep\u0142ywu pracy.<\/p>\n<p>Gdy zadanie jest otwarte, a dzia\u0142anie nadrz\u0119dne jest powi\u0105zane z aplikacj\u0105 lub obiektem biznesowym, odpowiednia aplikacja jest automatycznie otwierana w celu przetworzenia zadania. W tym samym czasie aplikacja <em>Informacje o aktywno\u015bciach<\/em> otwiera si\u0119 jako okno dokowane. Aplikacja <em>Informacje o aktywno\u015bciach <\/em>zapewnia prosty i szybki przegl\u0105d dzia\u0142a\u0144 przep\u0142ywu pracy. Oznacza to, \u017ce zar\u00f3wno obiekt biznesowy, kt\u00f3ry ma zosta\u0107 przetworzony, jak i najwa\u017cniejsze informacje o dzia\u0142aniu zawsze pozostaj\u0105 widoczne. Dok\u0142adnie informacje mo\u017cna znale\u017a\u0107 w artykule Informacje o aktywno\u015bciach.<\/p>\n<p>Je\u015bli zadanie zostanie otwarte, a dzia\u0142anie nadrz\u0119dne nie jest powi\u0105zane z aplikacj\u0105 lub obiektem biznesowym, dzia\u0142anie nadrz\u0119dne zadania zostanie otwarte w aplikacji <em>Dzia\u0142ania<\/em>. Po przej\u0119ciu zadania status zmienia si\u0119 na <em>W opracowaniu<\/em>.<\/p>\n<p>Je\u015bli opracowanie <em>Opracowanie pojedyncze<\/em> jest ustawiona dla dzia\u0142ania nadrz\u0119dnego, wszelkie inne zadania od innych u\u017cytkownik\u00f3w otrzymuj\u0105 dla takiego dzia\u0142ania otrzymuj\u0105 status <em>Zablokowane<\/em>. Automatyczne przej\u0119cie zada\u0144 po ich otwarciu mo\u017cna ustawi\u0107 w aplikacji <em>Konfiguracja<\/em>, funkcja <em>Workflow-Management<\/em>.<\/p>\n<p>Je\u015bli u\u017cytkownik przej\u0105\u0142 zadanie do edycji, ale chce je zwr\u00f3ci\u0107 (np. po to, aby inny u\u017cytkownik m\u00f3g\u0142 je edytowa\u0107), w\u00f3wczas mo\u017cna ponownie od\u0142o\u017cy\u0107 zadania. Takie zadanie otrzymuje status <em>Do opracowania<\/em>.<\/p>\n<p>Zadania mog\u0105 by\u0107 r\u00f3wnie\u017c przekazywane do innego operatora. Podczas przekazywania zadania mo\u017cna je przenie\u015b\u0107 lub skopiowa\u0107, a w razie potrzeby \u015bledzi\u0107 status przekazanego zadania za pomoc\u0105 powiadomie\u0144 e-mail. Dla nowego operatora zadania mo\u017cna wprowadzi\u0107 tekst powiadomienia.<\/p>\n<p>W razie potrzeby w celu edytowania zada\u0144 mo\u017cna aktywowa\u0107 tryb ci\u0105g\u0142ego opracowania. Dzi\u0119ki przetwarzaniu ci\u0105g\u0142emu mo\u017cna uko\u0144czy\u0107 kilka kolejnych zada\u0144 bez opuszczania trybu przetwarzania przep\u0142ywu pracy. Uko\u0144czenie zadania automatycznie otwiera nast\u0119pne zadanie.<\/p>\n<p>Po zako\u0144czeniu pracy nad zadaniem nale\u017cy zmieni\u0107 jego status na <em>Zako\u0144czone<\/em>. Je\u015bli prace nad zadaniem nie mog\u0105 zosta\u0107 uko\u0144czone, nale\u017cy zmieni\u0107 status na <em>Zrealizowane bez edytowania.<\/em><\/p>\n<h4 id=\"dzialania\" ><a id=\"dzialania\"><\/a>Dzia\u0142ania<\/h4>\n<p>W tym rozdziale znajduje si\u0119 wprowadzenie do dzia\u0142a\u0144.<\/p>\n<h5 id=\"tworzenie-dzialan\" >Tworzenie dzia\u0142a\u0144<\/h5>\n<p>Definicja dzia\u0142a\u0144 mo\u017ce by\u0107 u\u017cyta do wygenerowania dzia\u0142ania w odpowiedzi na dowolne zdarzenie. Jest to widoczne jako zadanie dla odpowiednich pracownik\u00f3w opracowuj\u0105cych. W definicji dzia\u0142ania mo\u017cna okre\u015bli\u0107, kt\u00f3ra aplikacja powinna by\u0107 u\u017cywana do przetwarzania zadania.<\/p>\n<p>Ka\u017cdy u\u017cytkownik mo\u017ce r\u0119cznie rejestrowa\u0107 dzia\u0142ania swoje i innych u\u017cytkownik\u00f3w. Dzia\u0142ania te nazywane s\u0105 dzia\u0142aniami tworzonymi r\u0119cznie. Dzia\u0142ania mo\u017cna wprowadza\u0107 r\u0119cznie dla ka\u017cdej jednostki biznesowej, korzystaj\u0105c z pozycji w menu kontekstowym. Tak dzia\u0142anie utworzone r\u0119cznie zostaje automatycznie powi\u0105zane z obiektem biznesowym. Obejmuje to w szczeg\u00f3lno\u015bci g\u0142\u00f3wne scenariusze ponownego przed\u0142o\u017cenia.<\/p>\n<p>Dzia\u0142ania mog\u0105 by\u0107 r\u00f3wnie\u017c wprowadzane r\u0119cznie w aplikacji <em>Dzia\u0142ania<\/em> albo jako nowe pojedyncze dzia\u0142ania, albo zduplikowane z istniej\u0105cego. W dzia\u0142aniu mo\u017cna doda\u0107 powi\u0105zanie z co najmniej jednym obiektem biznesowym. Ponadto r\u00f3\u017cne aplikacje automatycznie generuj\u0105 dzia\u0142ania za po\u015brednictwem og\u00f3lnie dost\u0119pnego interfejsu programistycznego. Przyk\u0142ady: Zarz\u0105dzanie relacjami, przetwarzanie w tle, oferty zakupowe (data ponownego przed\u0142o\u017cenia).<\/p>\n<h5 id=\"wyszukiwanie-dzialan\" >Wyszukiwanie dzia\u0142a\u0144<\/h5>\n<p>Dzia\u0142ania mo\u017cna wywo\u0142ywa\u0107 z poziomu aplikacji <em>Lista: Dzia\u0142ania\/Baza danych OLTP<\/em> i <em>Lista: Dzia\u0142ania\/Baza danych repozytorium<\/em>. Je\u015bli u\u017cytkownik szuka dzia\u0142ania dla konkretnej jednostki biznesowej, mo\u017cna skorzysta\u0107 z menu kontekstowego, aby przej\u015b\u0107 do funkcji wyszukiwania, znajduj\u0105cej si\u0119 w danej aplikacji typu <em>Lista<\/em>. W takiej aplikacji kryterium wyszukiwania \u0142\u0105cza jest wst\u0119pnie przypisane.<\/p>\n<h5 id=\"konczenie-dzialan\" >Ko\u0144czenie dzia\u0142a\u0144<\/h5>\n<p>Dzia\u0142ania mo\u017cna zako\u0144czy\u0107 akcj\u0105 poprzez aplikacj\u0119 <em>Aktywno\u015bci<\/em> lub poprzez powi\u0105zane z aktywno\u015bciami aplikacje typu <em>Lista<\/em>. Je\u015bli dzia\u0142anie ma otwarte zadania, przypisywany jest im status <em>Zako\u0144czone<\/em>. Je\u015bli otwarte zadanie jest nadal w opracowaniu, zostanie mu przypisany status <em>Zablokowane<\/em>.<\/p>\n<p>Mo\u017cliwe jest r\u00f3wnie\u017c zrealizowanie dzia\u0142ania z nieprzetworzon\u0105 akcj\u0105. Powoduje to przypisanie statusu <em>Zrealizowane bez edytowania<\/em>. Je\u015bli dzia\u0142anie ma otwarte zadania, przypisywany jest im status <em>Zrealizowane bez edytowania<\/em>. Je\u015bli otwarte zadanie jest nadal w opracowaniu, zostanie mu przypisany status <em>Zablokowane<\/em>.<\/p>\n<h4 id=\"procesy\" >Procesy<\/h4>\n<p>W tym rozdziale znajduje si\u0119 wprowadzenie do proces\u00f3w.<\/p>\n<h5 id=\"uruchomienie-procesow\" >Uruchomienie proces\u00f3w<\/h5>\n<p>Istniej\u0105 r\u00f3\u017cne sposoby uruchamiania proces\u00f3w w systemie ERP. Warunkiem wst\u0119pnym jest aktywacja odpowiedniej definicji procesu w odpowiedniej bazie danych.<\/p>\n<p>Ustawienia w definicji procesu i definicji zdarzenia w definicji dzia\u0142ania powi\u0105zanego ze zdarzeniem pocz\u0105tkowym okre\u015blaj\u0105, w jaki spos\u00f3b nale\u017cy zapocz\u0105tkowa\u0107 proces. W zale\u017cno\u015bci od typu zdarzenia i ustawie\u0144 mo\u017cliwe s\u0105 nast\u0119puj\u0105ce opcje:<\/p>\n<ul>\n<li>Definicja dzia\u0142ania dla zdarzenia pocz\u0105tkowego nie posiada ani definicji zdarzenia, ani definicji procesu powi\u0105zanej z aplikacj\u0105 procesu. W takim przypadku nale\u017cy uruchomi\u0107 proces w aplikacji <em>Procesy<\/em> za pomoc\u0105 okna dokowanego <em>Uruchom proces<\/em> lub przycisku o tej samej nazwie. Okno dokowane <em>Uruchom proces<\/em> wy\u015bwietla wszystkie definicje proces\u00f3w wed\u0142ug struktury, kt\u00f3re mo\u017cna uruchomi\u0107 w aplikacji <em>Procesy<\/em>.<\/li>\n<\/ul>\n<ul>\n<li>Definicja dzia\u0142ania dla zdarzenia pocz\u0105tkowego nie posiada definicji zdarzenia, ale definicja procesu jest powi\u0105zana z aplikacj\u0105 procesu. W takim przypadku nale\u017cy uruchomi\u0107 proces za po\u015brednictwem po\u0142\u0105czonej aplikacji <em>Procesy<\/em>.<\/li>\n<\/ul>\n<ul>\n<li>Definicja dzia\u0142ania dla zdarzenia pocz\u0105tkowego posiada definicj\u0119 zdarzenia typu <em>Akcja u\u017cytkownika<\/em>. W takim przypadku proces uruchamiany jest za po\u015brednictwem menu kontekstowego jednostki biznesowej przechowywanej w definicji dzia\u0142ania.<\/li>\n<\/ul>\n<ul>\n<li>Definicja dzia\u0142ania dla zdarzenia pocz\u0105tkowego posiada definicj\u0119 zdarzenia typu <em>Jednostka biznesowa<\/em> lub <em>Zaprogramowane zdarzenie<\/em>.<\/li>\n<\/ul>\n<p>W takim przypadku proces rozpoczyna si\u0119 od wyzwolenia zdarzenia zapisanego w definicji zdarzenia, np. poprzez zmian\u0119 obiektu biznesowego.<\/p>\n<h5 id=\"wyszukiwanie-procesow\" >Wyszukiwanie proces\u00f3w<\/h5>\n<p>Istniej\u0105ce procesy mo\u017cna wyszukiwa\u0107 w aplikacjach <em>Lista: Procesy\/Baza danych OLTP<\/em> i <em>Lista: Procesy\/Baza danych repozytorium.<\/em> Je\u015bli u\u017cytkownik szuka proces\u00f3w dla konkretnej jednostki biznesowej, mo\u017cna skorzysta\u0107 z menu kontekstowego, aby przej\u015b\u0107 do odpowiedniej aplikacji typu Lista. W takiej aplikacji kryterium wyszukiwania \u0142\u0105cza jest wst\u0119pnie przypisane. Powi\u0105zanie z procesem jest ustanawiane poprzez dzia\u0142anie w\u0119z\u0142a pocz\u0105tkowego.<\/p>\n<h5 id=\"tworzenie-komentarzy-dotyczacych-procesu\" >Tworzenie komentarzy dotycz\u0105cych procesu<\/h5>\n<p>Dla proces\u00f3w mo\u017cna wprowadza\u0107 komentarze. W razie potrzeby u\u017cytkownicy odpowiedzialni za proces, inicjator procesu lub wszyscy zaanga\u017cowani u\u017cytkownicy opracowuj\u0105cy proces mog\u0105 zosta\u0107 powiadomieni o nowym komentarzu dot. procesu za po\u015brednictwem wiadomo\u015b\u0107 e-mail.<\/p>\n<h5 id=\"realizowanie-zadan-bez-opracowania\" >Realizowanie zada\u0144 bez opracowania<\/h5>\n<p>Wybieraj\u0105c odpowiedni\u0105 akcj\u0119, procesy mog\u0105 zosta\u0107 zrealizowane bez opracowania. W takim przypadku proces otrzymuje status <em>Zrealizowane bez edytowania<\/em>, a otwarte dzia\u0142ania procesu tak\u017ce otrzymuj\u0105 status <em>Zrealizowane bez edytowania<\/em>.<\/p>\n<h4 id=\"limit-czasu\" >Limit czasu<\/h4>\n<p>Dane dzia\u0142anie powinno zosta\u0107 zako\u0144czone w okre\u015blonym czasie przetwarzania. W przeciwnym przypadku status dzia\u0142ania zmienia si\u0119 na <em>Op\u00f3\u017anione.<\/em> Je\u015bli zdefiniowany okres przetwarzania zostanie przekroczony, kolejne dzia\u0142anie zdefiniowane w definicji dzia\u0142ania mo\u017ce zosta\u0107 wykonane automatycznie, a u\u017cytkownik opracowuj\u0105cy zostanie o tym powiadomiony poprzez wiadomo\u015b\u0107 e-mail. W przypadku proces\u00f3w powiadomienie e-mail mo\u017ce by\u0107 r\u00f3wnie\u017c wysy\u0142ane do osoby odpowiedzialnej za proces. W przypadku przekroczenia limitu czasu procesu nie jest mo\u017cliwe wykonanie kolejnych akcji.<\/p>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Je\u015bli u\u017cytkownik, kt\u00f3ry zablokowa\u0142 okre\u015blone zadanie, nie odblokuje go w ci\u0105gu trzech tygodni, powi\u0105zane dzia\u0142anie mo\u017ce zosta\u0107 przekazane do prze\u0142o\u017conego.<\/div><\/section>\n<h3 id=\"organizacja-przeplywu-pracy\" >Organizacja przep\u0142ywu pracy<\/h3>\n<p>W tym rozdziale wyja\u015bniono aplikacje i funkcje organizacji przep\u0142ywu pracy. Organizacja przep\u0142ywu pracy s\u0142u\u017cy do okre\u015blania operator\u00f3w, przedstawicieli i os\u00f3b odpowiedzialnych za przep\u0142yw pracy.<\/p>\n<h4 id=\"role-przeplywu-pracy\" >Role przep\u0142ywu pracy<\/h4>\n<p>Role przep\u0142ywu pracy s\u0105 poziomem abstrakcji, pozwalaj\u0105cym na odwzorowanie organizacji procesu u\u017cywanej przez przep\u0142yw pracy. Role przep\u0142ywu pracy musz\u0105 posiada\u0107 w\u0142a\u015bcicieli, aby mo\u017cna by\u0142o z niej korzysta\u0107 w adekwatny spos\u00f3b. W\u0142a\u015bcicielami mog\u0105 by\u0107 u\u017cytkownicy, osoby, podmioty lub organizacje. Przypisanie w\u0142a\u015bciciela roli przep\u0142ywu pracy jest powi\u0105zane z baz\u0105 danych, poniewa\u017c przypisane mog\u0105 zosta\u0107 tylko obiekty w tej bazie danych. Rola zazwyczaj ma r\u00f3\u017cnych w\u0142a\u015bcicieli w r\u00f3\u017cnych bazach danych. Role przep\u0142ywu pracy mog\u0105 by\u0107 r\u00f3wnie\u017c definiowane za pomoc\u0105 wyra\u017cenia, podobnego do funkcji, zamiast poprzez przypisanych w\u0142a\u015bcicieli. Po anulowaniu tych r\u00f3l w\u0142a\u015bciciele s\u0105 okre\u015blani na podstawie wydruku.<\/p>\n<p>W\u0142a\u015bciciel roli przep\u0142ywu pracy jest cz\u0119\u015bci\u0105 przep\u0142ywu pracy. Jest to osoba lub grupa os\u00f3b, kt\u00f3re zosta\u0142y przypisane do roli przep\u0142ywu pracy w bazie danych. W\u0142a\u015bcicielami mog\u0105 by\u0107 na przyk\u0142ad u\u017cytkownicy, osoby, organizacje lub podmioty.<\/p>\n<p>Je\u015bli podczas tworzenia dzia\u0142ania nie mo\u017cna okre\u015bli\u0107 prawid\u0142owego u\u017cytkownika spo\u015br\u00f3d w\u0142a\u015bcicieli r\u00f3l przep\u0142ywu pracy, wykorzystywana jest rola: \u201ecis.WorkflowAdminOLTP\u201c lub \u201ecis.WorkflowAdminRepository\u201c. Je\u015bli ta rola nie ma prawid\u0142owego u\u017cytkownika, zadanie zostanie przypisane do u\u017cytkownika <em>Administrator<\/em>.<\/p>\n<h4 id=\"miejsca\" >Miejsca<\/h4>\n<p>Miejsce oznacza zar\u00f3wno przypisanie danej czynno\u015bci (funkcji) jednemu lub wi\u0119kszej liczbie pracownik\u00f3w, jak i przyporz\u0105dkowanie w strukturze firmy (strukturze organizacyjnej). Miejsca opisuj\u0105 poszczeg\u00f3lne stanowiska funkcjonalne i ich wzajemne relacje w strukturze organizacyjnej. Miejsca mog\u0105 by\u0107 u\u017cywane do definiowania r\u00f3l przep\u0142ywu pracy i mog\u0105 by\u0107 u\u017cywane do kontroli okre\u015blania prze\u0142o\u017conych i zast\u0119pc\u00f3w dla dzia\u0142a\u0144.<\/p>\n<p>Mo\u017cliwe jest tworzenie miejsc indywidualnych i zbiorowych. Miejsce indywidualne mo\u017cna przypisa\u0107 maksymalnie jednej osobie, natomiast miejsca zbiorowe dowolnej liczbie os\u00f3b. Relacje mi\u0119dzy miejscami mog\u0105 by\u0107 wykorzystywane do hierarchicznego umieszczania stanowisk w relacjach nadrz\u0119dnych i podrz\u0119dnych wzgl\u0119dem siebie. Relacje partnerskie mog\u0105 by\u0107 wykorzystywane do przypisywania zada\u0144 wraz z jedn\u0105 lub kilkoma osobami do organizacji nadrz\u0119dnych. Mo\u017cliwe jest tak\u017ce przypisanie miejsca do co najmniej jednej osoby bez przyporz\u0105dkowania do organizacji nadrz\u0119dnej.<\/p>\n<h4 id=\"nieobecnosci\" >Nieobecno\u015bci<\/h4>\n<p>Nieobecno\u015b\u0107 to zarejestrowany okres, w kt\u00f3rym u\u017cytkownik nie mo\u017ce przetwarza\u0107 zada\u0144 przep\u0142ywu pracy. Podczas nieobecno\u015bci delegowane zadania przep\u0142ywu pracy przypisane do u\u017cytkownika mog\u0105 zosta\u0107 przekazane zast\u0119pcy. W aplikacji <em>Nieobecno\u015bci<\/em> mo\u017cliwe jest zdefiniowanie nieobecno\u015bci oraz relacji mi\u0119dzy zast\u0119pcami, kt\u00f3re maj\u0105 zastosowanie, gdy u\u017cytkownik jest nieobecny. Zadania przep\u0142ywu pracy delegowane podczas nieobecno\u015bci u\u017cytkownika s\u0105 wy\u015bwietlane dla zast\u0119pcy w skrzynce odbiorczej przep\u0142ywu pracy.<\/p>\n<p>Warunkiem przekazania zadania przep\u0142ywu pracy do zast\u0119pcy w przypadku nieobecno\u015bci jest to, \u017ce przetwarzanie zada\u0144 jako zast\u0119pca jest dozwolone w powi\u0105zanej definicji dzia\u0142ania lub dzia\u0142aniu dla nieobecno\u015bci.<\/p>\n<h4 id=\"okreslanie-operatora-zwiazanego-z-procesem\" >Okre\u015blanie operatora zwi\u0105zanego z procesem<\/h4>\n<p>Okre\u015blenie operatora dla danego dzia\u0142ania mo\u017ce odby\u0107 si\u0119 za pomoc\u0105 deklaracji w jednym z j\u0119zyk\u00f3w skryptowych. W ten spos\u00f3b pracownik odpowiedzialny za zam\u00f3wienie mo\u017ce zosta\u0107 zdefiniowany jako operator dla dzia\u0142ania. W celu okre\u015blenia agenta zwi\u0105zanego z procesem nale\u017cy wprowadzi\u0107 wyra\u017cenie dla agenta w definicji aktywno\u015bci lub zdefiniowa\u0107 agenta w deklaracjach.<\/p>\n<h3 id=\"rozwoj-przeplywu-pracy\" >Rozw\u00f3j przep\u0142ywu pracy<\/h3>\n<p>W tym rozdziale wyja\u015bniono aplikacje i funkcje pozwalaj\u0105ce na rozw\u00f3j przep\u0142ywu pracy.<\/p>\n<h4 id=\"definicje-dzialan\" >Definicje dzia\u0142a\u0144<\/h4>\n<p>Definicja dzia\u0142a\u0144 jest szablonem dla dzia\u0142a\u0144 generowanych na ich podstawie. Je\u015bli definicja dzia\u0142a\u0144 jest aktywna, silnik workflow tworzy nowe dzia\u0142anie w momencie wyst\u0105pienia zarejestrowanego zdarzenia, pod warunkiem spe\u0142nienia warunku przej\u015bcia. Definicje dzia\u0142a\u0144 s\u0105 niezale\u017cne od bazy danych OLTP i systemu, w kt\u00f3rym zosta\u0142y zarejestrowane, poniewa\u017c nie zawieraj\u0105 danych specyficznych dla systemu ani OLTP. Definicje dzia\u0142a\u0144 zapisywane s\u0105 w repozytorium bazy danych.<\/p>\n<p>Czas rozpocz\u0119cia, czas przetwarzania i priorytet dzia\u0142a\u0144 mo\u017cna kontrolowa\u0107 za pomoc\u0105 definicji dzia\u0142ania.<\/p>\n<p>W tym rozdziale znajduje si\u0119 wprowadzenie do definicji dzia\u0142a\u0144.<\/p>\n<h5 id=\"typy-dzialan\" >Typy dzia\u0142a\u0144<\/h5>\n<p>Typ dzia\u0142a\u0144 mo\u017cna zdefiniowa\u0107 w definicji dzia\u0142a\u0144. W zale\u017cno\u015bci od typu dzia\u0142ania mo\u017cna wprowadzi\u0107 r\u00f3\u017cne ustawienia dla definicji dzia\u0142a\u0144. Mo\u017cliwe jest utworzenie nast\u0119puj\u0105cych typ\u00f3w dzia\u0142a\u0144:<\/p>\n<ul>\n<li><em>Dzia\u0142anie pojedyncze<\/em> &#8211; opisuje jednorazowe dzia\u0142anie, nie b\u0119d\u0105ce cz\u0119\u015bci\u0105 procesu. Dzia\u0142ania pojedyncze mog\u0105 by\u0107 tworzone przez u\u017cytkownika lub generowane automatycznie przez system, np. na podstawie definicji dzia\u0142ania lub za po\u015brednictwem interfejsu programistycznego.<\/li>\n<\/ul>\n<ul>\n<li><em>Szablon serii<\/em> &#8211; to dzia\u0142anie, generuj\u0105ce w okre\u015blonym czasie dzia\u0142ania zgodnie z wzorem serii. Utworzone dzia\u0142ania s\u0105 okre\u015blane jako<em> Dzia\u0142ania seryjne<\/em> i s\u0105 wy\u015bwietlane w szablonie serii. Szablon serii nie posiada zada\u0144.<\/li>\n<\/ul>\n<ul>\n<li><em>Wiadomo\u015b\u0107 e-mail<\/em> &#8211; definicja dzia\u0142ania typu <em>Wiadomo\u015b\u0107 e-mail<\/em> wysy\u0142a wiadomo\u015b\u0107 mailowe do jednego lub wi\u0119cej odbiorc\u00f3w bez generowania dzia\u0142ania.<\/li>\n<\/ul>\n<ul>\n<li><em>Wywo\u0142anie funkcji<\/em> &#8211;\u00a0 to definicja aktywno\u015bci, kt\u00f3ra oblicza i zwraca wynik zamiast generowa\u0107 dzia\u0142ania. Wywo\u0142ania funkcji s\u0105 u\u017cywane na przyk\u0142ad do jednorazowego rejestrowania z\u0142o\u017conych oblicze\u0144 lub do u\u017cywania wyra\u017ce\u0144 w JavaScript w definicjach dzia\u0142a\u0144, kt\u00f3re s\u0105 rejestrowane w j\u0119zyku skryptowym systemu.<\/li>\n<\/ul>\n<ul>\n<li><em>Typ w\u0119z\u0142a definicji procesu<\/em> &#8211; je\u015bli definicja dzia\u0142ania przedstawia w\u0119ze\u0142 definicji procesu, typ dzia\u0142ania jest definiowany poprzez typy w\u0119z\u0142\u00f3w w definicji procesu.<\/li>\n<\/ul>\n<h5 id=\"zdarzenia\" >Zdarzenia<\/h5>\n<p>Zdarzenia stanowi\u0105 podstaw\u0119 do tworzenia dzia\u0142a\u0144 z definicji dzia\u0142a\u0144 w zarz\u0105dzaniu przep\u0142ywem pracy. Zdarzenia mog\u0105 by\u0107 wyzwalane przez zmiany danych dokonywane przez system, aplikacj\u0119 lub dzia\u0142anie u\u017cytkownika. Zdarzenia zawieraj\u0105 parametry opisuj\u0105ce zdarzenie.<\/p>\n<p>Aby wygenerowa\u0107 dzia\u0142anie po wyst\u0105pieniu zdarzenia, aktywowana definicja dzia\u0142ania musi by\u0107 zarejestrowana dla tego zdarzenia, a warunek przej\u015bciowy musi zosta\u0107 spe\u0142niony. Warunek przej\u015bciowy mo\u017ce zosta\u0107 u\u017cyty do ograniczenia og\u00f3lnego zdarzenia dla definicji dzia\u0142ania.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Zarejestrowane zdarzenie definicji dzia\u0142ania zdarzenia startowego jest decyduj\u0105ce dla automatycznego uruchamiania proces\u00f3w.<\/div><\/section>\n<p><em>Zaprogramowane zdarzenia<\/em><\/p>\n<p>Mo\u017cliwe jest zaprogramowanie okre\u015blonych zdarze\u0144. Zdarzenia te s\u0105 rejestrowane w bazie danych repozytorium i s\u0105 definiowane podczas tworzenia aplikacji. W tym celu dost\u0119pny jest \u0142atwy w u\u017cyciu interfejs programistyczny, dzi\u0119ki kt\u00f3remu na przyk\u0142ad partnerzy adaptacyjni mog\u0105 po prostu tworzy\u0107 nowe zdarzenia.<\/p>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Zaprogramowane zdarzenie <em>Zmieniono status zlecenia sprzeda\u017cy<\/em> mo\u017ce na przyk\u0142ad zawiera\u0107 parametry, takie jak stary i nowy status, a tak\u017ce u\u017cytkownika wyzwalaj\u0105cego. Oznacza to na przyk\u0142ad, \u017ce aktywno\u015b\u0107 odblokowuj\u0105ca zlecenie mo\u017ce zosta\u0107 utworzona dok\u0142adnie dla tego u\u017cytkownika.<\/div><\/section>\n<p>Zdarzenie <em>Zmieniono statusu zam\u00f3wienia sprzeda\u017cy<\/em> mo\u017ce by\u0107 wyra\u017cone zar\u00f3wno jako zdarzenie programowane, jak i przy u\u017cyciu zdarzenia <em>Jednostka biznesowa.<\/em> Zaprogramowane zdarzenie wymaga dostosowania programowania do logiki aplikacji, podczas gdy zdarzenie <em>Jednostka biznesowa<\/em> mo\u017ce by\u0107 u\u017cywane bez dostosowywania programowania. Poniewa\u017c jednak zaprogramowane zdarzenie jest wyzwalane tylko wtedy, gdy jego status faktycznie si\u0119 zmienia, jest to bardziej wydajne ni\u017c u\u017cycie zdarzenia <em>Jednostka biznesowa.<\/em><\/p>\n<p><em>Zdarzenie Zmieniono jednostk\u0119 biznesow\u0105<\/em><\/p>\n<p>Silnik systemu wyzwala zdarzenie <em>Jednostka biznesowa<\/em>, gdy instancja obiektu biznesowego jest tworzona, zmieniana lub usuwana. Zdarzenie dostarczone przez system mo\u017ce by\u0107 wykorzystane do rozwi\u0105zywania prostych zada\u0144. Zdarzenia tego typu s\u0105 wyzwalane w raczej niespecyficzny spos\u00f3b. Oznacza to, \u017ce zdarzenie jest wyzwalane za ka\u017cdym razem, gdy instancja obiektu biznesowego zostanie zmieniona. Takie zdarzenie nie jest powi\u0105zane przyczynowo z konkretnym procesem biznesowym. Zasadniczo celem jest jednak reagowanie na bardzo konkretne procesy. Jest to jeden z powod\u00f3w, dla kt\u00f3rych definicja dzia\u0142ania z warunkiem przej\u015bciowym mo\u017ce by\u0107 powi\u0105zana ze zdarzeniem.<\/p>\n<p>Dzia\u0142anie jest tworzone z definicji aktywno\u015bci tylko wtedy, gdy wyst\u0105pi odpowiednie zdarzenie i spe\u0142niony zostanie warunek przej\u015bciowy. Stary i nowy status zmienionego obiektu mo\u017ce by\u0107 dost\u0119pny do oceny zdarzenia, tj. w szczeg\u00f3lno\u015bci do warunku przej\u015bciowego.<\/p>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Zdarzenie<em> Zmieniono statusu zam\u00f3wienia sprzeda\u017cy<\/em> mo\u017cna wyrazi\u0107 za pomoc\u0105 zdarzenia <em>Jednostka biznesowa.<\/em> Je\u015bli zam\u00f3wienie sprzeda\u017cy zostanie zmienione, nale\u017cy sprawdzi\u0107 w warunku wst\u0119pnym, czy status starego statusu zam\u00f3wienia sprzeda\u017cy r\u00f3\u017cni si\u0119 od nowego statusu zam\u00f3wienia sprzeda\u017cy.<\/div><\/section>\n<p><em>Zdarzenie Akcja u\u017cytkownika<\/em><\/p>\n<p>To zdarzenie jest wywo\u0142ywane, gdy u\u017cytkownik uruchamia proces za pomoc\u0105 pozycji <em>Rozpocznij proces<\/em>, znajduj\u0105cej si\u0119 w menu kontekstowym jednostki biznesowej. Typ <em>Akcja u\u017cytkownika<\/em> jest dost\u0119pny tylko w definicjach dzia\u0142a\u0144, reprezentuj\u0105cych w\u0119ze\u0142 definicji procesu.<\/p>\n<p><em>Aplikacja w tle Wywo\u0142aj zdarzenia<\/em><\/p>\n<p>Aplikacja w tle <em>Wywo\u0142aj zdarzenia<\/em> wywo\u0142uje zdarzenie com.cisag.pgm.workflow.InstanceEvent (zdarzenie wyzwalane przez aplikacj\u0119 w tle <em>Wywo\u0142aj zdarzenia<\/em>) dla wszystkich instancji obiekt\u00f3w biznesowych wybranych przez instrukcj\u0119 OQL. Aplikacja w tle mo\u017ce by\u0107 wykonywana jednorazowo lub regularnie za pomoc\u0105 zadania przetwarzania. Dzia\u0142ania mog\u0105 by\u0107 tworzone przy u\u017cyciu definicji aktywno\u015bci, kt\u00f3re zosta\u0142y zarejestrowane dla wywo\u0142ywanego zdarzenia.<\/p>\n<h5 id=\"opracowanie\" >Opracowanie<\/h5>\n<p>Dzia\u0142ania mog\u0105 by\u0107 przetwarzane przez u\u017cytkownik\u00f3w, zlecenia przetwarzania lub system. Dany operator dzia\u0142ania mo\u017ce by\u0107 definiowany na r\u00f3\u017cne sposoby. U\u017cytkownik mo\u017ce po prostu okre\u015bli\u0107 u\u017cytkownika lub osob\u0119. Ponadto mo\u017cna r\u00f3wnie\u017c wykorzysta\u0107 elementy struktury organizacyjnej, tj. stanowiska i organizacje. Role przep\u0142ywu pracy s\u0142u\u017c\u0105 do przedstawiania organizacji procesu do struktury organizacyjnej, przy czym te dwie organizacje nie musz\u0105 si\u0119 ze sob\u0105 pokrywa\u0107.<\/p>\n<p>Je\u015bli role przep\u0142ywu pracy s\u0105 u\u017cywane konsekwentnie, proces i struktury organizacyjne mog\u0105 by\u0107 zmieniane niezale\u017cnie od siebie. Ponadto role przep\u0142ywu pracy s\u0105 jednym z fundament\u00f3w dostarczania definicji aktywno\u015bci jako szablon\u00f3w (Templates).<\/p>\n<p>W zale\u017cno\u015bci od tego, kt\u00f3ra opcja przypisania zostanie u\u017cyta, dla dzia\u0142ania b\u0119dzie istnia\u0142 dok\u0142adnie jeden operator lub grupa operator\u00f3w. Niezale\u017cnie od tego mo\u017cna okre\u015bli\u0107, czy przetwarzanie ma by\u0107 wykonywane przez jeden czy wszystkich operator\u00f3w. Opr\u00f3cz wewn\u0119trznej struktury organizacyjnej, w systemie mo\u017cna r\u00f3wnie\u017c zmapowa\u0107 odpowiednie sekcje struktury organizacyjnej odpowiednich partner\u00f3w biznesowych.<\/p>\n<p>Zasadniczo ka\u017cdy, kto ma przegl\u0105dark\u0119 i po\u0142\u0105czenie sieciowe z systemem \u017ar\u00f3d\u0142owym (przez Internet, intranet lub inne sieci) mo\u017ce by\u0107 operatorem zadania. Oznacza to, \u017ce pracownicy partner\u00f3w biznesowych mog\u0105 by\u0107 r\u00f3wnie\u017c bardzo \u0142atwo uwzgl\u0119dnieni w tym procesie.<\/p>\n<p>Struktura organizacyjna w systemie pozwala na zdefiniowanie relacji prze\u0142o\u017conego i zast\u0119pcy pomi\u0119dzy stanowiskami. Stanowiska mog\u0105 odnosi\u0107 si\u0119 zar\u00f3wno do w\u0142asnej firmy, jak i partner\u00f3w biznesowych.<\/p>\n<p>Dzia\u0142ania generowane na podstawie definicji dzia\u0142a\u0144 mog\u0105 generowa\u0107 i wywo\u0142ywa\u0107 zadania przetwarzania, a tak\u017ce wywo\u0142ywa\u0107 aplikacje dzia\u0142aj\u0105ce w tle. Aplikacje dzia\u0142aj\u0105ce w tle s\u0105 wywo\u0142ywane bez interakcji u\u017cytkownika. Aby to zrobi\u0107, parametry musz\u0105 by\u0107 opisane w obiekcie deweloperskim aplikacji dzia\u0142aj\u0105cej w tle. Nie wszystkie aplikacje spe\u0142niaj\u0105 te za\u0142o\u017cenia. Aplikacja dzia\u0142aj\u0105ca w tle <em>Wywo\u0142aj aplikacje batchowe w Workflow<\/em> mo\u017ce by\u0107 u\u017cyta do wywo\u0142ania aplikacji dzia\u0142aj\u0105cej w tle, nawet je\u015bli nie opisano wszystkich parametr\u00f3w.<\/p>\n<h5 id=\"warunki\" >Warunki<\/h5>\n<p>Za ka\u017cdym razem, gdy zmienia si\u0119 status dzia\u0142ania, system sprawdza, czy warunek wst\u0119pny dzia\u0142ania jest nadal spe\u0142niony. Je\u015bli warunek wst\u0119pny nie jest spe\u0142niony, do dzia\u0142ania przypisywany jest status<em> Zrealizowane bez edytowania<\/em>. Oznacza to, \u017ce wszystkie zadania w dzia\u0142aniu, kt\u00f3re nie osi\u0105gn\u0119\u0142y jeszcze statusu ko\u0144cowego, s\u0105 r\u00f3wnie\u017c zako\u0144czone bez przetwarzania. Warunek wst\u0119pny nie jest sprawdzany dla dzia\u0142a\u0144, kt\u00f3re s\u0105 przetwarzane przez system lub przez zlecenie przetwarzania oraz dla zmian statusu na jeden z dw\u00f3ch status\u00f3w ko\u0144cowych <em>Zako\u0144czone<\/em> i <em>Zrealizowane bez edytowania<\/em>.<\/p>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Mo\u017cliwy warunek wst\u0119pny dla dzia\u0142ania dla zlecenia: Zlecenie musi mie\u0107 status zablokowane. Zanim dzia\u0142anie otrzyma status <em>Op\u00f3\u017anione<\/em>, system sprawdza, czy zlecenie zosta\u0142o ju\u017c odblokowane. Oznacza to, \u017ce prze\u0142o\u017cony jest powiadamiany tylko wtedy, gdy zlecenie nie zosta\u0142o odblokowane w okre\u015blonym czasie.<\/p>\n<p>Innym przyk\u0142adem wykorzystania przep\u0142ywu pracy jest monitorowanie czasu odpowiedzi i rozwi\u0105zywania zg\u0142osze\u0144 do pomocy technicznej. W tym przypadku warunki wst\u0119pne r\u00f3wnie\u017c odgrywaj\u0105 decyduj\u0105c\u0105 rol\u0119.<\/div><\/section>\n<p>Dzia\u0142anie mo\u017ce zosta\u0107 uko\u0144czone tylko wtedy, gdy spe\u0142niony jest warunek ko\u0144cowy. Warunek ko\u0144cowy mo\u017ce by\u0107 u\u017cyty np. po to, aby zapobiec zako\u0144czeniu dzia\u0142ania przed wykonaniem zadania opisanego w dzia\u0142aniu. Warunek ko\u0144cowy mo\u017ce r\u00f3wnie\u017c uniemo\u017cliwi\u0107 osobie tworz\u0105c\u0105 zlecenie samodzieln\u0105 autoryzacj\u0119 zam\u00f3wienia.<\/p>\n<p>Dzia\u0142ania seryjne s\u0105 generowane z szablonu seryjnego, o ile spe\u0142niony jest warunek dot. serii, a czas trwania serii nie zosta\u0142 przekroczony. Je\u015bli ma zosta\u0107 utworzone dzia\u0142anie seryjne, a warunek dot. serii nie zostanie spe\u0142niony w tym momencie, ca\u0142a seria zostanie anulowana. Je\u015bli jednak warunek wst\u0119pny szablonu serii nie zostanie spe\u0142niony, nie zostanie wygenerowane \u017cadne dzia\u0142anie serii; seria nie zostanie jednak anulowana.<\/p>\n<h5 id=\"teksty\" >Teksty<\/h5>\n<p>Dla definicji dzia\u0142a\u0144 mo\u017cna wprowadzi\u0107 temat i opis. Mo\u017cna r\u00f3wnie\u017c u\u017cy\u0107 symboli zast\u0119pczych, kt\u00f3re s\u0105 zdefiniowane w deklaracjach. Teksty w wielu j\u0119zykach mo\u017cna r\u00f3wnie\u017c wprowadza\u0107 dla tematu i opisu, kt\u00f3re s\u0105 wy\u015bwietlane u\u017cytkownikowi zgodnie z jego ustawieniami j\u0119zykowymi.<\/p>\n<h5 id=\"aplikacja\" >Aplikacja<\/h5>\n<p>Mo\u017cliwe jest zapisanie aplikacji do przetwarzania dzia\u0142a\u0144 wygenerowanych z definicji dzia\u0142ania. Je\u015bli za opracowanie dzia\u0142ania odpowiedzialny jest u\u017cytkownik, mo\u017cna zdefiniowa\u0107 aplikacj\u0119 otwieraj\u0105c\u0105 si\u0119 w formie okna dialogowego, kt\u00f3ra jest automatycznie otwierana, gdy u\u017cytkownik rozpoczyna edycj\u0119 utworzonego zadania. Je\u015bli natomiast opracowanie wynika ze zlecenia przetwarzania, aplikacja dzia\u0142aj\u0105ca w tle mo\u017ce zosta\u0107 zapami\u0119tania jako aplikacja wykorzystywana do edycji.<\/p>\n<h5 id=\"wyniki\" >Wyniki<\/h5>\n<p>Ka\u017cde dzia\u0142anie ma sw\u00f3j og\u00f3lny wynik, kt\u00f3ry mo\u017cna zdefiniowa\u0107 za pomoc\u0105 funkcji skryptu \u201esetActivityResult\u201c . Ten og\u00f3lny wynik mo\u017cna wy\u015bwietli\u0107 na przyk\u0142ad w odpowiednich aplikacjach typu <em>lista <\/em>dla danych dzia\u0142a\u0144. Ponadto dalsze dzia\u0142ania mo\u017cna zdefiniowa\u0107 w definicji dzia\u0142a\u0144, kt\u00f3r\u0105 procesor wprowadza podczas wykonywania zadania. Wyniki w w\u0119\u017ale pocz\u0105tkowym procesu mog\u0105 by\u0107 r\u00f3wnie\u017c wykorzystywane do kontrolowania przebiegu procesu.<\/p>\n<h5 id=\"deklaracje\" >Deklaracje<\/h5>\n<p>W przypadku definicji aktywno\u015bci deklaracje mo\u017cna wprowadza\u0107 we w\u0142asnym &#8222;j\u0119zyku skryptowym systemu&#8221; lub w j\u0119zyku JavaScript. W deklaracjach udost\u0119pniane s\u0105 funkcje, kt\u00f3re s\u0105 wywo\u0142ywane podczas tworzenia dzia\u0142a\u0144, gdy zmienia si\u0119 status i gdy wprowadzane s\u0105 okre\u015blone warto\u015bci parametr\u00f3w. W\u0142a\u015bciwo\u015bci proces\u00f3w i dzia\u0142a\u0144 mog\u0105 by\u0107 elastycznie definiowane poprzez dostosowanie deklaracji.<\/p>\n<h5 id=\"powiazania\" >Powi\u0105zania<\/h5>\n<p>Ka\u017cde dzia\u0142anie mo\u017ce by\u0107 powi\u0105zane z dowoln\u0105 liczb\u0105 jednostek biznesowych w tej samej bazie danych. Przyk\u0142adowo: dzia\u0142anie mo\u017ce by\u0107 powi\u0105zane z klientem lub artyku\u0142em. Ma to t\u0119 zalet\u0119, \u017ce mo\u017cna wyszukiwa\u0107 i znajdowa\u0107 wszystkie dzia\u0142ania powi\u0105zane z klientem.<\/p>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Po rozmowie telefonicznej u\u017cytkownik wprowadza r\u0119cznie zarejestrowane dzia\u0142anie, kt\u00f3ra w okre\u015blonym czasie przypomina o tym, \u017ce klient chce by\u0107 poinformowany o dost\u0119pno\u015bci okre\u015blonego produktu najp\u00f3\u017aniej za dwa tygodnie.<\/div><\/section>\n<p>Dowoln\u0105 liczb\u0119 dokument\u00f3w lub notatek z zarz\u0105dzania dokumentami mo\u017cna r\u00f3wnie\u017c powi\u0105za\u0107 z dzia\u0142aniami za pomoc\u0105 funkcji skryptu.<\/p>\n<h4 id=\"definicje-procesow\" >Definicje proces\u00f3w<\/h4>\n<p>Definicja procesu to kompletny opis techniczny procesu operacyjnego lub podprocesu. Sk\u0142ada si\u0119 z krok\u00f3w procesu, kt\u00f3re opisuj\u0105 proces biznesowy pod wzgl\u0119dem czasu i organizacji. Definicj\u0119 procesu mo\u017cna wy\u015bwietli\u0107 jako diagram, kt\u00f3rego w\u0119z\u0142y reprezentuj\u0105 dzia\u0142ania, a kraw\u0119dzie reprezentuj\u0105 przep\u0142yw sterowania. Przy u\u017cyciu definicji procesu i definicji dzia\u0142a\u0144 tworzone s\u0105 cechy procesu, a tak\u017ce jego kroki. Definicje procesu s\u0105 niezale\u017cne od bazy danych OLTP i systemu, w kt\u00f3rym zosta\u0142y zarejestrowane, poniewa\u017c nie zawieraj\u0105 danych specyficznych dla systemu ani OLTP. Definicje proces\u00f3w zapisywane s\u0105 w repozytorium bazy danych.<\/p>\n<p>W definicjach proces\u00f3w czas przetwarzania i okres przechowywania s\u0105 okre\u015blone dla proces\u00f3w, podczas kt\u00f3rych procesy nie mog\u0105 by\u0107 reorganizowane. Priorytety dla proces\u00f3w nie s\u0105 ustawiane w definicjach proces\u00f3w; priorytety dla ka\u017cdego etapu procesu mo\u017cna ustawi\u0107 indywidualnie w definicji dzia\u0142ania.<\/p>\n<p>Aby uruchomi\u0107 procesy, definicja procesu mo\u017ce zosta\u0107 przypisana do obszaru, a aplikacja procesu mo\u017ce zosta\u0107 zdefiniowana dla szablonu definicji procesu.<\/p>\n<p>Wyznaczana jest osoba odpowiedzialna za definicje proces\u00f3w. Mo\u017ce to by\u0107 u\u017cytkownik lub rola przep\u0142ywu pracy. Uprawnienia mog\u0105 by\u0107 przypisane w definicji procesu dla w\u0142a\u015bciciela procesu i dla inicjatora procesu, dla uczestnik\u00f3w procesu, dla u\u017cytkownik\u00f3w konsultowanych w procesie i dla os\u00f3b nieuczestnicz\u0105cych w procesie. W przypadku wyst\u0105pienia b\u0142\u0119d\u00f3w lub przekroczenia czasu przetwarzania procesu uruchomionego z definicji procesu, powiadomienia e-mail mog\u0105 by\u0107 wysy\u0142ane do osoby odpowiedzialnej za proces lub do administratora przep\u0142ywu pracy.<\/p>\n<p>W tym rozdziale znajduje si\u0119 wprowadzenie do definicji proces\u00f3w.<\/p>\n<h5 id=\"model-procesu\" >Model procesu<\/h5>\n<p>Procesy s\u0105 modelowane w edytorze definicji proces\u00f3w jako sekwencja krok\u00f3w procesu, reprezentowana jako w\u0119z\u0142y i po\u0142\u0105czona kraw\u0119dziami. Model procesu w systemie ERP jest oparty na<em> Business Process Model and Notation<\/em> (BPMN), ale r\u00f3\u017cni si\u0119 od BPMN szczeg\u00f3\u0142ami. Dost\u0119pne s\u0105 nast\u0119puj\u0105ce elementy:<\/p>\n<ul>\n<li><em>W\u0119z\u0142y dzia\u0142a\u0144<\/em> &#8211; to krok procesu, reprezentuj\u0105cy dzia\u0142anie dla jednego lub wi\u0119cej operator\u00f3w. Niekt\u00f3re w\u0119z\u0142y dzia\u0142a\u0144 obs\u0142uguj\u0105 okre\u015blone czynno\u015bci, takie jak podejmowanie decyzji lub wysy\u0142anie wiadomo\u015bci e-mail. W zale\u017cno\u015bci od typu, w\u0119ze\u0142 dzia\u0142ania jest przetwarzany przez u\u017cytkownik\u00f3w, przez system lub przez zlecenie przetwarzania. W edytorze w\u0119z\u0142y dzia\u0142a\u0144 s\u0105 wy\u015bwietlane jako prostok\u0105ty.<\/li>\n<\/ul>\n<ul>\n<li>W\u0119ze\u0142 zdarze\u0144 &#8211; to krok procesu, kt\u00f3ry reprezentuje zdarzenie istotne dla procesu zamiast czynno\u015bci. W\u0119z\u0142y zdarze\u0144 obejmuj\u0105 zdarzenie pocz\u0105tkowe, ko\u0144cowe, b\u0142\u0119du i zdarzenia po\u015brednie. Dzia\u0142ania generowane przez w\u0119ze\u0142 zdarze\u0144 s\u0105 przetwarzane przez system. W\u0119z\u0142y zdarze\u0144 s\u0105 wy\u015bwietlane w edytorze jako okr\u0119gi.<\/li>\n<\/ul>\n<ul>\n<li>Bramki (gatways) &#8211;\u00a0 s\u0105 u\u017cywane w definicjach proces\u00f3w do rozdzielania przep\u0142ywu sterowania z jednego w\u0119z\u0142a i przekazywania go do kilku w\u0119z\u0142\u00f3w (rozga\u0142\u0119zianie) lub do \u0142\u0105czenia przep\u0142yw\u00f3w sterowania z kilku w\u0119z\u0142\u00f3w i przekazywania ich do pojedynczego w\u0119z\u0142a (scalanie). Bramki s\u0105 wy\u015bwietlane w edytorze jako romby.<\/li>\n<\/ul>\n<ul>\n<li>Kraw\u0119dzie (po\u0142\u0105czenia) &#8211; \u0142\u0105cz\u0105 poszczeg\u00f3lne w\u0119z\u0142y i bramy i przekazuj\u0105 przep\u0142yw procesu. Kraw\u0119dzie s\u0105 wy\u015bwietlane w edytorze jako linie.<\/li>\n<\/ul>\n<p>Dla ka\u017cdego w\u0119z\u0142a istnieje dok\u0142adnie jedna definicja dzia\u0142ania. Zachowanie w\u0119z\u0142a jest okre\u015blone przez t\u0119 definicj\u0119 dzia\u0142ania. Gdy przep\u0142yw sterowania osi\u0105gnie w\u0119ze\u0142 w procesie, silnik przep\u0142ywu pracy generuje dzia\u0142anie z definicji dzia\u0142ania. Gdy dzia\u0142anie zostanie zako\u0144czone, silnik przep\u0142ywu pracy przekazuje przep\u0142yw sterowania do nast\u0119pnego w\u0119z\u0142a poprzez wychodz\u0105c\u0105 kraw\u0119d\u017a. Je\u015bli przep\u0142yw sterowania osi\u0105gnie rozga\u0142\u0119zienie, warunki przej\u015bcia dla rozga\u0142\u0119zienia z definicji dzia\u0142ania s\u0105 oceniane przed rozga\u0142\u0119zieniem, a przep\u0142yw sterowania jest kontynuowany w zale\u017cno\u015bci od oceny.<\/p>\n<p>Proces ko\u0144czy si\u0119 po zako\u0144czeniu dzia\u0142ania powi\u0105zanego ze zdarzeniem ko\u0144cowym. Dzia\u0142ania i zadania, kt\u00f3re nie maj\u0105 jeszcze ostatecznego statusu, otrzymuj\u0105 status <em>Zako\u0144czone bez przetwarzania<\/em>. Je\u015bli proces nie posiada ju\u017c przep\u0142ywu sterowania lub wyst\u0105pi b\u0142\u0105d w kroku procesu, proces ko\u0144czy si\u0119 za po\u015brednictwem w\u0119z\u0142a b\u0142\u0119du.<\/p>\n<h5 id=\"zmienne-procesowe\" >Zmienne procesowe<\/h5>\n<p>Zmienne procesowe mog\u0105 by\u0107 deklarowane dla proces\u00f3w w definicji procesu. Zmienne procesowe rozszerzaj\u0105 procesy o dodatkowe informacje, kt\u00f3re mog\u0105 by\u0107 wy\u015bwietlane w procesie. Dzia\u0142ania mog\u0105 wykorzystywa\u0107 deklaracje do oceny zmiennych procesowych i przypisywania im warto\u015bci.<\/p>\n<p>W definicjach dzia\u0142a\u0144 w\u0119z\u0142\u00f3w, og\u00f3lne atrybuty mog\u0105 by\u0107 r\u00f3wnie\u017c u\u017cywane dla proces\u00f3w w celu zapisywania tekst\u00f3w, liczb lub czas\u00f3w jako wynik\u00f3w procesu.<\/p>\n<h5 id=\"deklaracje\" >Deklaracje<\/h5>\n<p>W deklaracjach mo\u017cna zadeklarowa\u0107 sta\u0142e, zmienne i funkcje, kt\u00f3re maj\u0105 zastosowanie do wszystkich definicji dzia\u0142a\u0144 nale\u017c\u0105cych do definicji procesu.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Zmienne i sta\u0142e wprowadzone w definicji procesu mog\u0105 by\u0107 oceniane tylko w definicjach dzia\u0142a\u0144 w\u0119z\u0142\u00f3w, kt\u00f3re u\u017cywaj\u0105 tego samego j\u0119zyka skryptowego co definicja procesu.<\/div><\/section>\n<h4 id=\"silnik-workflow-silnik-przeplywu-pracy\" >Silnik workflow (silnik przep\u0142ywu pracy)<\/h4>\n<p>Wraz z us\u0142ug\u0105 powiadomie\u0144 o zdarzeniach, silnik przep\u0142ywu pracy koordynuje i monitoruje wykonywanie przep\u0142yw\u00f3w pracy. Silnik przep\u0142ywu pracy jest wykonywany na serwerze komunikat\u00f3w w ka\u017cdym systemie. Silnik przep\u0142ywu pracy jest cz\u0119\u015bci\u0105 systemu i mo\u017cna go skonfigurowa\u0107 podczas konfigurowania systemu.<\/p>\n<p>Wszystkie automatyczne zmiany statusu dzia\u0142a\u0144 i zada\u0144 s\u0105 wykonywane przez centralny silnik przep\u0142ywu pracy. Silnik przep\u0142ywu pracy jest wykonywany na serwerze komunikat\u00f3w w ka\u017cdym systemie. Na ka\u017cdym innym serwerze aplikacji (SAS) systemu ERP w systemie dzia\u0142a jedynie obs\u0142uga zdarze\u0144.<\/p>\n<h5 id=\"jezyki-skryptowe\" >J\u0119zyki skryptowe<\/h5>\n<p>Silnik przep\u0142ywu pracy obs\u0142uguje w\u0142asny &#8222;j\u0119zyk skryptowy systemu&#8221; i \u201eJavaScript\u201d, kt\u00f3re s\u0105 potrzebne do wyra\u017cania z\u0142o\u017conych relacji i definiowania deklaracji dla dzia\u0142a\u0144 i proces\u00f3w.<\/p>\n<p>Termy, warunki, polecenia i deklaracje s\u0105 u\u017cywane do wyra\u017cania z\u0142o\u017conych relacji. Wszystkie te wyra\u017cenia s\u0105 cz\u0119\u015bci\u0105 wsp\u00f3lnego j\u0119zyka skryptowego zwanego &#8222;j\u0119zykiem skryptowym systemu&#8221;. Sk\u0142adnia j\u0119zyka skryptowego systemu opiera si\u0119 na SQL, Pascalu i Javie. J\u0119zyk skryptowy systemu jest u\u017cywany w zarz\u0105dzaniu przep\u0142ywem pracy, np. do formu\u0142owania warunku wst\u0119pnego lub warunku przej\u015bciowego lub do okre\u015blania operator\u00f3w, kt\u00f3rzy nie s\u0105 uj\u0119ci w roli przep\u0142ywu pracy. J\u0119zyk skryptu systemowego jest sprawdzany w systemie ERP, a w przypadku wyst\u0105pienia b\u0142\u0119d\u00f3w w skrypcie wy\u015bwietlane s\u0105 ostrze\u017cenia.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"author":12,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-7919","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-workflow-management"],"_links":{"self":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/7919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/comments?post=7919"}],"version-history":[{"count":2,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/7919\/revisions"}],"predecessor-version":[{"id":25169,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/7919\/revisions\/25169"}],"wp:attachment":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/media?parent=7919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}