Skripty a parametry workflow
Skripty workflow se mohou zadávat:
- v knize Postupy na 2. straně, v záložce Editor, kliknutím na konkrétní krok a přidáním skriptu na záložce Akce.Skript se spustí po provedení události zadané v poli Akce, pokud tato událost v procesu nebo v kroku procesu nastane,
- v knize Produkty workflow při zadání Registrovaných bodů.
Skripty Workflow naleznete v Katalogu skriptů.
Funkce umožňuje schválení kroků workflow, které nevyžadují uživatelský vstup. Uživatel může kroky schválit nebo zamítnout přímo z emailu nebo je otevřít jako html odkaz.
Obr.: Náhled emailu kroku workflow
Popis polí:
Souhlasím |
Uživatel odsouhlasí krok přímo z emailu |
Zamítám |
Uživatel zamítne krok přímo z emailu |
Otevřít |
Uživatel otevře krok workflow ve výchozím webovém prohlížeči pro daný systém. Jestliže jsou parametry kroku nastaveny jako editovatelné, pak zde může změnit jejich hodnoty, případně komentář. |
Obr.: Náhled kroku workflow ve webovém prohlížeči
Postup nastavení:
1. Musí být nainstalovaný AS zkonfigurovaný také pro plánovač úloh tzn. parametr v ini souboru AS SCHEDULESERVICE=1 a zprovozněný K2 API (server webových služeb).
2. V IS K2 spustit skript WkfEmailConfiguration.pas a nastavit jeho hodnoty.
Obr. Konfigurace kroku emailem
Popis polí:
URL adresa serveru webových služeb |
Server, na kterém je nainstalován K2 API |
Typ el. adresy pro email |
Typ el. adresy, která se má použít z Kontaktní osoby pro zaslání emailu uživateli workflow |
3. Uživatel, pomocí kterého komunikuje AS s IS K2, musí mít správně nastavený a konfigurovaný poštovní účet v IS K2 v modulu pošta.
4. Uživatelé IS K2 musí být správně spárování s Kontaktní osobou.
5. Každá Kontaktní osoba, spojená s uživatelem, musí mít na straně E uvedeny přihlašovací údaje pro K2 API. Číslo hodnoty záznamu v poli "Web" musí být uvedeno v INI souboru AS jako parametr "AS3IO".
Obr.: Přihlašovací údaje Kontaktní osoby pro K2 API
6. V IS K2 v knize postupu workflow musí být na konkrétním kroku postupu, který nevyžaduje uživatelský vstup a může být schválen emailem, zařazen skript WKFSheduleEmailTask.pas (tento skript je popsán včetně parametrů v katalogu skriptů). Proměnné postupu, které jsou na tomto kroku, se vygenerují v pořadí, v jakém jsou na kroku zadány a s vlastnostmi, které jsou u nich uvedeny.
7. Schvalování kroku emailem je doplněno o výběr následných kroků, který se v postupu nastavuje parametrem SelStep. Uživatel si v emailu může vybrat, kterými kroky bude proces pokračovat.
Parametry workflow se zadávají v knize Postupy na záložce Editor na konkrétním kroku procesu. Zadávají se vždy ke kroku, ke které chce uživatel parametr vyhodnocovat/zadávat.
Parametr se vyhodnocuje ve chvíli, kdy uživatel provede v kroku procesu (nebo v procesu) tuto zadanou událost.
Parametr se zadává pro šipku, tzn. po označení šipky a slouží pro vyhodnocení toho, zda má běh procesu touto šipkou pokračovat.
Např. Proces může jít jinými kroky při vyšší částce faktury, při různě zadaných střediscích na faktuře, ...
Pro vyhodnocování můžeme použít:
- hodnoty proměnných, které uživatel v procesu zadává,
- hodnoty polí z produktů, které jsou procesu přiřazeny,
- hodnoty polí vypočítané matematickými či logickými vzorci.
Obr.: Nastavení hodnoty šipek při zadání částky faktury
Popis tlačítek ve formuláři:
nt |
Logický výraz „not“ (pro negaci výrazu uvedeného v závorce). |
ad |
Logický výraz „and“ (logický součin). |
or |
Logický výraz „or“ (logický součet). |
IF |
Logický výraz „if“ (slouží pro výběr hodnoty, za určitých podmínek). |
"V |
Slouží pro výběr proměnné z Knihy proměnných postupu. Stisknutím tohoto tlačítka se zobrazí kniha Definice proměnných. |
"P |
Slouží pro zadání pole z přiřazeného produktu K2 (z faktury, objednávky...). Hodnota tohoto pole se bude při běhu procesu vyhodnocovat. Zadává se zde agregační funkce („first“, „last“...), kterou určíme způsob vyhodnocení proměnné, pokud bude proces obsahovat více produktů stejného typu (např. více faktur přijatých): Př.: Proces má přiřazen 3 faktury přijaté. První má zadanou Netto částku: 300 Kč, druhá 200 Kč a třetí 10 Kč.
|
Parametr „ProcStatus“ - Stav procesu:
- Přiřazuje se postupu nebo kroku postupu a určíme jím, že se stav procesu má při určité Události daného kroku změnit.
- V hodnotě tohoto parametru jsou zapsány standardní stavy K2 ("Začátek", "Schváleno", "Konec", "Storno"...). Uživatel si však může do číselníku stavů procesu přidat další uživatelské stavy (např. Zadáno, Odesláno,...) klávesou Ins a vyplněním příslušných polí v Knize hodnot.
- Parametr slouží např. ke kontrole, v jakém stavu se proces nachází, pro plánování a vyhodnocování procesu.
Parametr „DocType“ - Typ dokumentu umožní uživateli vložit procesu dokument, který má uložený ve svém počítači. A to pomocí tlačítka Insert v Přílohách v detailu kroku v knize K Vyřízení. Toto tlačítko se stane aktivní správným zadáním parametru v postupu:
- V poli Událost vybereme událost "Formulář" a v poli Parametry po stisknutí Ins vybereme parametr "DocType".
- Zobrazí se formulář Typy, ve kterém klávesou Ins zadáváme různé typy dokumentu, které budeme kroku přiřazovat.
- V poli Typ dokumentu se zadává, jaký Typ dokumentu se bude vkládat. Typ si uživatel může vytvořit sám stisknutím klávesy Ins v knize Typ dokumentu a vyplněním příslušných polí.
- Zatržením možnosti Povinná určíme, že tento typ dokumentu musí být povinně na kroku vložen, a to před odsouhlasením kroku. Pokud dokument v konkrétním procesu nezadáme, systém uživateli nepovolí krok odsouhlasit.
- Vložením dokumentu k procesu se v knize Dokumenty (Správce - Číselníky - Dokumenty) vytvoří záznam s odkazem na tento dokument.
Obr.: Formulář Typy po vybrání parametru „DocType“
V knize K Vyřízení / Kroky se uživatel přepne do změny a v tabulce Přílohy pomocí tlačítka Insert vloží Dokument
- Pokud je na kroku nastaven pouze jeden typ dokumentu, zobrazí se rovnou uživateli dialog s otevřeným adresáře, který je zadán v poli Vstupní složka.
- Pokud je na kroku přiřazeno více dokumentů, stisknutím tlačítka se zobrazí seznam typů dokumentů, ze kterého vybereme ten, jehož složku chceme otevřít.
Obr.: Stisknutí tlačítka Insert, zobrazení seznamu typů dokumentů pro vložení
- Pro vybrání typu dokumentu stiskneme levé tlačítko myši na typu dokumentu. Zobrazí se dialogové okno, ve kterém vybereme požadovaný dokument. Dokument tak vložíme procesu.
- Pokud je u typu dokumentu ikona "černého puntíku" - je povinné tento typ dokumentu kroku vložit. Pokud jej nevložíme, systém nedovolí krok odsouhlasit.
Parametr „InsProd“ - Vložení produktu umožní řešiteli kroku procesu připojit k tomuto procesu Produkty (fakturu, bankovní výpis, dodací list, ...) ze systému K2. A to pomocí tlačítka Vlož produkt v detailu kroku v K Vyřízení. Toto tlačítko se stane aktivní správným zadáním parametru v postupu:
- V poli Událost vybereme událost "Formulář" a v poli Parametry po stisknutí Ins vybereme parametr "InsProd".
- Zobrazí se formulář Produkty, ve kterém klávesou Ins zadáváme různé typy produktů, které budeme kroku přiřazovat.
- V poli Produkt se zadává, jaký Druh produktu se bude vkládat. Vybíráme z hlaviček produktů, které jsme vytvořili v knize Produkty. Klávesou Ins si můžeme vytvořit novou hlavičku produktu.
- Zatržením možnosti Povinná určíme, že tento druh produktu musí být povinně na kroku vložen, a to před odsouhlasením kroku. Pokud produkt v konkrétním procesu nezadáme, systém uživateli nepovolí krok odsouhlasit.
Obr.: Formulář Produkt - zadávání produktů v parametru „InsProd“
V knize K Vyřízení se uživatel přepne do změny a v tabulce Přílohy pomocí tlačítka Insert vloží Produkt.
- Pokud je na kroku nastaven pouze jeden typ produktu, zobrazí se rovnou uživateli kniha zadaného produktu, např. Přijaté faktury, Průvodky, Zakázky, ...
- Pokud je na kroku přiřazeno více produktů, stisknutím tlačítka se zobrazí seznam druhů produktů, ze kterého vybereme ten, jehož knihu chceme otevřít.
Obr.: Formulář Pracovní krok po stisknutí klávesy Insert v Přílohách
- Pro vybrání typu produktu stiskneme levé tlačítko myši na typu produktu. Zobrazí se kniha produktů, např. Přijaté faktury, Zakázky, ... V knize vybereme požadovaný produkt. Produkt tak vložíme procesu.
- Pokud je u typu produktu ikona "černého puntíku" - je povinné tento typ produktu kroku vložit. Pokud jej nevložíme, systém nedovolí krok odsouhlasit.
Parametr „UserStep“ - Vlastník podle jiného kroku se používá při události Vstupní a podle vlastníka jiného kroku vybírá, které kontaktní osobě bude krok vytvořen.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost "Vstupní" a v poli Parametry po stisknutí Ins vybereme parametr "UserStep".
- V poli Hodnota se zadává, dle jakého kroku se má vlastník tohoto kroku vybírat.
- Podmínkou je, aby oba tyto kroky měly zadané stejné Role.
- Pokud chceme, aby se krok vytvořil osobě, která vytvořila proces, musí být stejná Role tohoto kroku a stejná Role zadaná na záložce Právo na spouštění na první straně Verzovaného postupu.
Obr.: Formulář Kroky postupu - kniha po vybrání parametru „UserStep“
Parametr „SameUser“ - Stejný vlastník se používá při události Vstupní. Z kontaktních osob, zařazených v Roli kroku, vybírá toho vlastníka kroku, který již dříve krok zpracoval (zamítl, nebo odsouhlasil).
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost "Vstupní" a v poli Parametry po stisknutí Ins vybereme parametr "SameUser".
Př.: Pět koordinátorek ve firmě posílá smlouvy k podpisu řediteli. Při zamítnutí podpisu smlouvy ředitelem se proces schvalování smlouvy vrátí k té koordinátorce, která smlouvu řediteli poslala.
Parametrem „SelStep“ - Výběr následných kroků umožníme uživateli při Výstupní události (Odsouhlasení nebo Zamítnutí kroku) vybrat z následujících kroků procesu krok, který má být vytvořen. Těchto kroků může uživatel vybrat i více.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost "Odsouhlasení" nebo "Zamítnutí" a v poli Parametry po stisknutí Ins vybereme parametr "SelStep".
- Podmínkou je, aby kroků, které následují po tomto kroku, bylo více, než jeden.
Použitím parametru „CalcVar“ - Výpočet hodnoty proměnné se při zadané události do proměnné procesu dosadí zadaná hodnota.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost (událost procesu, nebo kroku procesu) a v poli Parametry po stisknutí Ins vybereme parametr "CalcVar".
- Zobrazí se formulář Zadání výrazu. Stisknutím klávesy Ins v tomto formuláři se zobrazí formulář - Sestavení výrazu, který nám usnadní zadání výpočtu hodnoty proměnné. Při sestavování výrazu používáme stejné vyjadřování jako v programovacím jazyce (např. pokud se jedná o proměnnou typu string, musíme proměnnou zadat do apostrofů).
Pozn.: Vysvětlení tlačítek nt, ad, or, IF, "V, "P viz Popis polí v editoru, parametr „ArrowIf“.
Př. 1: Na obr. viz níže se do proměnné procesu DNU při události Odsouhlasení tohoto kroku nastaví hodnota „6“.
Obr.: Formulář Sestavení výrazu po vybrání parametru „CalcVar“ pro zadání jeho Hodnoty
Př. 2: {CALCVAR}[DATUM_OD]:=[DATUM_OD_PL] - vybraná událost kroku nebo procesu přiřadí do proměnné DATUM_OD aktuální hodnotu proměnné DATUM_OD_PL.
Př. 3: {CALCVAR}[DATUM_OD]:=0 - do proměnné DATUM_OD se přiřadí nulové datum.
Př. 4: {CALCVAR}[DATUM_OD]:=%12.12.2012 - do proměnné DATUM_OD se přiřadí 12.12.2012. (před datumovou hodnotu dosadíme znak procenta).
Př. 5: {CALCVAR}[STAV]:='Výchozí' - do proměnné STAV se přiřadí text "Výchozí". (textová hodnota proměnné musí být zadána v apostrofech).
Parametrem „SetVar“ - Nastavení proměnné umožníme uživateli kroku zadávat/měnit při běhu procesu hodnotu vybrané proměnné (např. částku faktury, označení střediska, zadávání textu...). Dle této proměnné pak může být proces dál vyhodnocován a řízen. (např. dle zadání střediska lze určit, kterým osobám bude proces dále směřovat).
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost, kdy chceme proměnnou zadávat, a v poli Parametry po stisknutí Ins vybereme parametr "SetVar".
- Při vybrání události Formulář se proměnná zadává do pole při otevření detailu kroku uživatelem, který bude řešit krok.
- Při vybrání události Odsouhlasení, Výstupní, Zamítnutí se při provedení této události zobrazí dialogové okno, ve kterém uživatel hodnotu vyplní.
- Zobrazí se formulář Proměnné, kde klávesou Ins zobrazíme formulář Proměnná a použitím nabídky u pole Identifikátor zobrazíme seznam proměnných. Z tohoto seznamu postupně vybereme, které proměnné chceme na formuláři zobrazovat. Proměnných můžeme zadat i více.
- Zatržením možnosti Hodnota povinná, nebo Jen pro čtení na formuláři Proměnná po vybrání proměnné určíme, zda má být proměnná jen pro čtení, či přepisovatelná a zda má být při odsouhlasení tohoto kroku povinně zadaná.
Parametrem „Validation“ - Kontrola proměnných zajistíme kontrolu hodnoty proměnné zadané v procesu.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost kroku, při níž chceme, aby se hodnota proměnné kontrolovala a v poli Parametry po stisknutí Ins vybereme parametr "Validation".
- Zobrazí se formulář Zadání výrazu, kde zadáme proměnné a podmínky pro jejich hodnoty, které musí být splněny, aby se mohla provést zadaná Událost. Podmínky těchto proměnných musí být napsány programovacím jazykem. Pomoci nám mohou tlačítka uvedená za polem pro Výraz.
- Pozn.: Vysvětlení tlačítek nt, ad, or, IF, "V, "P viz Popis polí v editoru, parametr „ArrowIf“.
Obr.: Formulář Zadání výrazu po vybrání parametru „Validation“ pro zadání jeho Hodnoty
Parametr „UserVar“ - Uživatel pro pracovní krok nám umožní vytvořit v procesu krok kontaktní osobě dle hodnoty Proměnné. Proměnnou parametru můžeme zadat pomocí formuláře Zadání výrazu, který se objeví po vybrání parametru „UserVar“. Proměnnou zadáme do pole Výraz, a to pomocí tlačítka "V a vybráním nabídnuté proměnné, nebo ji můžeme vepsat ručně, a to zapsáním Identifikátoru proměnné uvedeným v hranatých závorkách.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost "Vstupní" a v poli Parametry po stisknutí Ins vybereme parametr "UserVar".
- Zobrazí se formulář Zadání výrazu, kde pomocí tlačítka "V zadáme proměnnou, dle které se bude vybírat uživatel pro krok.
- Pozn.: Vysvětlení tlačítek nt, ad, or, IF, "V, "P viz Popis polí v editoru, parametr „ArrowIf“.
- Můžeme zadat také více proměnných, ve kterých budou zadány kontaktní osoby, kterým se má vytvořit krok.
Obr.: Formulář Zadání výrazu po vybrání parametru „UserVar“ pro zadání jeho proměnné
Aby parametr správně fungoval, proměnná musí splňovat následující podmínky:
- musí být vytvořena v knize Definice proměnných, kde musí být zadáno v poli Vazba:
- Typ vazby - zde se vybírá, do které knihy se má proměnná při výběru proměnné odkazovat (např. "WF - uživatelé ve skupině"),
- Parametr 1 - zde se zadává ID záznamu vybrané Role, jejíž kontaktní osoby se mají při vyplňování hodnoty proměnné předbízet
(Např.: Pro krok chceme vybrat osobu z těch, které jsou zařazeny v Roli s interním číslem "40". Do pole Parametr 1 tedy zadáme "40".)
- v knize Postupy, na záložce základní údaje musí být tato role zadaná na záložce Řešitelé,
- v procesu musí mít proměnná zadanou konkrétní hodnotu (konkrétní kontaktní osobu). Vybere-li uživatel do proměnné osobu, která není v Roli daného kroku, krok se vytvoří řešitelům v Roli, nikoli osobě vybrané v proměnné.
Př.: Na obrázku výše je zadáno, pomocí tlačítka "V, že se krok v procesu bude vytvářet osobě, která bude aktuálně zadána v procesu v hodnotě proměnné "USRGRP".
Parametr „ProdAct“ - Akce na produktu umožňuje při provést s produktem, který bude přiřazen k procesu, zadanou akci.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme událost kroku, při níž chceme, aby se akce na produktu provedla a v poli Parametry po stisknutí Ins vybereme parametr "ProdAct".
- Zobrazí se formulář Zadání akce na produktu, kde zadáme typ Produktu, se kterým chceme provést akci a Akci, kterou chceme s produktem provést.
Např.: Při odsouhlasení kroku se potvrdí přijatá faktura, při zamítnutí kroku se provede storno přijaté faktury.
Obr.: Formulář Zadání akce na produktu po vybrání parametru „ProdAct“
Produkt
Zde se vybírá hlavička produktu. Konkrétní produkt, který pak bude přiřazen procesu, se při zadané události buď potvrdí, nebo stornuje.
Akce
Zde se zadává typ akce, která má být s produktem při zadané události provedena. S konkrétním produktem, přiřazeným ke konkrétnímu procesu, lze provést tyto akce:
- potvrzení,
- storno.
Pokud bude procesu přiřazen produkt, který nebude splňovat podmínky pro provedení akce, nedovolí nám systém K2 operaci, která provádí tuto akci, provést.
- Př.: V navrhnutém postupu je pomocí parametru "ProdAct" zadáno, že přijatá faktura se má při odsouhlasení kroku potvrdit. Přijatá faktura, která je přiřazena procesu, nemá zadán variabilní symbol. Přijatou fakturu bez variabilního symbolu nelze potvrdit. Odsouhlasení kroku tedy systém nedovolí provést, neboť přijatá faktura nesplňuje podmínky pro potvrzení.
Pokud bude procesu přiřazen produkt, na kterém už byla zadaná akce provedena, systém K2 operaci dovolí provést.
- Př.: V navrhnutém postupu je zadáno, že přijatá faktura se má při zamítnutí kroku stornovat. Přijatá faktura, která je přiřazena procesu, již byla stornována, přesto se zamítnutí kroku, na kterém je zadán parametr „ProdAct“, provede.
Parametr šipky "AllStepsClosed" - Kontrola uzavření existujících kroků procesu řeší problematiku sbíhavosti kroků do jednoho kroku "Sjednocení" - sjednocení se vygeneruje až v případě, že jsou všechny kroky procesu ukončeny. Kroky "Na vědomí" se neberou v potaz.
Parametr „AutoStepClose“ - Automatické ukončení kroku umožňuje ihned ukončit krok na základě definované podmínky.
- Tento parametr se zadává po označení kroku postupu na záložce Editor knihy Postupy, stisknutí klávesy Ins v záložce Akce.
- V poli Událost vybereme Vstup a v poli Parametry po stisknutí Ins vybereme parametr "AutoStepClose".
- Zobrazí se formulář Automatické ukončení kroku, kde zadáme typ Akce, kterou chceme provést.
- V poli Podmínka definujeme podmínku, za které bude akce provedena. pokud podmínka definávána není, pak se akce provede.
Kroky neukončených procesů
Filtr Kroky neukončených procesů obsahuje všechny kroky aktuálně přihlášeného uživatele, které byly vytvořeny v procesu, který dosud není ukončen (i pokud již uživatel kroky, u kterých byl vlastníkem, ukončil).
Hromadné akce nad knihou Kroky
Odsouhlasit |
Provede hromadné odsouhlasení vybraných kroků. |
Postoupit |
Provede hromadnou změnu Vlastníka vybraných kroků. Ve vstupním formuláři funkce zadáme Nového vlastníka kroku. |
Zamítnout |
Provede hromadné zamítnutí vybraných kroků. |