尝试创建设备记录时无法将业务单位 ID 设置为空错误

Business Unit Id cannot be set to null error trying to create equipment record

我试图用以下代码创建一个 facility/equipment,但我收到一条错误消息 "business unit id cannot be set to NULL"

我的 crm 2016 中只创建了一个业务部门 这是我的代码:

string fetchBU = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
                                  <entity name='businessunit'>
                                    <attribute name='name' />
                                    <attribute name='address1_telephone1' />
                                    <attribute name='websiteurl' />
                                    <attribute name='parentbusinessunitid' />
                                    <attribute name='businessunitid' />
                                    <order attribute='name' descending='false' />
                                  </entity>
                                </fetch>";

EntityCollection resultequipments = _orgService.RetrieveMultiple(new FetchExpression(fetchBU));

if (resultequipments.Entities.Count > 0)
{
    Guid BuId;
    BuId = (Guid)resultequipments.Entities[0]["businessunitid"];
    Entity equipment = new Entity("equipment");
    equipment["name"] = "test";
    equipment["businessunitid"] = BuId;
    _orgService.Create(equipment);
    Console.WriteLine("Facility successfully created");
}

提前致谢。

您查询结果中的businessunitid属性为主键,即Guid类型。

equipment 实体中的 businessunitid 属性是一个查找,由 EntityReference 对象表示。

您不能将 Guid 分配给 EntityReference 属性。修改您的代码类似于:

EntityCollection businessUnits = _orgService.RetrieveMultiple(new FetchExpression(fetchBU));

if (businessUnits.Entities.Count > 0)
{
    Entity equipment = new Entity("equipment");
    equipment["name"] = "test";
    equipment["businessunitid"] = new EntityReference("businessunit", businessUnits.Entities[0].Id);
    _orgService.Create(equipment);
    Console.WriteLine("Facility successfully created");
}