【问题标题】:reopen closed or cancel activity with console application使用控制台应用程序重新打开已关闭或取消活动
【发布时间】:2019-03-07 21:23:44
【问题描述】:

我尝试重新打开约会时收到此错误:“无法更新已关闭或已取消的活动” 这是我的代码:

var connectionString = ConfigurationManager.ConnectionStrings["crmConnection"].ConnectionString;
var conn = CrmConnection.Parse(connectionString);
var service = new OrganizationService(conn);
var stateRequest = new SetStateRequest
{
  State = new OptionSetValue(0),
  Status = new OptionSetValue(1),
  EntityMoniker = entity.ToEntityReference()
};
service.Execute(stateRequest);

我从RetrieveMultiple(query) 获取实体,其中StateCode 是“取消”或“完成”。我在控制台应用程序中运行此代码并收到该错误。

PS: 我在新版本中编写了我的代码,但我再次收到此错误:

entity.SetAttributeValue<OptionSetValue>("statecode", 0);
entity.SetAttributeValue<OptionSetValue>("statuscode", 1);
var request = new UpdateRequest { Target = entity };
var response = (UpdateResponse)_organizationService.Execute(request);

【问题讨论】:

  • 根据this article SetStateRequest 已弃用。
  • 我认为这与折旧无关,因为我在新版本中编写了我的代码,我也遇到了同样的错误

标签: dynamics-crm dynamics-crm-2015


【解决方案1】:

终于,经过 8 小时的工作,我得到了它!这太荒谬了,但值得知道。这个错误是由我之前注册的另一个插件引起的。当“StateCode”字段发生更改时,该插件已在“更新”消息中注册。我禁用了该步骤,并且我的弃用功能起作用了! 在异常消息中,您无法理解哪个插件引发了错误。

【讨论】:

    【解决方案2】:

    请提供总代码。我在这里看到,您声明了一个新的 OrganizationService,就像您之前使用过的一样(用于retrieveMultiple)。

    也许使用相同的服务,只是解决您的问题 :),但总代码我们可能可以提供更多帮助。

    除了已弃用的讨论。您使用 CRM 2015,因为它似乎被标记了?据我所知,它仅在 D365 中被贬低(希望我在这里没有弄错;))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 2011-12-24
      • 2015-12-14
      相关资源
      最近更新 更多