1

オンラインでCRM2011でホストされているSilverlightアプリがあります。電話を更新し、2つのフィールドを小さな形式で表示する機能があります。完了としてマークする必要がありますが、ここでは失敗しているようです。

私は持っています:

phoneCall.StateCode.Value = 1;

phoneCall.Subject = activity.Subject;
phoneCall.Description = activity.Description;

_context.UpdateObject(phoneCall);
_context.BeginSaveChanges(OnChangesSaved, phoneCall);

件名は機能し、説明と同様に保存されますが、状態コードは機能しません。StateCodeはnullではありません。これは既存のオブジェクトであり、現在0(オープン)に設定されています。保存はStateCodeには影響しません。これはtry-catchにあり、エラーは報告されていません。

4

1 に答える 1

2

Updateメッセージでレコードのステータスを変更することはできません。状態コードまたはステータス コードを変更するには、SetStateRequest.

var setStateRequest = new SetStateRequest
{
  EntityMoniker = new EntityReference({LogicalName}, {Id}),
  State = new OptionSetValue(1),
  Status = new OptionSetValue(1)
};

_context.Execute(setStateRequest);

アップデート


REST エンドポイントにはいくつかの制限があります。

REST エンドポイントは WCF SOAP エンドポイントの代替手段を提供しますが、現時点ではいくつかの制限があります。

  • エンティティ レコードに対して実行できるのは、作成、取得、更新、および削除アクションのみです。実行メソッドを必要とするメッセージは実行できません。

つまり、REST エンドポイントで状態を変更することはできません。このタスクには WCF SOAP エンドポイントを使用する必要があります。

于 2011-05-17T08:11:04.050 に答える