c# - 插入自定义实体状态代码

标签 c# .net dynamics-crm-2011 dynamics-crm crm

我正在尝试在 CRM 2016 中插入自定义实体的状态和状态代码。 这是我的代码:

if (entity.LogicalName == "activitypointer")
            {
                if (entity.Attributes.Contains("activityid") & entity.Attributes.Contains("activitytypecode"))
                {
                    entity.LogicalName = entity.Attributes["activitytypecode"].ToString();
                    entity.Id = (Guid)entity.Attributes["activityid"];

                    SetStateRequest setState = new SetStateRequest();
                    setState.EntityMoniker = entity.ToEntityReference();
                    setState.State = new OptionSetValue();
                    setState.State.Value = 2;
                    setState.Status = new OptionSetValue();
                    setState.Status.Value = 100000002;
                    SetStateResponse setStateResponse = (SetStateResponse)service.Execute(setState);
                }


            }

当我运行这个时,我遇到了异常: 100000002 不是状态代码 new_payState 的有效状态代码。在 ID 为 3fbe9a4a-a733-e611-80cb-001dd8b71c1c 的 new_pay 上完成

当我尝试将状态代码更改为其他值 2,3 或其他值时,我遇到了相同的异常。我如何找到该实体的有效代码状态列表?

谢谢!

最佳答案

100000002 不是有效的开箱即用状态代码,这意味着已自定义属性并添加了选项。验证与状态代码值 100000002 关联的状态代码值(导航到自定义,检查状态代码/statuscode 属性)。

如果您不熟悉 CRM 的使用方式,请尝试列出的所有州代码。

事件指针的有效开箱状态代码 + 状态代码组合列表为:

statecode        -   statuscode 
0 (Open)         -   1 (Open)
1 (Completed)    -   2 (Completed)
2 (Cancelled)    -   3 (Cancelled)
3 (Scheduled)    -   4 (Scheduled)

关于c# - 插入自定义实体状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865957/

相关文章:

c# - 如何在不使用 HttpContext 静态类的情况下获取 ApiController 中的 HttpRequest 对象?

c# - 根据组合框中的选定项目获取文件名

c# - LINQ where 子句在第二个 where 中抛出错误

c# - C# 中允许在 O(1) 中反转的数据结构

c# - .NET 代码编译或复杂化?

.net - SSCLI 2.0 (ROTOR) 和 .NET 有什么区别?

c# - 具有联接的 CRM LINQ 查询中的异常。第二个表中的属性不存在

c# - 使用 CRM SDK 时 log4net 的 FileLoadException

c# - 电源外壳 : Import-Module

.net - 在应用启动时奇怪地加载/卸载comctl32.dll