首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果属性parentcustomerid不为空,则MS CRM 2013属性parentcustomeridtype不能为空。

如果属性parentcustomerid不为空,则MS CRM 2013属性parentcustomeridtype不能为空。
EN

Stack Overflow用户
提问于 2014-12-09 07:56:45
回答 2查看 1.6K关注 0票数 1

亲爱的智能开发人员,

当我想通过web服务在Microsoft 2013中创建属于某个组织的联系人时,我遇到了一个问题

代码语言:javascript
复制
client = new OrganizationServiceClient("CustomBinding_IOrganizationService"); 
var newContactProperties = new Dictionary<string, object> { 
                { "lastname", "TestContact"}, 
                { "firstname", "A"},
                { "fullname", "A TestContact"}

        };

/* organizationType is a CRM.CRMWebServices.OptionSetValue
 * with ExtensionData null, PropertyChanged null and a valid Value
 *
 * orgReference is a CRM.CRMWebServices.EntityReference
 * with a valid Id
 */

newContactProperties.Add("parentcustomeridtype", organizationType);
newContactProperties.Add("parentcustomerid", orgReference);

var entity = new Entity();
entity.LogicalName = "contact";
entity.Attributes = new AttributeCollection();
entity.Attributes.AddRange(newContactProperties);

client.Create(entity);

这给了我一个错误:如果属性parentcustomerid不是NULL,那么属性parentcustomeridtype就不能为NULL。

我不明白为什么会发生这种情况,以及如何解决这个问题。如果可以的话请帮帮我。

谢谢你,AllWorkNoPlay

EN

回答 2

Stack Overflow用户

发布于 2014-12-10 18:03:53

您不需要单独设置"parentcustomeridtype“属性。它是一个系统字段,将由平台设置,并且由于遗留原因而存在于父客户端,在Dynamics的早期版本中它是客户类型。您只需要在查找字段中指定EntityReference。

newContactProperties.Add("parentcustomerid", new EntityReference("account", new Guid("{accountid guid}")));

此外,还不清楚在"orgReference“字段中使用的是哪种类型。对于联系人,有效的实体类型应该是“帐户”或“联系人”。

票数 3
EN

Stack Overflow用户

发布于 2014-12-15 08:50:48

谢谢你的回答,我没有设法用这种方式使用web服务。

我尝试过成功地使用早期绑定访问:

  1. 使用https://xrmearlyboundgenerator.codeplex.com/生成代理对象
  2. 添加线组装: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()到assemblyInfo以使Intellisense可用(甚至对于自定义字段)
  3. 现在,我设法创建一个联系人并将其分配给一个组织(如下所示): var contact =新联系人(){ FirstName = "Bob",LastName = "Dobalina",Address1_Line1 =“123号街”,Address1_City =“柏林”,Address1_PostalCode = "32254",Telephone1 = "425-555-5678",EMailAddress1 = "bob.dobalina@germany.de“};var帐户=新帐户(){ Name =“西门子德国”,};context.AddObject(联系人);context.AddObject(帐户);context.AddLink(帐户,"contact_customer_accounts“联系人);context.SaveChanges();}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27373906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档