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:

  1. A ação personalizada é iniciada com requestType como getElapsedTime. Isso calcula o tempo decorrido entre o estado pausado e retomado do KPI do SLA.
  2. A ação personalizada é iniciada com requestType como getEndTime. Isso calcula a nova ação WarningTime adicionando a anteriorelapsedTime à atual warningTime. Um cálculo semelhante também é feito para FailureTime.

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