Microsoft Dynamics CRM 2013 introduces Business Process Flows (BPF) which provide a way to guide users through a process that must be followed. The BPF shows fields that are relevant to the process toward the top of the form in a series of stages. Fields can be shown from just the entity or multiple entities.
BPFs are created in the process editor (Settings | Processes) or within a record.
Multiple BPFs per entity
You can define more than BPF for an entity and allow users to choose the appropriate BPF for a specific record. You can associate a BPF with specific security roles so that only users who have the security role can select a BPF.
If more than BPF matches a user’s security roles then the Process Flow Order is used to determine which BPF to apply.
This is similar to using security roles with Forms.
If a user does not have permission to the BPF that is applied to a record then the user will not see the BPF part of the form.
One BPF per record
The BPF that applies (if any) to a record is stored in the record with the current stage (processid and stageid). Only one BPF applies to a record at a time.
If multiple BPFs are defined for an entity, users can switch to a another BPF (that matches the users’s roles). If a different BPF is selected, the current stage is set to the first stage of the BPF.
BPFs are stored in the same table as workflows with a category of 4.
The stage names for BPFs are stored in the ProcessStageBase table and be queried using the FilteredProcessStage view.