Perguntas frequentes sobre cálculo de tempo personalizado de KPIs de SLA
Visão geral
Este tópico contém as perguntas frequentes que você, como administrador, pode ter sobre o cálculo de tempo personalizado dos indicadores chave de desempenho (KPIs) dos contratos de nível de serviço (SLAs).
Quando a ação personalizada ou o plug-in é iniciado?
A ação personalizada ou o plug-in é iniciado durante a criação de uma nova instância de KPI de SLA, que também inclui um KPI de SLA, que foi retomado de um status de pausa.
Como o cenário de pausa e retomada é diferente de um cenário de criação de KPI de SLA?
O cenário de pausa e retomada inclui as duas etapas a seguir:
- A ação personalizada é iniciada com requestType como
getElapsedTime
. Isso calcula o tempo decorrido entre o estado pausado e retomado do KPI do SLA. - A ação personalizada é iniciada com requestType como
getEndTime
. Isso calcula a nova açãoWarningTime
adicionando a anteriorelapsedTime
à atualwarningTime
. Um cálculo semelhante também é feito paraFailureTime
.
Como posso substituir o StartTime
para uma instância de KPI de SLA sem criar e atualizar o campo DateTime personalizado?
Você pode substituir o startTime de uma instância de KPI de SLA com base na lógica personalizada, na qual você precisa alterar o parâmetro startTime
.
// when the case priority is modified and a new KPI instance is being created, the KPI instance needs to start from UTC instead of CreatedOn
if ((int)(((OptionSetValue)(caseRecord.Attributes["priority"])).Value) == 1)
{
startTime = DateTime.UtcNow
}
// use OOB SLATimeCalculation Custom Action to do actual calculation_
OrganizationRequest requestTimeCalculation = new OrganizationRequest("msdyn_SLATimeCalculation");
requestTimeCalculation["startTime"] = startTime;
... rest code is same as previous examples
Como posso substituir o aviso definido ou a duração da falha de uma instância de KPI de SLA?
Você pode substituir o aviso ou falha de uma instância de KPI de SLA com base na lógica personalizada, na qual você precisa alterar o seguinte parâmetro. Observe que o valor fornecido deve estar em minutos.
// when the case priority is modified and a new KPI instance is being created, the KPI instance must have failure time as 1 hour.
if ((int)(((OptionSetValue)(caseRecord.Attributes["priority"])).Value) == 1)
{
newFailureTime = 60; // in minutes
}
// use OOB SLATimeCalculation Custom Action to do actual calculation_
OrganizationRequest requestTimeCalculation = new OrganizationRequest("msdyn_SLATimeCalculation");
requestTimeCalculation["minutes"] = newFailureTime;
... rest code is same as previous examples