无法使用代码在MS CRM 2016中创建SLA项及其操作

时间:2017-05-03 05:13:01

标签: dynamics-crm crm countdowntimer dynamics-crm-online dynamics-crm-2016

我一直在尝试使用代码和SDK创建SLA和SLA项目,因为我必须创建大约500个SLA。 我能够使用代码创建SLA,但是当我尝试激活SLA时,它会抛出错误。

我检查了错误日志。它显示发生了一些意外错误。

我的观察很少:
1.当我从SLA中删除SLA项目时,我就可以激活SLA。所以,问题是创建SLA项目
2.我手动创建了一个SLA项目,当我打开一个手动创建的SLA项目和一个自动创建的SLA项目时,我发现在手动SLA项目上有一个区别,"添加步骤"成功操作,失败操作,警告操作下方显示按钮。但是在自动创建的SLAItem上,这些按钮是不可见的。我检查了SLA项目的所有属性,但我发现没有区别。 我认为在SLAItem上链接的动作必须存储在不同实体的某个地方。但我不知道这种关系和实体名称。

手动SLA项目:

enter image description here

自动创建SLA项目:

enter image description here

用于创建SLA项目的代码:

SLAItem slaitem1 = new SLAItem();
slaitem1.SLAId = sla.ToEntityReference();
slaitem1.Name = "SLAItem-CS" + dt.Rows[rowIndex][1].ToString() + "-" + dt.Rows[rowIndex][2].ToString();
slaitem1.SequenceNumber = counter2;
slaitem1.RelatedField = "hpi_slakpi";
slaitem1.ApplicableWhenXml = "<and><condition><column id=\"colEntity\" value=\"hpi_complaintsolution\" /><column id=\"colAttribute\" value=\"hpi_complaintsolutionstatus\"/><column id=\"colOperator\" value=\"eq\"/><column id=\"colStaticValue\" value=\"" + dt.Rows[rowIndex][3].ToString() + "\" dataslugs=\"\" /></condition></and>";
slaitem1.SuccessConditionsXml = "<and><condition><column id=\"colEntity\" value=\"hpi_complaintsolution\" /><column id=\"colAttribute\" value=\"statecode\"/><column id=\"colOperator\" value=\"eq\"/><column id=\"colStaticValue\" value=\"1\" dataslugs=\"\" /></condition></and>";
slaitem1.FailureAfter = ((int)dt.Rows[rowIndex][4]) * 60;
slaitem1.WarnAfter = ((int)dt.Rows[rowIndex][4]) * 30; // 50%
Console.WriteLine(counter.ToString() + "-" + counter2.ToString() + " SLA Item Creating...");
slaitem1.Id = orgService.Create(slaitem1);
Console.WriteLine(counter.ToString() + "-" + counter2.ToString() + " SLA Item Created.");

请建议,如何正确创建SLA项目及其操作,以便稍后我可以激活SLA?

0 个答案:

没有答案