SetEscalation
declare function SetEscalation dll "ActualDocument" (var integer, string, string, string, string, string, integer, boolean, boolean): boolean SetEscalation(escalationID, datum, cas, wkf.DocID, "eskalace_text", "", 0, false, false)
SetEscalation(ID, Date, Time, DocID, Text, Params, Type, KwRespectWorkingHours, KwFinished)
Parametry
- ID
-
Typ: integer
Pokud se zakládá nová eskalace, pak je nutné dosadit -1 . Pokud se mění existující eskalace, pak se tímto parametrem určuje, o jakou eskalaci jde. Je tedy nutné sem vložit existující ID. Je vhodné, použít globální proměnnou pro tento parametr, protože po ukončení funkce získáte eskalační ID, které budete potřebovat, až bude eskalaci uzavírat funkcí FinishEscalation .
- Date
-
Typ: string
Datum eskalace. Pokud je nastaveno respektovat pracovní dobu, pak se tento datum nebere v potaz, ale bere se z parametru #T : Pokud se zadá "" , není měněn původní plán eskalace při její úpravě.
- Time
-
Typ: string
Čas eskalace. Pokud je nastaveno respektovat pracovní dobu, pak se tento datum nebere v potaz, ale bere se z parametru #T:
- DocID
-
Typ: string
ID procesu, kterého se eskalace týká. Pokud je docID = -1 tak potom se místo otevření procesu založí nový proces a v tom se spustí skript. Tento nový proces nebude uložen a slouží pouze k běhu skriptu.
- Text
-
Typ: string
Dle typu eskalace je zde buď:
Hodnota Popis 0 Název eskalačního skriptu. 1 Název pracovního kroku. 2 Text, který se přidá do procesu. - Params
-
Typ: string
Hodnota Popis #R:N3 po dokončení eskalace automaticky vytvořit stejnou eskalaci za určitý čas: #R:N3 - za 3 minuty, #R:H4 - za 4 hodiny, #R:D5 - za 5 dní, #R:M2 - za 2 měsíce #X když je vytvořena opakovaná eskalace, pak s použitím tohoto parametru nedojde ke změně ID #P:62 když je vytvořena opakovaná eskalace, pak je zde uveden odkaz na původní eskalaci. Není vhodné nastavovat ručně! #W:firma,Leviom data proměnná wkf.firma bude nastavena na hodnutu "Leviom data". Nastavovat lze pouze řetězcové proměnné #Z Pokud je spousten soubor (typ 3) tak pridanim tohoto parametru dojde k cekani na ukonceni programu pred navratem do MSchelduleru #T:D2 Jde o čas při respektování pracovní doby. V tomto případě bude mít uživatel 2 pracovní dny. #T:H4 Jde o čas při respektování pracovní doby. V tomto případě bude mít uživatel 4 pracovní hodiny. #T:N60 Jde o čas při respektování pracovní doby. V tomto případě bude mít uživatel 60 pracovních minut. #E:názevPrvníhoKroku Při typu 5 dojde ke spuštění prvního kroku wkf, který má název "názevPrvníhoKroku" #N Má význam pouze pokud je ID procesu -1 (proces se nebude ukládat) a typ eskalace je 0 (spuštění skriptu). Bez použití tohoto parametru jsou do procesu vloženy všechny proměnné z datového slovníku, při použití nebudou automaticky přidány žádné proměnné. #A:VarName Přidání jedné proměnné. #H:red Při eskalaci typu 2 zapíše do procesu text jako HTML a označí proces jako změněný. - Type
-
Typ: integer
Typ eskalace Popis 0 dojde ke spuštění libovolného skriptu zadaného svým názvem v procesu označeném svým ID. Název skriptu je uložen v parametru pText 1 dojde ke spuštění kroku zadaného svým jménem. Krok musí být ve stavu k vyřízení. Název kroku je v parametru pText . 2 dojde k přidání textu do procesu. Text je zadán v parametru pText 3 dojde ke spuštění libovolného programu zadaného názvem(a cestou) v parametru pText . 4 stejné jako typ 3, ale tento typ nebude zobrazen v přehledu eskalací. 5 Zastaralý, použijte typ 8. založí proces funkcí CreateMTBprocess . Text musí být ve formátu parametrů z funkce CreateMTBprocess . V tomto případě je nutné pDocID="-1" . V pParams může být #E:názevPrvníhoKroku 6 zapíše text do procesu jen pokud zadaný krok nebyl dokončen, když je wkf dokončeno, tak se eskalace nastaví na dokončenou. Omezení viz. níže. Název hlídaného kroku i text, který má být zapsán do procesu se nastavuje do parametru pText ve formatu nazev_kroku$$$Tento text bude zapsán do procesu 7 dojde ke spuštění libovolného skriptu jen pokud zadany krok nebyl dokončen, když je wkf dokončeno tak se eskalace nastaví na dokončenou. Omezení viz. níže. Název hlídaného kroku i název skriptu, který má být spuštěn se nastavuje do parametru pText ve formatu nazev_kroku$$$nazev_skriptu 8 založí proces funkcí CreateMTBprocessEx . Text musí být ve formátu parametrů této funkce. V tomto případě je nutné pDocID="-1" . V pParams může být #E:názevPrvníhoKroku Eskalace typu 6 a 7 mají následující omezení: Pokud je workflow bez smyček a eskalovaný krok (jeho název) se vyskytuje pouze jednou, je možné nastavit eskalaci na krok, který je vzdálen o libovolné množství kroků od kroku, ve kerém byla eskalace nastavena. Pokud ale workflow obsahuje smyčku s kroky, ve kterých se nastavují eskalace, je nutné, aby eskace byla nastavena pouze na následující krok. (jinak by mohlo dojít k předčasnému smazání eskalace).
- KwRespectWorkingHours
-
Typ: boolean
Pokud je nastaveno true , tak se eskalace bude spouštět pouze v praconí hodiny. Pracovní hodiny se dají nastavit v ini: Pokud je nastaveno respektování pracovní doby, tak se při eskalaci nebere v potaz datum eskalace, ale hodnoty z parametru #T :
- KwFinished
-
Typ: boolean
false označuje, že eskalace ještě nebyla spuštěna. true , že již byla dokončena.
Návratová hodnota
Typ: boolean
Vrací, zda byla eskalace úspěšně vytvořena/editována.Popis
Eskalace je možné tvořit a editovat také ručne spuštěním Mscheduler s parametrem : Mscheduler.exe - se zobrazí okno, ve kterém se zobrazí seznam eskalací a je možno provádět rovnou úpravy eskalací. Po spuštění jsou vidět eskalace ve stavu připraveno. Pokud chcete vidět i dokončené eskalace, stačí odškrtnout dole příslušný checkbox.První, co je nutno promyslet, je typ eskalace. Dle nastavení typu pak mají ostatní parametry různé vlastnosti.
nastavení v INI: [MstartWKFInMail] RunEscalations=True EXworkingDays=all EXworkingHoursStart=7 EXworkingHoursEnd=16
Speciální funkcionalita MScheduleru. Pokud proces obsahuje kritérium SchedulerStepStart typu boolean a je nastaveno na true , pak MScheduler provede všechny kroky připravené pro uživatele Scheduler (tyto kroky nesmí mít žádnou interakci s uživatelem).
Ukázky volání
-
Založí novou eskalaci typ 0, která spustí skript "eskalace_text" v procesu s ID wkf.DocID
SetEscalation(escalationID, datum, cas, wkf.DocID, "eskalace_text", "", 0, false, false)
-
Založí novou eskalaci typ 1, která spustí krok "Výběr termínu" v procesu s ID wkf.DocID
SetEscalation(escalationID, datum, cas, wkf.DocID, "Výběr termínu", "", 1, false, false)
-
Založí novou eskalaci typ 2, která zapíše do procesu s ID wkf.docID text.
SetEscalation(escalationID, datum, cas, wkf.docID, "Tento text zapíše do procesu", "", 2, false, false)
-
Založí novou eskalaci typ 2, která zapíše do procesu s ID wkf.docID text červeně a označí jako změněný
SetEscalation(escalationID, datum, cas, wkf.docID, "Tento text zapíše do procesu", "#H:red", 2, false, false)
-
Založí novou eskalaci typ 3, která spustí spustí soubor v zadaný čas s okakováním každý den
SetEscalation(escalationID, datum, cas, sfoo, "c:\program.exe", "#X#R:D1", 3, false, false)
-
Obdoba eskalace typu 3, s tím rozdílem, že se v seznamu eskalací nezobrazuje mezi ostatními. Před pokračováním čeká na ukončení tohoto programu
SetEscalation(escalationID, datum, cas, sfoo, "c:\m\bin\mscheduler.exe", "#X#Z#R:N1", 4, false, false)
-
Založí eskalaci typu 5, která založí proces funkcí CreateMTBprocess
SetEscalation(escalationID, datum, cas, sfoo, "`/t:toto je nazev` /c:trida", "#E:názevPrvníhoKroku", 5, false, false)
-
Zapíše text do procesu jen pokud zadaný krok nebyl dokončen, když je wkf dokončeno tak se eskalace nastaví na dokončenou
SetEscalation(escalationID, datum, cas, wkf.docID, "nazev_kroku$$$Tento text bude zapsán do procesu", "", 6, false, false)
-
Dojde ke spuštění libovolného skriptu jen pokud zadany krok nebyl dokončen, když je wkf dokončeno tak se eskalace nastaví na dokončenou
SetEscalation(escalationID, datum, cas, wkf.docID, "nazev_kroku$$$nazev_skriptu", "", 7, false, false)