1

我有一个在线托管在 CRM 2011 中的 silverlight 应用程序。我有更新电话并以小表格显示两个字段的功能。我要求标记为完整,但我似乎在这里失败了。

我有:

phoneCall.StateCode.Value = 1;

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

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

主题和描述一样工作和保存,但状态码没有。StateCode 不为空,这是一个现有对象,当前设置为 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 端点的替代方案,但目前存在一些限制。

  • 只能对实体记录执行 Create、Retrieve、Update 和 Delete 操作。无法执行需要 Execute 方法的消息。

这对您来说意味着:您无法使用 REST 端点更改状态。您必须为此任务使用 WCF SOAP 端点。

于 2011-05-17T08:11:04.050 回答