0

新しいケースを作成するプラグインがあり、作成されたチケット番号を含めてメールを送信したいと思います。プラグインでこれを呼び出そうとしましたが、辞書に存在しないと言って戻ってきました。このフィールドにはCRM独自の自動番号付けが入力されているので、プラグインが起動してケースを作成していると推測していますが、自動番号付けが完了する前にこのフィールドを使用しようとしています。

それで、このフィールドが利用可能になるまでプラグインを「待機」させてから使用する方法はありますか?

ありがとう

編集:以下のコード:

string emailBody = entity.Attributes["description"].ToString();

int bodyLength = emailBody.Length;
int textStart = emailBody.IndexOf(">") + 1;

int newLength = bodyLength - (textStart + 7);

string description = emailBody.Substring(textStart, newLength);

//create complaint
Entity complaint = new Entity("incident");

complaint["description"] = description;
complaint["ts_case_type"] = 717750001;
complaint["ts_registration_datetime"] = DateTime.Now;
complaint["ownerid"] = Owner;
complaint["customerid"] = Organisation;

Service.Create(complaint);
4

2 に答える 2

1

サイドとして、可能であればワークフローを使用して電子メールを送信することをお勧めします。長期的には保守がはるかに簡単で、短期的には実装が迅速になります。

いずれにせよ、質問に答えるには、ここにあるものから、インシデントを作成したらチケット番号を取得するようにコードを更新する必要があります。これは、取得メッセージを使用して行うことができます。

例えば:

//Create the complaint
Entity complaint = new Entity("incident");

//This is the information that is being sent to the server,
//it will not be updated by CRM with any additional information post creation
complaint["description"] = description;
complaint["ts_case_type"] = 717750001;
complaint["ts_registration_datetime"] = DateTime.Now;
complaint["ownerid"] = Owner;
complaint["customerid"] = Organisation;

//Capture the id of the complaint, we will need this in a moment
Guid complaintId = Service.Create(complaint);

//complaint["ticketnumber"] <-- The server does not populate this information in your object

//Retrieve the ticketnumber from the incident we just created            
Entity complaintRetrieved = service.Retrieve("incident", complaintId, new ColumnSet("ticketnumber"));

//Get the ticketnumber
String ticketNumber = (String)complaintRetrieved.Attributes["ticketnumber"];
于 2012-10-23T13:57:19.000 に答える
0

Jamesがコメントで述べたように、いくつかのケースプロパティを含む電子メールを送信したいだけの場合は、ワークフロー(ケース作成時)を使用して送信するのが最適です。プラグインでは、IDが生成され、次の方法で取得できます。

entity.Attributes["ticketnumber"]
于 2012-10-23T13:09:24.883 に答える