Konfigurationsexempel

 

Regler som beräknar stopptid utifrån prioritet

Det är möjligt att skapa regler som sätter olika värden i start- och stopptid för när ett ärende ska vara åtgärdat. Värdet beror på vilken prioritet är satt och vi börjar visa hur datakällan Prioritet konfigureras med olika attribut för varje val i datakällan.

Ange max tid för åtgärd på datakälla

Under administrationen för datakällor finns det möjlighet att lägga upp användardefinierade attribut. Detta görs under Datakällor, genom att välja datakällan och klicka på Redigera och därefter fliken Attribut.

Här kan vi lägga upp attribut som hör till just denna datakälla. I vårt exempel väljer vi att kalla attributet incident_stopminutes som talar om hur många minuter som ska adderas till starttiden för kalkylering av stopptiden vid val av viss prioritet.

Regel för automatisk stopptid

En formulärregel behövs för automatisk beräkning av stopptid utifrån prioritet. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Beräkna stopptid från prioritet.

  1. För att beräkning ska göras direkt när prioritet ändras i formuläret välj ON_FORM_CHANGE I fältet Lyssna på.

  2. I fältet Ändrade fält ska alla fält läggas in som kan påverka att prioriteten ändras.
    I vårt exempel är det fälten Prioritet, Påverkan, Brådska, Avtal, Anmälare och Inventarier.

    Regeln ska köras om prioritet har fått ett värde, d.v.s. något annat än tomt. Detta görs genom att under Fältreglersätta villkoret för Prioritet till Ej någon av och tomt värde.

    Vi behöver tömma fältet stopptid varje gång prioriteten ändras, annars kan stopptiden ligga kvar från den prioriteten som gällde innan ändringen. Det gör vi genom att lägga till funktionen Ändra formulärfält, med konfigurationen:

    - Fält att ändra välj Stopptid.

    - Värde att sätta ska datum och tid-fälten vara tomma.

    Vi behöver sedan lägga in funktionen som beräknar stopptiden utifrån prioritet. Det gör vi genom att lägga till funktionen Addera minuter till datum. Det är viktigt att denna funktion sorteras efter funktionen Ändra formulärfält.

    Välj Typ 1, för att hämta minuter från attribut på fältets datakälla.

    Fältet i vårt exempel är Prioritet.

    Om man vill kunna överstyra de globala attributen från datakällan, sätts objektet där attributen ska hämtas, ex. avtal, i fältet Fält kopplat mot objekt med överlagrat värde för attributet.

    - Attribut ange namnet på attributet som innehåller antalet minuter att lägga till. Detta finns lagrat på datakällan, i vårt exempel incident_stopminutes.

    - Källdatum ange det fält som används för starttid, i vårt exempel Skapad.

    - Måldatum ange det fält som används för stopptid, i vårt exempel Stopptid.

Konfiguration av funktionen Addera minuter till datum utan koppling mot avtal

Det går att överstyra de attribut som hämtas från datakällan. Det görs genom att använda funktionen Överlagrade attribut på ett objekt. Exempel på användningsområden för detta, kan vara när det finns start- och stopptider på en datakälla (ex Prioritet) som man vill överstyra genom att hämta detta från ett kopplat avtal. Detta kräver att man har Avtalsmodulen och att en regel finns som söker efter överstyrda värden. Läs mer om formulärfunktionen i manualen Överlagrade attribut

Om man använder avtalsmodulen och vill hämta stopptider eller öppettider från avtal fyller man i uppgifter om Avtalet.

Konfiguration av funktionen Addera minuter till datum med exempel på koppling mot avtal

Regler som mäter tid

Det går att mäta olika tider på ett objekt. Det kan vara en mätning som startar när man påbörjar ärendet och slutar när man avslutar ärendet. Det kan vara en mätning av hur lång tid ett ärende befinner sig i en viss status. All tid beräknas utifrån de öppettider som är satta i systemet, så det är egentligen arbetstiden som räknas.

Tillvägagångssätt:

  1. Skapa eventuellt grupper för datakällan (ex status – för att hålla reda på vilka statusar som räknas som pågående-status)

  2. Se till att det finns fält för att lagra tidstämpling av olika typer.

  3. Se till att det finns fält för att lagra tiden mellan olika tidpunkter.

  4. Skapa regel som sätter tidstämpling i dessa fält.

  5. Skapa regel som räknar tiden och lagrar den.

Viktigt att tänka på är att ett ärende kan avslutas, men därefter öppnas igen och avslutas återigen. Därför är det viktigt att fundera på om man vill mäta tiden till ärendet avslutades första gången eller sista gången det avslutades. Det går att sätta upp regler för båda varianterna.

Bygg upp mätning av tid på följande sätt:

I exemplet nedan visas hur man beräknar tiden mellan då ärendet påbörjas till det avslutas.

  1. Fundera igenom exakt hur mätningen ska gå till.
    - Vad vill ni mäta?
    - Behöver du skapa nya fält för detta?
    - Behöver du gruppera datakällor för att göra enkla regler?

  2. Skapa en datakällgrupp för datakällan Status – för att hålla reda på vilka statusar som räknas som pågående-status. Läs mer om det i Administratörsmanualen Administrera datakällor.

    Det går även att skapa regler som byggs utifrån en viss status istället för grupp av statusar. Men fördelen att skapa grupper för datakällans olika val är att det då blir enkelt när man lägger till nya statusar. Då räcker det att man lägger dem i gruppen, så ingår de i alla regler, rapporter och vyer som går mot gruppen.

  3. Skapa de fält som behövs. Många fält för tidstämpling följer med i systemet, så titta om det redan finns det fält du behöver. Läs hur du skapar fält under avsnittet Administrera fält.

    Eftersom vi vill beräkna tid från när ärendet påbörjas, så vill vi ha ett datumtid-fält som lagrar tidstämplingen när ärendet går in i någon status som är Pågående-status. Vi använder fältet: Tidstämpel Pågående (grupp)

    Vi vill även ha ett fält där den nedlagda tiden lagras, så vi skapar ett fält (Heltal) som lagrar tiden. Vi använder fältet: Förfluten tid Pågående (grupp).

    Fältet Tidstämpel Pågående (grupp) kommer att tidstämplas varje gång det läggs i en status som är ”Pågående”. Detta gör att fältet inte visar tidpunkten då det ursprungligen påbörjades, utan tiden då det senast påbörjades.
    Den totala nedlagda tiden räknas ut i fältet Förfluten tid Pågående (grupp).

  4. Nu behöver vi en objektregel som lagrar tidstämplingen i fältet Tidstämpel Pågående (grupp). Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Sätt tidstämpel (senaste) på gruppstatus Pågående.

    Vår regel ska triggas direkt innan ärendet sparas. Därför sätts ON_ITEM_SAVE i fältet Lyssna på.

    Regeln ska stämpla klockslaget när ärendet övergår från att inte vara pågående till att vara pågående.
    - Fältregler innan ändring: Status Ej någon av Grupp ”Pågående status”
    - Fältregler efter ändring: Status Någon av Grupp ”Pågående status”.

    Regeln ska då skriva ett datum och tid i fältet för tidstämplingen. Gör detta genom att lägga in funktionen Ändra objekts fält, med konfiguration:
    - Fält att ändra: Tidstämpel Pågående (grupp)
    - Värde att sätta: Nu plus 0 minut

     

    För att skapa regler för mätning krävs vanligtvis två regler. En praxis är att dessa regler då ska konfigureras med fältreglerna tvärtemot varandra.
    Exempel:
    Regel 1:
    Fältregel innan: status Ej någon av pågående;
    Fältregel efter: status Någon av pågående
    Då ska regel 2 ha motsatta fältregler:
    Fältregeln innan: status Någon av pågående;
    Fältregel efter: status Ej någon av pågående

  5. Nu behöver vi även en objektregel som räknar tiden mellan påbörjad – avslutad. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Beräknar all tid som ärendet haft gruppstatus Pågående.

    Denna regel ska triggas direkt innan ärendet sparas. Därför sätts ON_ITEM_SAVE i fältet Lyssna på.

    Regeln ska beräkna tiden från att tidstämpling gjordes i fältet Tidstämpel Pågående (grupp) till att ärendet inte längre är i Pågående status.
    - Fältregler innan ändring: Status Någon av Grupp ”Pågående status”
    - Fältregler efter ändring: Status Ej någon av Grupp ”Pågående status”.

    Regeln ska addera hur lång tid ärendet varit pågående och resultatet ska läggas in i fältet Förfluten tid Pågående (grupp). Gör detta genom att lägga in funktionen Räkna ut antal minuter mellan datum, med konfiguration:
    - Datum 1: fältet Tidstämpel Pågående (grupp)
    - Datum 2: Nu
    - Målfält: fältet Förfluten tid Pågående (grupp)

    Konfigurering av funktionen Räkna ut antal minuter mellan datum.

    Fälten behöver inte visas på formulären, men om ni vill ha fälten synliga så kan du konfigurera detta på formulären.

    För att se om allt är korrekt konfigurerat behöver du kontrollera att beräkningen fungerar. Vid verifieringen kan det vara bra att tillfälligt lägga fram fälten i formuläret för att se om allt beräknas korrekt.

Bygg upp mätning av SLA-tid på följande sätt:

I exemplet nedan visas hur man beräknar tiden mellan ärendet avslutades fram till stopptiden (SLA-tiden). Om ärendet avslutas efter att stopptiden är passerad blir värdet negativt, t.ex. om ärendet avslutas 1 timme efter utsatt stopptid blir värdet -60 (minuter).

Fundera igenom exakt hur mätningen ska gå till.
- Vad vill ni mäta?
- Behöver du skapa nya fält för detta?
- Behöver du gruppera datakällor för att göra enkla regler?

  1. Se till att det finns fält för mätningen. Många fält för tidstämpling följer med i systemet, så titta om det redan finns det fält du behöver.

  2. Eftersom vi vill beräkna tid från när ärendet avslutades till stopptiden, så behöver vi ett fält (Heltalbox) som lagrar differensen mellan dessa tidpunkter. Vi använder fältet Diff stopptid.

  3. Nu behöver vi en objektregel som lagrar tiden i fältet Diff stopptid. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Beräknar avslutadtid-stopptid SLA Diff.

    Vår regel ska triggas direkt innan ärendet sparas. Därför sätter vi ON_ITEM_SAVE i fältet Lyssna på.

    Regeln ska mäta antal minuter som återstår till stopptiden när ärendet övergår från att inte vara pågående till att vara pågående.
    - Fältregler innan ändring: Status Ej någon av Grupp ”Avslutad status”
    - Fältregler efter ändring: Status Någon av Grupp ” Avslutad status”.

    Regeln ska räkna ut tiden och placera resultatet i fältet Diff stopptid. Gör detta genom att lägga in funktionen Räkna ut antal minuter mellan datum, med konfigurationen:
    - Datum 1: Nu
    - Datum 2: Stopp tid
    - Målfält: Diff stopptid
    - Markera kryssrutan Returnera antal minuter som negativt värde om datum 2 infaller före datum 1.

Fältet Diff stopptid kommer att få ett värde så fort ärendet avslutas. Om man öppnar ett ärende och därefter avslutar det på nytt, räknas ett nytt värde ut. Då är det viktigt att det första värdet raderas om man öppnar ärendet. Annars kommer värdena att adderas till varandra. Se hur detta görs här nedan.

Objektregel som nollställer SLA-tiden om ärendet öppnas på nytt

Nu behöver vi även en objektregel som nollställer SLA-tiden om ärendet öppnas på nytt och klockan startar igen. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Nollställer diff storpptid och total förfluten tid.

Vår regel ska triggas direkt innan ärendet sparas. Därför sätter vi ON_ITEM_SAVE i fältet Lyssna på.

Regeln ska radera ”Diff stopptid” när klockan startar på nytt.
- Fältregler innan ändring: Status Någon av Grupp ”Avslutad status”
- Fältregler efter ändring: Status Ej någon av Grupp ” Avslutad status”

Regeln ska radera återstående minuter i fälten Diff stopptid och Total förfluten tid. Gör detta genom att lägga in funktionen Ändra objekts fält, med konfiguration:
- Fält att ändra: Diff stopptid
- Värde att sätta: (lämnas blankt)
- Fält att ändra:Total förfluten tid
- Värde att sätta: (lämnas blankt)

För att se om allt är korrekt konfigurerat behöver du kontrollera att beräkningen fungerar. Vid verifiering är det bra att tillfälligt lägga fram fältet i formuläret för att se om allt beräknas korrekt.

Regler för att stoppa klockan

Det går att sätta upp regler för att kunna ”stoppa klockan” på ärenden. Det kan exempelvis användas när en utlovad åtgärdstid (SLA), behöver uppskjutas p.g.a. att man väntar svar från kunden.

Tillvägagångssätt:

  1. Se till att det finns en datakällgrupp för datakällan (ex status - för att hålla reda på vilka statusar som räknas som ”stoppa-klockan-statusar.”)

  2. Se till att det finns fält för att lagra tiden som är kvar av stopptiden

  3. Se till att det finns regel som stoppar klockan

  4. Se till att det finns regel som startar klockan och flyttar fram stopptiden lika lång tid som klockan varit stoppad.

  5. Se till att det finns regel som nollställer återstående tiden i ”Minuter kvar” när klockan startar.

I exemplet nedan visas hur man stoppar klockan när ärendet sätts i statusgruppen ”Stoppa klocka status”.

Bygg upp ”stoppa klockan” på följande sätt:

Fundera igenom exakt hur stoppet ska gå till.
- Vad vill ni mäta?
- Behöver du skapa nya fält för detta?
- Behöver du gruppera datakällor för att göra enkla regler?

  1. Se till att det finns fält för SLA-mätningen.

    Eftersom vi vill stoppa klockan när ärendet sätts i en ”Väntar kund-status”, så ska vi skapa ett fält (heltal) som lagrar hur många minuter det är kvar av stopptiden när ärendet övergår i någon status som är ”Väntar kund”. Vi använder fältet SLA minuter kvar.

  2. Nu behöver vi en objektregel som lagrar hur många minuter det är kvar av stopptiden när ärendet övergår i någon status som är ”Väntar kund-status”. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Beräknar "tid kvar" för stoppa klockan status.


    Vår regel ska triggas direkt innan ärendet sparas. Därför sätter vi ON_ITEM_SAVE i fältet Lyssna på.

    Regeln ska lagra tiden som återstår av stopptiden när ärendet övergår från att inte vara ”Väntar kund-status” till att vara ”Väntar kund-status” och när stopptid inte är blankt.
    - Fältregler innan ändring: Status Ej någon av Grupp ”Väntar kund”
    - Fältregler efter ändring: Status Någon av Grupp ”Väntar kund”
    - Fältregler efter ändring: Stopptid <>(tomt)

    Regeln ska räkna ut hur lång tid det är kvar från nu till stopptiden. Eftersom vi ibland kan ha passerat stopptiden, vill vi även kunna få negativ tid uträknad i vårt fält. Gör detta genom att lägga in funktionen Räkna ut antal minuter mellan datum, med konfiguration:
    - Datum 1: Nu
    - Datum 2: Stopptid
    - Målfält: fältet SLA Stoppminuter kvar
    - Markera kryssrutan Returnera antal minuter som negativt värde om datum 2 infaller före datum 1

  3. Därefter behöver vi en objektregel som, när klockan startar, räknar ut hur lång tid ärendet legat i ”Väntar kund-status”. Därefter ska stopptiden räknas om utifrån hur många minuter som klockan varit stoppad. Om stopptiden var passerad ska stopptiden behålla sitt ursprungliga värde. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Beräknar ny stopptid när klockan startas.

    Denna regel ska triggas direkt innan ärendet sparas. Därför sätter vi ON_ITEM_SAVE i fältet Lyssna på.

    Regeln ska räkna ut tiden från att klockan stoppades till klockan sätts igång igen. Men regeln ska endast köras om antal minuter kvar är mer än 0 minuter.

    - Fältregler innan ändring: Status Någon av Grupp "Väntar kund” samt SLA minuter kvar Större än 0

    - Fältregler efter ändring: Status Ej någon av Grupp ”Väntar kund”

    Regeln ska då addera tiden som ärendet varit stoppat till fältet Stopptid. Gör detta genom att lägga in funktionen Addera minuter till datum, med konfiguration:
    - Typ 2 (Hämta minuter från fälts värde): fältet SLA Stoppminuter kvar
    - Källdatum: Odefinierad (vilket betyder Nu)
    - Måldatum: fältet Stopptid

    Fältet SLA minuter kvar behöver inte visas på formulären, men om ni vill ha fältet synligt så kan du konfigurera detta på formulären.

    För att se om allt är korrekt konfigurerat behöver du kontrollera att beräkningen fungerar. Vid verifieringen kan det vara bra att tillfälligt lägga fram fältet för att se om allt beräknas korrekt.

  4. Skapa därefter en objektregel som nollställer återstående tiden när klockan startar igen (fältet SLA minuter kvar). Finns det ett värde kvar kommer tiden att adderas, om klockan stoppas återigen. Det finns en regel som följer med i systemet som kan användas för nedanstående lösning. Regeln har namnet Nollställer återstående minuter när klockan startas.

    Vår regel ska triggas direkt innan ärendet sparas. Därför sätter vi ON_ITEM_SAVE i fältet Lyssna på.

    Regeln ska radera återstående minuter när klockan startar.

    - Fältregler innan ändring: Status Någon av Grupp ”Väntar kund”

    - Fältregler efter ändring: Status Ej någon av Grupp ”Väntar kund”

    Regeln ska radera återstående minuter i fältet SLA minuter kvar. Gör detta genom att lägga in funktionen Ändra objekts fält, med konfiguration:

    - Fält att ändra: SLA minuter kvar

    - Värde att sätta: (lämnas blankt)

Regler för att göra fält obligatoriska eller inaktiva

Det går att sätta upp regler för att kunna sätta fält som obligatoriska eller inaktiva utifrån något som ändras i objektet. Det kan användas exempelvis om man vid avslut av ett ärende vill göra fältet Lösning obligatoriskt att fylla i. Det kan också användas för att t.ex. kunna låsa (inaktivera) fältet Stängningskod tills ärendet avslutas.

När du skapar regler för att inaktivera eller göra obligatoriskt fält krävs vanligtvis två regler. En praxis är att dessa regler då ska konfigureras med fältreglerna tvärtemot varandra.

Skapa en formulärregel som gör fält obligatoriska att ange

  1. För att regeln ska starta när ändring av ett fält i formuläret sker välj ON_FORM_CHANGE i fältet Lyssna på.
    Om regeln även ska starta när formuläret öppnas välj ON_FORM_LOAD.

  2. I fältet Ändrade fält ska det fält som ska utlösa regeln läggas in. I vårt exempel sätts Status.

  3. Lägg in fältregler i fältet Fältregler. I vårt exempel sätts Status, med villkoret Någon av Avslutad

  4. Vi ska nu göra så att fältet Lösning ska vara obligatoriskt när ärendet avslutas. Det gör vi genom att lägga till funktionen Ändra obligatorisk, med konfigurationen:

    - Fältvälj de fält som ska bli obligatoriska. I vårt exempel Lösning.

    - Obligatorisk markera kryssrutan för att ställa in att fältet/fälten ska vara obligatoriskt att ange.

Skapa en motregel som gör att fält inte är obligatoriskt innan avslut

Nu behöver en motregel skapas för att inte fälten vara obligatoriska vid andra tillfällen än den första regeln angivit. En praxis är att dessa regler då ska konfigureras med fältreglerna tvärtemot varandra.
Exempel Regel 1:
Fältregel innan: Status Ej någon av avslutad;
Fältregel efter: Status Någon av avslutad
Exempel Regel 2:
Då ska regel 2 ha motsatta fältregler:
Fältregeln innan: Status Någon av avslutad;
Fältregel efter: Status Ej någon av avslutad

Skapa en regel som gör fält inaktiva och vid behov döljer fältet

Om du behöver ställa in att fält ska vara inaktiva gör du på samma sätt som vid de två reglerna ovan för obligatoriska fält. Det som skiljer är att funktionen heter Ändra inaktivering.

När ett fält inaktiveras går det också att dölja fältet. Det gör du genom att i inställningen av funktionen markera kryssrutan Dölj fält vid inaktivering.