当前位置:网站首页>Dynamics CRM: 理解Status, Statecode, Status Reason, Statuscode
Dynamics CRM: 理解Status, Statecode, Status Reason, Statuscode
2022-07-21 15:48:00 【Stone-hdj】
上面说的这四个: status, statuscode, status reason, statuscode, 其实就是两个字段, 这两个字段在我们每一个实体里都有, 无论是系统自带的实体还是我们自定义的实体.
字段名 | 显示名 | 备注 |
statecode | Status | 对于自定义的实体,它的值为Active, Inactive 如果是系统自带的实体: 1. 对于case实体它的值是Active, Resolved, Canceled 2. 对于Opportunity实体它的值是Open, Won, Lost 3. 像Knowledge Article, Lead, Invoice这些系统自带实体也是有超过两个的Status 注: 大多数实体,包括Dynamics CRM自带的实体, 绝大多数都是只有Active和Inactive, 上边的那些属于特例. |
statuscode | Status Reason | 这个字段的值是和上面的status字段有对应关系的, 也就是说: 1. 每一个Status可以对应多个Status Reason 2. 每一个status reason都必属于一个Status, 它可以是属于Activce, 也可以属于Inactive, 也可以属于其他 |
对于Status(statecode)字段, 我们通过下图可以发现它的数据类型就是Status, 并且不能添加自定义的选项
对于Status Reason(statuscode), 这个字段比较特殊, 我们可以添加新的reason, 也可以对于每一个reason的流转进行限制, 像下面这样:
1) Status Reason可以添加,删除,排序等
2) 可以使用下图中的"Edit Status Reason Transitions"按钮对每一个status reason的下一步可选的reason选项进行限制, 这个我会在下一篇博客里详细的说明:
通常情况下, 我们创建的自定义实体的status都只有两个状态, Active和Inactive.
并且它所对应的Status Reason也都是每一个Status有一个相同的值, 比如说Status是Active, 那么对应的Status Reason也是Active, 后来自定义的那种除外.
下面这个表格是这两个字段不同状态在数据库中的值:
statuscode(Status Reason) | 1 - Active 2 - Inactive |
statecode(Status) | 0 - Active 1 - Inactive |
下面是将一条记录变成active或者inactive的C#代码,仅供参考:
// enable a record
public static void EnableUser(IOrganizationService service, string entityName, Guid recordID)
{
UpdateState(entityName, recordID, 0, -1, service);
}
// disable a record
public static void DisableUser(IOrganizationService service, string entityName, Guid recordID)
{
UpdateState(entityName, recordID, 1, -1, service);
}
private static void UpdateState(string enName, Guid id, int state, int status, IOrganizationService service)
{
SetStateRequest setState = new SetStateRequest()
{
EntityMoniker = new EntityReference()
{
Id = id,
LogicalName = enName
},
State = new OptionSetValue(state),
Status = new OptionSetValue(status)
};
service.Execute(setState);
}
上面代码中status的值如果为-1, 则将会使用默认值
参考链接:
边栏推荐
- Azure Service Bus与Dynamics 365 Service Endpoint的之间的应用
- HashSet of set
- 253会议室 II
- Dynamics CRM: 如何设置Form的顺序
- 软件推荐-办公软件
- 【写实体类中,为何int要用Integer类型而不用int的原因】
- The first wechat applet initialization process, applet wechat development platform download, how to register a wechat applet account
- tsconfig. JSON cannot find any input in the configuration file. What should I do?
- TCL的折叠屏故事,资本市场会看好吗?
- 快速查看服务器中 Redis 的版本
猜你喜欢
Piecemeal knowledge - SQL related
自定义view之----自定义button
Desai wisdom number - other charts (Sangji chart): summer vacation consumption
Keras深度学习实战(15)——从零开始实现YOLO目标检测
真人踩过的坑,告诉你避免自动化测试新手常犯的10个错误
Keras deep learning practice (10) -- transfer learning
Let me show you eight fallacies in software design
Pycharm reads jy-901s data
Keras深度学习实战(12)——面部特征点检测
Dynamics 365: 如何在Azure AD中創建用戶並添加到Dynamics 365 Online中
随机推荐
Use the C console program to read the messages in the azure service bus queue
'resultMap' must match '(constructor?,id*,result*,association*,collect 问题解决
Keras深度学习实战——基于VGG19模型实现性别分类
MYSQL8 遇到的服务启动后停止的问题
架构师成长:当谈到架构,究竟是谈什么
Dynamics 365: usage of access team templates
[a simple and clean log4j.properties complete configuration]
8.026 billion yuan! The state Internet Information Office imposed administrative penalties related to network security review on didi in accordance with the law
【log4j.properties配置完整版】
手机对比redmi note8与realme x2
G026-DB-GS-INS-03 OpenEuler 部署 OpenGauss(1主2备或多备)
pg_wal目录下面的文件能恢复数据库吗?
Keras深度学习实战(15)——从零开始实现YOLO目标检测
Vim Ctags
Dynamics 365: 如何解除实体只能创建2个Access Team Templates的限制
Redis的安装与使用【Linux和Windows环境】步骤
软件推荐-机械专业
真人踩过的坑,告诉你避免自动化测试新手常犯的10个错误
知觉的定义
pg_ Can the files under the wal directory recover the database?