SetEscalation

Vytvoří, nebo edituje eskalaci
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)

Příklady použití