CRM 2013 中业务流程的
在CRM 2013 中有一个新功能就业务流程,它可以引导用户在既定好的业务规则下操作表单,实现业务之前的衔接。并且让衔接可以视化,能清楚定位到当前的流程在那个节点。我们在配置视图的时候可以将流程阶段放到视图列中来筛选数据。
但是这个业务流程有不允许在工作流中自定义,如使CRM的工作流无法改变记录流程阶段的名称。此时可能要去编程来实现自动化,编程可以选择插件或者直接修改数据库。为了更好理解流程我们看看在数据库中的结构
BusinessProcessFlowInstanceBase,代表流程的实例,它在SDK中介绍是一个实体最多可以跨5个实体也是因为表结构中定义了最多可以有五个实体ID。每个实体记录只能对就一个流程实例是通过EntityID 来实现 的。
每个流程的定义则是通过下面的表定义的,ProcessStageBase定义流程的基本结构,阶段类别,阶段名称。通过下面的阶段查询
SELECT process_processstage.OwningBusinessUnit, process_processstage.OwnerId, process_processstage.Name AS ProcessIdName, process_processstage.OwnerIdType, dbo.ProcessStageBase.PrimaryEntityTypeCode, dbo.ProcessStageBase.ProcessId, dbo.ProcessStageBase.ProcessStageId, dbo.ProcessStageBase.StageCategory, dbo.ProcessStageBase.StageName, dbo.ProcessStageBase.VersionNumber FROM dbo.ProcessStageBase LEFT OUTER JOIN dbo.WorkflowBase AS process_processstage ON dbo.ProcessStageBase.ProcessId = process_processstage.WorkflowId AND process_processstage.OverwriteTime = 0 AND process_processstage.ComponentState = 0
在实体记录上只要启用业务流程都会自动创建字段既定 ProcessID,StageID 就是为了和BusinessProcessFlowInstanceBase 中的ProcessStageId、ProcessId
知道上面的数据结构后我们就可以灵活的来改变实体的阶段名称了,只要修改对应的StageID 的值就可以了。
BusinessProcessFlowInstanceBase
posted on 2015-10-09 10:43 HelloHongfu 阅读(947) 评论(1) 编辑 收藏 举报