Dynamics crm 将合同行添加到合同CRM 2011

Dynamics crm 将合同行添加到合同CRM 2011,dynamics-crm,dynamics-crm-2011,Dynamics Crm,Dynamics Crm 2011,我希望有人能进一步帮助我,因为我真的被困在这里了。我正在尝试从一个post creat插件向我的合同实体添加一个合同行。我的代码: Guid c_Id=(Guid)entity.Attributes[“contracid”]; DateTime开始=(DateTime)实体[“activeon”]; DateTime end=(DateTime)实体[“expireson”]; 钱=新钱; 货币价值=0; //为合同行设置实例 实体ContractLine=新实体(); ContractLine

我希望有人能进一步帮助我,因为我真的被困在这里了。我正在尝试从一个post creat插件向我的合同实体添加一个合同行。我的代码:

Guid c_Id=(Guid)entity.Attributes[“contracid”];
DateTime开始=(DateTime)实体[“activeon”];
DateTime end=(DateTime)实体[“expireson”];
钱=新钱;
货币价值=0;
//为合同行设置实例
实体ContractLine=新实体();
ContractLine.LogicalName=“contractdetail”;
//为合同创建合同行
ContractLine[“title”]=“已启动插件”;
ContractLine[“activeon”]=开始;
合同行[“到期日”]=结束;
合同行[“总分配”]=1;
//合同行[“客户ID”]=实体[“客户ID”];
//合同行[“产品ID”]=实体[“产品ID”];
合同行[“价格”]=货币;
ContractLine[“contractid”]=c_Id;
服务。创建(合同行);

出于某种原因,我得到了“Attribute:construcd不能设置为NULL”的错误,这确实是错误的,因为当我在另一个实体的另一个字段上检查它时,它确实获得了construcd的GUID。如果有人能帮我,我会非常感激。谢谢。

如果您有其他插件由于您的插件引发而引发异常,那么您的插件将引发异常。那似乎总是咬我。尝试禁用除您正在使用的插件之外的所有其他插件…

应该
ContractLine[“contractd”]
=c\u Id;be
ContractLine[“contracted”]=新实体参考(“合同”,c_Id)


c_Id是否应该是一个实体引用而不是GUID?

嗨,Daryl,我在开发环境中工作,情况并非如此。但这真的很奇怪,因为它实际上得到了压缩,但当我为ContractLine[“contractId”]设置它时,我得到了这个错误;或者它是在创建过程中被抛出的?嗨,Daryl,谢谢你的努力。答案如下所示,我必须像这样设置ContractLine[“contractid”]=new EntityReference(“contract”,c_Id);再次通知您的回复。没问题。我生成并使用了早期绑定对象,而不是普通实体对象,它会在编译时而不是运行时捕获这种错误。非常感谢Boone,非常感谢它为我所做的工作。我不得不将其更改为ContractLine[“contracted”]=新实体引用(“contract”,c_Id)。