Werkstroomfasen en -stappen configurerenConfigure workflow stages and steps

Bij het ontwerpen van werkstromen hebt u de mogelijkheid om de logica op te nemen die u wilt uitvoeren in fasen en stappen.When you design workflows you have the option to contain the logic you want to perform in stages and steps.

FasenStages
Fasen maken de logica van een werkstroom gemakkelijker te lezen en beschrijven de werkstroomlogica.Stages make the workflow logic easier to read, and explain the workflow logic. Fasen hebben echter geen invloed op de logica of het gedrag van werkstromen.However, stages do not affect the logic or behavior of workflows. Als een proces bestaat uit fasen, moeten alle stappen in het proces zijn opgenomen in een fase.If a process has stages, all the steps within the process must be contained with a stage.

StappenSteps
Stappen zijn een eenheid van bedrijfslogica binnen een werkstroom.Steps are a unit of business logic within a workflow. Stappen kunnen bestaan uit voorwaarden, acties, andere stappen of een combinatie van deze elementen.Steps can include conditions, actions, other steps, or a combination of these elements.

Acties die werkstroomprocessen kunnen uitvoerenActions that workflow processes can perform

Werkstroomprocessen kunnen de acties uit de volgende tabel uitvoeren.Workflow processes can perform the actions listed in the following table.

ActieAction BeschrijvingDescription
Record makenCreate Record Hiermee maakt u een nieuwe record voor een entiteit en worden de waarden die u kiest, toegewezen aan kenmerken.Creates a new record for an entity and assigns values you choose to attributes.
Record bijwerkenUpdate Record U kunt de record bijwerken waarop de werkstroom wordt uitgevoerd, een record die aan deze record is gekoppeld in een N:1-relatie of een record die in eerdere stappen is gemaakt.You can update the record that the workflow is running on, any of the records linked to that record in an N:1 relationships, or any records created by earlier steps.
Record toewijzenAssign Record U kunt de record toewijzen waarop de werkstroom wordt uitgevoerd, een record die aan deze record is gekoppeld met een N:1-relatie of een record die in eerdere stappen is gemaakt.You can assign the record that the workflow is running on, any of the records linked to that record with an N:1 relationship, or any records created by earlier steps.
E-mail verzendenSend Email Hiermee verstuurt u een e-mail.Sends an email. U kunt een nieuw e-mailbericht maken of een e-mailsjabloon gebruiken die is geconfigureerd voor de entiteit van de record waarop de werkstroom wordt uitgevoerd, een entiteit met een N:1-relatie met die entiteit of de entiteit voor een record die in eerdere stappen is gemaakt.You can choose to create a new email message or use an email template configured for the entity of the record that the workflow is running on or any entities that have an N:1 relationship with the entity, or the entity for any records created by earlier steps.
Onderliggende werkstroom startenStart Child Workflow Hiermee start u een werkstroomproces dat is geconfigureerd als een onderliggende werkstroom.Starts a workflow process that has been configured as a child workflow.
Status wijzigenChange Status Hiermee wijzigt u de status van de record waarop de werkstroom wordt uitgevoerd, een record die aan deze record is gekoppeld met een N:1-relatie of een record die in eerdere stappen is gemaakt.Changes the status of the record that the process is running on, any of the records linked to that record with an N:1 relationship, or any records created by earlier steps.
Werkstroom stoppenStop Workflow Hiermee stopt u de huidige werkstroom.Stops the current workflow. U kunt de status instellen op Succeeded of Cancelled en een statusbericht opgeven.You can set a status of either Succeeded or Cancelled and specify a status message.

Als er realtime-werkstromen zijn geconfigureerd voor een gebeurtenis en een werkstroom wordt gestopt met de status Canceled, kan de actie van de gebeurtenis niet worden voltooid.When real-time workflows are configured for an event, stopping a workflow with a status of cancelled will prevent the event action from completing. Zie Using real-time workflows (Realtime-werkstromen gebruiken) voor meer informatie.See Using real-time workflows for more information.
Aangepaste stapCustom Step Ontwikkelaars kunnen aangepaste werkstroomstappen maken die acties definiëren.Developers can create custom workflow steps that define actions. Er zijn standaard geen aangepaste stappen beschikbaar.There are no custom steps available by default.

Recordwaarden instellenSetting record values

Wanneer u een record maakt, kunt u waarden instellen voor de record.When you create a record you can set values for the record. Als u een record bijwerkt, kunt u waarden instellen, toevoegen, verhogen, verlagen, vermenigvuldigen of wissen.When you update a record you can set, append, increment, decrement, multiply, or clear values.

Wanneer u Eigenschappen instellen selecteert, wordt er een dialoogvenster geopend met het standaardformulier voor de entiteit.When you select Set Properties, a dialog opens showing you the default form for the entity.

Onderaan het dialoogvenster ziet u een lijst met aanvullende velden die niet aanwezig zijn in het formulier.At the bottom of the dialog you can see a list of additional fields not present in the form.

Voor elk veld kunt u een statische waarde instellen en die wordt dan ingesteld door de werkstroom.For any field, you can set a static value and that will be set by the workflow.

Aan de rechterkant van het dialoogvenster kunt de Formulierassistent gebruiken om dynamische waarden in te stellen of toe te voegen vanuit de context van de huidige record.On the right side of the dialog the Form Assistant gives you the ability to set or append dynamic values from the context of the current record. Dit betreft ook waarden uit verwante records die toegankelijk zijn vanuit de N:1-relaties (veel-op-een) voor de entiteit.This includes values from related records that can be accessed from the N:1 (many-to-one) relationships for the entity.

De beschikbare opties in de Formulierassistent zijn afhankelijk van het veld dat u hebt geselecteerd in het formulier.The options available in the Form Assistant depend on the field you have selected in the form. Wanneer u een dynamische waarde instelt, ziet u een gele tijdelijke aanduiding die aangeeft waar de dynamische gegevens worden weergegeven.When you set a dynamic value, you will see a yellow placeholder known as a ‘slug’ that shows where the dynamic data will be included. Als u de waarde wilt verwijderen, selecteert u de tijdelijke aanduiding en verwijdert u deze.If you want to remove the value, just select the slug and delete it. Voor tekstvelden kunt u een combinatie van statische en dynamische gegevens gebruiken.For text fields, you can use a combination of static and dynamic data.

Met dynamische waarden weet u nooit zeker of een veld of gerelateerde entiteit de waarde bevat die u wilt instellen.With dynamic values you don’t know for certain that a field or related entity has the value you want to set. U kunt zelfs een aantal velden instellen om de waarde uit te proberen en deze velden sorteren met behulp van de groene pijlen.You can actually set a number of fields to try and set the value and sort them in order using the green arrows. Als het eerste veld geen gegevens bevat, wordt het tweede veld geprobeerd, enzovoort.If the first field doesn’t have data, the second field will be tried and so on. Als geen van de velden gegevens bevat, kunt u opgeven dat er een standaardwaarde moet worden gebruikt.If none of the fields have data, you can specify a default value to be used.

Voorwaarden instellen voor werkstroomactiesSetting conditions for workflow actions

De acties die u wilt toepassen, zijn vaak afhankelijk van voorwaarden.The actions that you will apply often depend on conditions. Werkstroomprocessen bieden verschillende manieren om voorwaarden in te stellen en vertakkingslogica te maken voor het ophalen van de gewenste resultaten.Workflow processes provide several ways to set conditions and create branching logic to get the results you want. U kunt waarden controleren van de record waarop het werkstroomproces wordt uitgevoerd, van een record die aan deze record is gekoppeld met een N:1-relatie of waarden binnen het proces zelf.You can check values of the record that the workflow process is running against, any of the records linked to that record with an N:1 relationship, or values within the process itself

Type voorwaardeCondition Type BeschrijvingDescription
Voorwaarde controlerenCheck Condition Een logische 'if-<voorwaarde>then'-instructie.A logical "if-<condition> then" statement.

U kunt de huidige waarden controleren van de record waarop de werkstroom wordt uitgevoerd, van een record die aan deze record is gekoppeld in een N:1-relatie of van een record die in eerdere stappen is gemaakt.You can check the current values for the record that the workflow is running on, any of the records linked to that record in an N:1 relationships, or any records created by earlier steps. Op basis van deze waarden kunt u extra stappen definiëren wanneer aan de voorwaarde wordt voldaan.Based on these values you can define additional steps when the condition is true.

In de 'if-<condition> then'-opdracht kunt u de volgende operators gebruiken: Equals, Does Not Equal, Contains Data, Does Not Contain Data, Under en Not Under.In the "if-<condition> then" statement, you can use the following operators: Equals, Does Not Equal, Contains Data, Does Not Contain Data, Under and Not Under. Opmerking: Under en Not Under zijn hiërarchische operatoren.Note: The Under and Not Under are hierarchical operators. Deze kunnen alleen worden gebruikt op de entiteiten waarvoor een hiërarchische relatie is gedefinieerd.They can only be used on the entities that have a hierarchical relationship defined. Als u deze operators probeert te gebruiken op de entiteiten waarvoor geen hiërarchische relatie is gedefinieerd, ziet u het volgende foutbericht: 'U gebruikt een hiërarchische operator op een entiteit waarvoor geen hiërarchische relatie is gedefinieerd.If you’re trying to use these operators on the entities that don’t have the hierarchical relationship defined, you’ll see the error message: “You’re using a hierarchical operator on an entity that doesn’t have a hierarchical relationship defined. U wordt geadviseerd om de entiteit hiërarchisch te maken (door een relatie als hiërarchisch te markeren) of een andere operator te gebruiken. Zie Hiërarchische gegevens definiëren en opvragen voor meer informatie over hiërarchische relaties.Either make the entity hierarchical (by marking a relationship as hierarchical) or use a different operator.”For more information about hierarchical relationships, see Define and query hierarchically related data. In een schermafbeelding onder de tabel ziet u een voorbeeld van de definitie van het werkstroomproces waarin de operatoren Under en Not Under worden gebruikt.A screenshot that follows the table is an example of the definition of the workflow process that uses the Under and Not Under hierarchical operators.
Voorwaardelijke brancheConditional Branch Een logische 'else-if-then'-instructie; in de editor wordt de tekst 'Otherwise, if <condition> then:' gebruikt.A logical "else-if-then" statement, the editor uses the text “Otherwise, if <condition> then:”

Selecteer een controlevoorwaarde die u eerder hebt gedefinieerd en u kunt een voorwaardelijke vertakking toevoegen voor het definiëren van extra stappen wanneer de controlevoorwaarde onwaar is.Select a check condition you have previously defined and you can add a conditional branch to define additional steps when the check condition returns false.
StandaardactieDefault Action Een logische 'else'-instructie.A logical "else" statement. In de editor wordt de tekst 'Otherwise:' gebruikt.the editor uses the text “Otherwise:”

Selecteer een controlevoorwaarde, voorwaardelijke vertakking, een wachtvoorwaarde of een parallelle wachtvertakking die u eerder hebt gedefinieerd en u kunt een standaardactie gebruiken voor het definiëren van stappen voor alle gevallen die niet voldoen aan de criteria die zijn gedefinieerd in voorwaarde- of vertakkingselementen.Select a check condition, conditional branch, wait condition, or parallel wait branch that you have previously defined and you can use a default action to define steps for all cases that do not match the criteria defined in condition or branch elements.
WachtvoorwaardeWait Condition Hiermee kunt u een achtergrondwerkstroom zichzelf laten onderbreken totdat is voldaan aan de criteria die zijn gedefinieerd door de voorwaarde.Enables a background workflow to pause itself until the criteria defined by the condition have been met. De werkstroom wordt verder uitgevoerd zodra aan de criteria in de wachtvoorwaarde is voldaan.The workflow starts again automatically when the criteria in the wait condition have been met.

U kunt geen wachtvoorwaarden gebruiken in realtime-werkstromen.Real-time workflows cannot use wait conditions.
Parallelle wachtbrancheParallel Wait Branch Hiermee definieert u een alternatieve wachtvoorwaarde voor een achtergrondwerkstroom met een bijbehorende set extra stappen die alleen worden uitgevoerd als aan het eerste criterium wordt voldaan.Defines an alternative wait condition for a background workflow with a corresponding set of additional steps that are performed only when the initial criterion is met. U kunt parallelle wachtvertakkingen gebruiken om tijdslimieten in te bouwen in uw werkstroomlogica.You can use parallel wait branches to create time limits in your workflow logic. U voorkomt zo dat de werkstroom oneindig lang blijft wachten totdat is voldaan aan de criteria die zijn gedefinieerd in een wachtvoorwaarde.They help prevent the workflow from waiting indefinitely until the criteria defined in a wait condition have been met.
Aangepaste stapCustom Step Ontwikkelaars kunnen aangepaste werkstroomstappen maken die voorwaarden definiëren.Developers can create custom workflow steps that define conditions. Er zijn standaard geen aangepaste stappen beschikbaar.There are no custom steps available by default.

In de volgende schermafbeelding ziet u een voorbeeld van de definitie van het werkstroomproces waarin de hiërarchische operatoren Under en Not Under worden gebruikt.The following screenshot contains an example of the workflow process definition with the Under and Not Under hierarchical operators. In ons voorbeeld passen we twee verschillende kortingen toe op twee groepen accounts.In our example, we apply two different discounts to two groups of accounts. Bij Stap toevoegen hebben we Voorwaarde controleren geselecteerd om de if-then-voorwaarde met de operator Under of Not Under op te geven.In Add Step, we selected the Check Condition to specify the if-then condition containing the Under or Not Under operators. De eerste if-then-voorwaarde is van toepassing op alle accounts die zich onder (Under) het account Alpine Ski House bevinden.The first if-then condition applies to all accounts that are Under the Alpine Ski House account. Deze accounts krijgen een korting van 10% op gekochte goederen en diensten.These accounts receive a 10% discount on purchased good and services. De tweede if-then-voorwaarde is van toepassing op alle accounts die zich niet onder (Not Under) het account Alpine Ski House bevinden en deze krijgen een korting van 5%.The second if-then condition applies to all accounts that are Not Under the Alpine Ski House account and they receive a 5% discount. Vervolgens hebben we Record bijwerken geselecteerd om de actie te definiëren die op basis van de voorwaarde moet worden uitgevoerd.Then, we selected Update Record to define the action to be performed based on the condition.

Werkstroomproces met de operatoren Under/Not UnderWorkflow process with Under/Not Under operators

Realtime-werkstromen gebruikenUsing real-time workflows

U kunt realtime-werkstromen configureren, maar u moet hierbij wel zorgvuldig te werk gaan.You can configure real-time workflows but you should use them with care. Over het algemeen worden achtergrondwerkstromen aanbevolen omdat deze als resources kunnen worden toegepast op de server indien beschikbaar.Background workflows are generally recommended because they allow the system to apply them as resources on the server are available. Dit helpt om het werk van de server te verdelen en zo de beste prestaties te handhaven voor iedereen die het systeem gebruikt.This helps smooth out the work the server has to do and help maintain the best performance for everyone using the system. Het nadeel is dat acties die zijn gedefinieerd in achtergrondwerkstromen niet direct worden uitgevoerd.The drawback is that actions defined by background workflows are not immediate. U kunt niet voorspellen wanneer ze worden toegepast, maar meestal duurt dit een paar minuten.You can’t predict when they will be applied, but generally it will take a few minutes. Bij de automatisering van bedrijfsprocessen is dit meestal geen probleem omdat gebruikers van het systeem niet hoeven te weten wanneer het proces precies wordt uitgevoerd.For most automation of business processes this is fine because people using the system don’t need to be consciously aware that the process is running.

Gebruik realtime-werkstromen wanneer een bedrijfsproces vereist dat iemand direct de resultaten van het proces kan controleren of als u de mogelijkheid wilt hebben om een bewerking te annuleren.Use real-time workflows when a business process requires someone to immediately see the results of the process or if you want the ability to cancel an operation. Dit is bijvoorbeeld handig als u bepaalde standaardwaarden wilt instellen voor een record wanneer deze de eerste keer wordt opgeslagen of als u er zeker van wilt zijn dat bepaalde records niet worden verwijderd.For example, you may want to set certain default values for a record the first time it’s saved, or you want to make sure that some records are not deleted.

Realtime-werkstromen converteren naar achtergrondwerkstromen en omgekeerdConverting between real-time and background workflows

U kunt een realtime-werkstroom wijzigen in een achtergrondwerkstroom door Converteren naar een achtergrondwerkstroom te kiezen op de werkbalk.You can change a real-time workflow into a background workflow by choosing Convert to a background workflow on the toolbar.

U kunt een achtergrondwerkstroom weer wijzigen in een realtime-werkstroom door Converteren naar een realtime-werkstroom te kiezen op de werkbalk.You can change a background workflow into a real-time workflow by choosing Convert to a real-time workflow on the toolbar. Als in de achtergrondwerkstroom een wachtvoorwaarde wordt gebruikt, wordt de werkstroom ongeldig en kunt u deze pas weer activeren nadat u de wachtvoorwaarde hebt verwijderd.If the background workflow uses a wait conditions it will become invalid and you won’t be able to activate it until you remove the wait condition.

Realtime-werkstromen starten voor of na statuswijzigingenInitiating real-time workflows before or after status changes

Wanneer u bij Opties voor automatische processen opties configureert voor realtime-werkstromen, kunt u bij Starten wanneer de optie Na of Voor selecteren voor de gebeurtenis Statuswijzigingen.When you configure Options for Automatic Processes for real-time workflows, the Start When options for the status changes event let you select After or Before for when status changes. De standaardoptie is Na.The default option is After.

Wanneer u Voor selecteert, geeft u aan dat de logica in de werkstroom moet worden toegepast voordat gegevens worden opgeslagen die de status veranderen.When you select Before you are saying that you want the logic in the workflow to be applied before data changing the status is saved. Dit biedt u de mogelijkheid om de waarden te controleren voordat andere logica wordt toegepast na de bewerking en te voorkomen dat verdere logica wordt uitgevoerd.This provides you with the ability to check the values before other logic has been applied after the operation and prevent further logic from being performed. Stel dat u aanvullende logica hebt in een invoegtoepassing of aangepaste werkstroomactie die acties op een ander systeem kan starten.For example, you may have additional logic in a plug-in or custom workflow action which could initiate actions on another system. Door verdere verwerking te stoppen, kunt u situaties voorkomen waarin externe systemen worden beïnvloed.By stopping further processing you can avoid cases where external systems are affected. Het toepassen van realtime werkstromen voor deze gebeurtenis betekent ook dat andere acties van een werkstroom of invoegtoepassing die mogelijk gegevens hebben opgeslagen, niet hoeven te worden 'teruggedraaid' wanneer de bewerking wordt geannuleerd.Applying real-time workflows before this event also means that other workflow or plug-in actions that may have saved data don’t need to be “rolled back” when the operation is canceled.

De actie 'Werkstroom stoppen' gebruiken met realtime-werkstromenUsing the Stop Workflow action with real-time workflows

Wanneer u een actie Werkstroom stoppen toepast in een werkstroom, hebt u de mogelijkheid om een statusvoorwaarde op te geven die Succeeded of Canceled kan zijn.When you apply a Stop Workflow action in a workflow you have the option to specify a status condition that can be either Succeeded or Canceled. Als u de status instelt op Canceled, voorkomt u de bewerking.When you set the status to canceled, you prevent the operation. Er wordt dan een foutbericht weergegeven aan de gebruiker met de kop Fout in bedrijfsproces.An error message containing the text from the stop action status message will be displayed to the user with the heading Business Process Error.

Volgende stappenNext steps

Aangepaste bedrijfslogica maken met processen Create custom business logic with processes
Overzicht van werkstroomprocessen Workflow processes overview
Werkstroomprocessen controleren en beheren Monitor and manage workflow processes
Aanbevolen procedures voor werkstroomprocessenBest practices for workflow processes