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  阅读(944)  评论(1编辑  收藏  举报

导航