===== TMS Script ===== A TMS script műveleteinek egy része közös a TMS e-mail felületén használtakkal, ezekkel: [[evir:tms:tms_commander|TMS Commander]] A script felépítése szerint blokkokból áll. Egy blokkot az utasítás kezdi meg, és az EOF string zárja le, pl: CREATESUB TASK $0 SUBJECT: gyerektaszk1 WORKGROUP: munkacsoport1 LEIRAS: első teszt gyerektaszk EOF CREATESUB TASK $0 SUBJECT: gyerektaszk2 WORKGROUP: munkacsoport1 LEIRAS: második teszt gyerektaszk EOF Egy munkafolyamat (tms script) leírásához a következő utasítások és paraméterek használhatóak: * ''CREATE'' \\ egy új taszk létrehozása. A rendszer beállításaitól függően vannak kötelezően megadandó adatok, pl. munkacsoport, intéző, leírás, stb, ezeket a következőkkel kell leírni: * ''SUBJECT'': a taszk tárgya * ''WORKGROUP'': a taszk munkacsoportja * ''INTEZO'': a taszk intézője * ''CREATESUB TASK'' \\ egy gyerektaszkot hoz létre. * ''SUBJECT'': a gyerektaszk tárgya * ''WORKGROUP'': a gyerektaszk munkacsoportja * ''INTEZO'': a gyerektaszk intézője * ''PARTNER_ID'': a gyerektaszk partnere. A szülőtaszk partnerére a ''partner($0)''-val lehet hivatkozni. * ''ST_SUSPEND'' \\ a paraméterként megadott taszk felfüggesztése * ''WAKEUP_SCRIPT'' \\ az ébresztés scriptje * ''DEPEND_TID'' \\ annak a taszknak az azonosítója, amitől függ a felfüggesztett taszk ébresztése * ''COMMENT'' \\ megjegyzés * ''ST_ABORT'' \\ a paraméterként megadott taszk törlése * ''ST_AKTIV'' \\ a paraméterként megadott taszok aktív állapotra állítja * ''ST_CLOSE'' \\ a paraméterként megadott tasz lezárása * ''AWAKE TASK $-1'' \\ taszk felébresztése felfüggesztett állapotból A TMS Scriptekben használható változók: * ''$0'': a szülőtaszk azonosítója * ''$-1'': az előző taszk azonosítója * ''$1'': az első gyerektaszk azonosítója ---- ==== Példa scriptek ==== Néhány példa TMS script, aminek a testreszabásával lehetőség van saját folyamatok kialakítására. === Ébresztés === Funkciója kizárólag annyi, hogy másik taszkokhoz meg lehessen adni paraméterként. Pl. ''WAKEUP_SCRIPT: Ébresztés'': Név: Ébresztés TMS Script: awake $-1 EOF ---- === Egyszerű folyamat === Példának okáért legyen egy olyan munkafolyamat, ami 3 lépésből áll: * ajánlat adás, amit az értékesítés munkacsoport végez * kivitelezés, amit műszak munkacsoport dolga * számlázás, ami a pénzügy munkacsoport feladata. Ameddig az ajánlat adás aktív, addig a másik két taszk legyen felfüggesztve, de ha megérkezik a megrendelés, akkor az ajánlatos taszk lezárásával ébredjen fel a kivitelezés. Ugyan ilyen módon, ha kész a kivitelezés és lezárásra kerül a taszk, akkor ébredjen fel a számlázás taszkja. Ennek a scriptje a következő: CREATESUB TASK $0 SUBJECT: Ajánlat WORKGROUP: értékesítés LEIRAS: Ajánlatot kell adni EOF CREATESUB TASK $0 SUBJECT: Kivitelezés WORKGROUP: műszak LEIRAS: A projekt kivitelezési munkái EOF CREATESUB TASK $0 SUBJECT: Számlázás WORKGROUP: értékesítés LEIRAS: Számlázni kell a projektet EOF ST_SUSPEND TASK $3 WAKEUP_SCRIPT: Ébresztés DEPEND_TID: $2 COMMENT: Várakozás EOF ST_SUSPEND TASK $2 WAKEUP_SCRIPT: Ébresztés DEPEND_TID: $1 COMMENT: Várakozás EOF Az előző folyamat kiegészítése a következőkkel: * a gyerektaszkokhoz is ugyan az a partner tartozzon, mint a projekthez * a gyerektaszkok tárgya tartalmazza a projekt tárgyát is * a gyerektaszkok közül az elsőnek a tervezett határideje legyen a készítéstől számított 4 nap, a felfüggesztett taskoknak pedig a felébresztéstől számított 10 nap, de addig legyen üres * a taszkokhoz legyenek beállítva felhasználók is intézőnek Ehhez két script is kell: egyrészt az ébresztéshez az időpont beállítással, és maga a folyamatleírás: Név: Ébresztés-10nap Automata: igen Aktív: igen TMS Script: AWAKE TASK $-1 EOF MODIFY TASK $-1 TERV_HATARIDO: +10d EOF Név: Új munkafolyamat Automata: nem Aktív: igen TMS Script: CREATESUB TASK $0 SUBJECT: subject($0): Ajánlat WORKGROUP: értékesítés INTEZO: felhasználó LEIRAS: Ajánlatot kell adni PARTNER_ID: partner($0) TERV_HATARIDO: +4d EOF CREATESUB TASK $0 SUBJECT: subject($0): Kivitelezés WORKGROUP: műszak INTEZO: felhasználó LEIRAS: A projekt kivitelezési munkái PARTNER_ID: partner($0) TERV_HATARIDO: EOF CREATESUB TASK $0 SUBJECT: subject($0): Számlázás WORKGROUP: értékesítés INTEZO: felhasználó LEIRAS: Számlázni kell a projektet PARTNER_ID: partner($0) TERV_HATARIDO: EOF ST_SUSPEND TASK $3 WAKEUP_SCRIPT: Ébresztés-10nap DEPEND_TID: $2 COMMENT: Várakozik a tid($2) taszkra EOF ST_SUSPEND TASK $2 WAKEUP_SCRIPT: Ébresztés-10nap DEPEND_TID: $1 COMMENT: Várakozik a tid($1) taszkra EOF