将实体记录设置为Active

时间:2012-11-13 10:04:25

标签: dynamics-crm-2011

有很多关于如何将记录设置为非活动的示例,但是如何将其设置为活动?

我猜你只是为State和Status选项集使用不同的值,但它们是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

我找到了答案。

只需使用正确的值替换状态和状态值:

http://msdn.microsoft.com/en-us/library/bb890228.aspx

这段代码使用了一个新的线程来完成这个过程并不总是必要的,但是你明白了。

ThreadPool.QueueUserWorkItem(new WaitCallback(SetState), (object)new SetStateThreadRequest()
{
    proxy = proxy,
    Request = new SetStateRequest()
    {
        EntityMoniker = new EntityReference(Entity, entity.Id),
        State = new OptionSetValue(0), // <== 0 = Active, 1 = Inactive
        Status = new OptionSetValue(1) // <== 1 = Active, 2 = Inactive (some use -1)
    }
});

答案 1 :(得分:1)

激活帐户实体的示例:

Account account = new Account();

          // ...

          SetStateRequest req = new SetStateRequest();

          req.EntityMoniker = new EntityReference(Account.EntityLogicalName, account.Id);
          req.State = new OptionSetValue(0);
          req.Status = new OptionSetValue(1);

          service.Execute(req);

对于状态和州代码,请检查Account Entity OptionSet Attribute Metadata on MSDN