2

私は本当にここで立ち往生しているので、誰かが私をさらに助けてくれることを願っています。作成後のプラグインから契約エンティティに契約ラインを追加しようとしています。私のコード:

Guid c_Id = (Guid)entity.Attributes["contractid"];
DateTime start = (DateTime)entity["activeon"];
DateTime end = (DateTime)entity["expireson"];
Money money = new Money();
money.Value = 0;


//Set Instance for Contract Line 
Entity ContractLine = new Entity();
ContractLine.LogicalName = "contractdetail";

//Create Contract Line for the Contract
ContractLine["title"] = "PLUGIN FIRED";
ContractLine["activeon"] = start;
ContractLine["expireson"] = end;
ContractLine["totalallotments"] = 1;
//ContractLine["customerid"] = entity["customerid"];  
//ContractLine["productid"] = entity["productid"];
ContractLine["price"] = money;
ContractLine["contractid"] = c_Id;

service.Create(ContractLine);

何らかの理由で、「属性:contractidをNULLに設定できません」というエラーが発生します。これは、別のエンティティの別のフィールドでチェックしたときに、contractidのGUIDを実際に取得するため、実際には問題があります。誰かがここで私を助けてくれたら本当にありがたいです。ありがとう。

4

2 に答える 2

2

すべき= c_Id ContractLine["contractid"]; でしょContractLine["contractid"] = new EntityReference("contract", c_Id);うか?

また、c_IdはGUIDではなくEntityReferenceである必要がありますか?

于 2012-05-23T16:10:25.400 に答える
1

例外をスローしているプラ​​グインの結果として起動している別のプラグインがある可能性があります。それはいつも私を噛むようです。作業中のプラグインを除く他のすべてのプラグインを無効にしてみてください...

于 2012-05-23T15:35:02.943 に答える