我已经看到通过 C# 创建帐户实体记录、联系人实体记录的示例,我想知道我们如何通过 C#(.net) 代码在 CRM 中创建服务记录。
例如:我们已经在服务实体视图中有“管道服务”记录。所以我想通过 C# 代码在服务实体中创建一个新记录(早期或晚期绑定无关紧要)。
有人可以用代码帮助我吗?
我已经看到通过 C# 创建帐户实体记录、联系人实体记录的示例,我想知道我们如何通过 C#(.net) 代码在 CRM 中创建服务记录。
例如:我们已经在服务实体视图中有“管道服务”记录。所以我想通过 C# 代码在服务实体中创建一个新记录(早期或晚期绑定无关紧要)。
有人可以用代码帮助我吗?
从代码创建此服务时需要相当多的 XML。此外,在创建服务之前,您需要创建 ResourceSpec 和 ConstraintBasedGroup。
首先创建一个 ConstraintBasedGroup:
var bu = context.BusinessUnitSet.First().ToEntityReference();
var cbg = new ConstraintBasedGroup
{
BusinessUnitId = bu,
Name = "CBG1",
Constraints = "<Constraints><Constraint><Expression><Body>false</Body><Parameters><Parameter name=\"resource\"/></Parameters></Expression></Constraint></Constraints>"
};
var cbgId = OrganizationService.Create(cbg);
然后创建一个 ResourceSpec:
var resSpec = new ResourceSpec
{
BusinessUnitId = bu,
Name = "RS1",
RequiredCount = 1,
ObjectiveExpression = "<Expression><Body>udf\"Random\"(factory,resource,appointment,request,leftoffset,rightoffset)</Body><Parameters><Parameter name=\"factory\"/><Parameter name=\"resource\"/><Parameter name=\"appointment\"/><Parameter name=\"request\"/><Parameter name=\"leftoffset\"/><Parameter name=\"rightoffset\"/></Parameters><Properties EvaluationInterval=\"P0D\" evaluationcost=\"0\"/></Expression>",
GroupObjectId = cbgId
};
var resSpecId = OrganizationService.Create(resSpec);
最后,您可以创建您的服务:
var svc = new Service
{
Name = "Service1",
Granularity = "FREQ=MINUTELY;INTERVAL=15",
ResourceSpecId = new EntityReference(ResourceSpec.EntityLogicalName, resSpecId),
InitialStatusCode = new OptionSetValue(0),
Duration = 15
};
OrganizationService.Create(svc);
如果您想知道所需的 XML 的特定格式,我建议您使用 CRM 的 UI 创建类似的东西。我在示例中使用的 XML 几乎是默认的 XML CRM 生成的。