Een aangepaste actie makenCreate a custom action

Gebruik aangepaste acties als u een reeks opdrachten in het systeem wilt automatiseren.Use custom actions when you want to automate a series of commands in the system. Acties vormen een uitbreiding op het vocabulaire dat beschikbaar is voor ontwikkelaars om bedrijfsprocessen uit te drukken.Actions expand the vocabulary available for developers to express business processes. De belangrijkste bewerkingen zoals Maken, Bijwerken, Verwijderen en Toewijzen die door het systeem worden opgegeven, worden gebruikt voor het maken van meer expressieve bewerkingen, zoals Goedkeuren, Escaleren, Routeren of Plannen.With core verbs like Create, Update, Delete, and Assign provided by the system, a Action uses those core verbs to create more expressive verbs like Approve, Escalate, Route, or Schedule. Als de definitie van een bedrijfsproces wordt gewijzigd, kan iemand die geen ontwikkelaar is de aangepaste actie bewerken zodat de code niet hoeft te worden gewijzigd.If the definition of a business process changes, someone who isn’t a developer can edit the custom action so the code doesn’t need to be changed.

Een actie makenCreate an action

Belangrijk

Als u een actie maakt die deel gaat uitmaken van een oplossing die wordt gedistribueerd, moet u de actie in de context van de oplossing maken.If you’re creating an action to include as part of a solution that will be distributed, create it in the context of the solution. Ga naar Instellingen > Oplossingen en zoek de onbeheerde oplossing waarvan deze actie deel gaat uitmaken.Go to Settings > Solutions and locate the unmanaged solution that this action will be part of. Selecteer vervolgens Nieuw > Verwerken op de menubalk.Then, in the menu bar, select New > Process. Dit zorgt ervoor dat het aanpassingsvoorvoegsel dat is gekoppeld aan de naam van de actie, consistent is met andere onderdelen in de oplossing.This ensures that the customization prefix associated with the name of the action will be consistent with other components in the solution. Nadat u de actie hebt gemaakt, kunt u het voorvoegsel niet meer wijzigen.After you create the action, you can’t change the prefix.

Acties hebben, net als werkstroomprocessen, de volgende eigenschappen in het dialoogvenster Proces maken.Like workflow processes, actions have the following properties in the Create Process dialog box.

ProcesnaamProcess name
Nadat u een naam voor het proces hebt ingevoerd, wordt hiervoor een unieke naam gemaakt door eventuele spaties of speciale tekens uit de procesnaam te verwijderen.After you enter a name for the process, a unique name will be created for it by removing any spaces or special characters from the process name.

CategorieCategory
Deze eigenschap bepaalt dat dit een actieproces is.This property establishes that this is an action process. U kunt dit niet meer wijzigen nadat u het proces hebt opgeslagen.You can’t change this after you save the process.

EntiteitEntity
Met actieprocessen kunt u een entiteit selecteren die context biedt voor de werkstroom, net als andere typen processen, maar hebt u ook de mogelijkheid om Geen (algemeen) te kiezen.With actions processes, you can select an entity to provide context for the workflow just like other types of processes, but you also have the option to choose None (global). Gebruik deze optie als voor uw actie niet de context van een bepaalde entiteit vereist is.Use this if your action doesn’t require the context of a specific entity. U kunt dit niet meer wijzigen nadat u het proces hebt opgeslagen.You can’t change this after you save the process.

TypeType
Gebruik deze eigenschap om te kiezen of u een volledig nieuwe actie wilt maken of u vanuit een bestaande sjabloon wilt starten.Use this property to choose whether to build a new action from scratch or to start from an existing template.

In tegenstelling tot werkstroomprocessen hoeft u de volgende opties niet in te stellen:Unlike workflow processes, you don’t need to set the following options:

  • Starten wanneer: Acties starten wanneer code het bericht aanroept dat voor de acties is gegenereerd.Start When: Actions start when code calls the message generated for them.

  • Bereik: Acties worden altijd uitgevoerd in de context van de aanroepende gebruiker.Scope: Actions always run in the context of the calling user.

  • Op de achtergrond uitvoeren: Acties zijn altijd realtime-werkstromen.Run in the background: Actions are always real-time workflows.

Acties hebben ook iets dat werkstroomprocessen niet hebben: invoer- en uitvoerargumenten.Actions also have something that workflow processes don’t – input and output arguments.

Notitie

U kunt een aangepaste actie inschakelen vanuit een werkstroom zonder code te schrijven.You can enable a custom action from a workflow without writing code. Meer informatie: Aangepaste acties op basis van een werkstroom aanroepen.More information: Invoke custom actions from a workflow.

Een actie bewerkenEdit an action

U moet processen deactiveren voordat u ze kunt bewerken.You must deactivate processes before you can edit them.

U kunt een actie bewerken die is gemaakt als onderdeel van een niet-beheerde oplossing of die in een oplossing is opgenomen die is geïnstalleerd in uw organisatie.You can edit an action that was created as part of an unmanaged solution or included in a solution installed in your organization. Als de oplossing een beheerde oplossing is, is het misschien niet mogelijk om deze te bewerken.If the solution is a managed solution, you might not be able to edit it. De oplossingsuitgever heeft de mogelijkheid de beheerde eigenschappen te bewerken, zodat de actie die is geïnstalleerd met een beheerde oplossing niet kan worden bewerkt.The solution publisher has the option to edit the managed properties so that the action installed with a managed solution can’t be edited.

Wanneer een actie wordt opgeslagen, wordt er een unieke naam gegenereerd op basis van de procesnaam.When an action is saved, a unique name is generated based on the process name. Deze unieke naam bevat het aanpassingsvoorvoegsel dat door de oplossingsuitgever is toegevoegd.This unique name has the customization prefix added from the solution publisher. Dit is de naam van het bericht dat door een ontwikkelaar in code wordt gebruikt.This is the name of the message that a developer will use in their code.

Tijdens het bewerken van een actie hebt u de volgende opties:When editing an action you have the following options:

ProcesnaamProcess Name
Nadat het proces is gemaakt en de unieke naam is gegenereerd van de procesnaam, kunt u de procesnaam bewerken.After the process is created and the unique name is generated from the process name, you can edit the process name. Het is raadzaam om een naamconventie toe te passen om het zoeken naar specifieke processen eenvoudiger te maken.You might want to apply a naming convention to make it easier to locate specific processes.

Unieke naamUnique Name
Wanneer een actie wordt opgeslagen, wordt er een unieke naam gegenereerd op basis van de procesnaam.When an action is saved, a unique name is generated based on the process name. Deze unieke naam bevat het aanpassingsvoorvoegsel dat door de oplossingsuitgever is toegevoegd.This unique name has the customization prefix from the solution publisher added. Dit is de naam van het bericht dat door een ontwikkelaar in code wordt gebruikt.This is the name of the message that a developer will use in their code. Wijzig deze unieke naam niet als het proces is geactiveerd en er code is die verwacht dat de actie met deze naam wordt aangeroepen.Don’t change this unique name if the process has been activated and code is in place expecting to call the action using this name.

Belangrijk

Nadat de actie is geactiveerd en code is geschreven voor het gebruiken van een unieke naam, mag de unieke naam niet meer worden gewijzigd zonder ook de code te wijzigen die ernaar verwijst.After the action is activated and code is written to use a unique name, the unique name must not be changed without also changing the code that references it.

Terugdraaien inschakelenEnable rollback
Over het algemeen zullen processen die transacties ondersteunen de gehele bewerking ‘ongedaan maken' (of terugdraaien) als een deel hiervan mislukt.Generally, processes that support transactions will “undo” (or roll back) the entire operation if any part of them fails. Hierop zijn enkele uitzonderingen.There are some exceptions to this. Sommige acties die ontwikkelaars in code plaatsen die door een actie wordt gestart, bieden mogelijk geen ondersteuning voor transacties.Some actions developers might do in code initiated by the action might not support transactions. Dit is bijvoorbeeld het geval als de code acties uitvoert in andere systemen die buiten het bereik van de transactie vallen.For example, if the code perform actions in other systems that are beyond the scope of the transaction. Deze acties kunnen niet worden teruggedraaid door de actie die in een app wordt uitgevoerd.Those can’t be rolled back by the action running in an app. Bepaalde berichten op het platform bieden geen ondersteuning voor transacties.Some messages in the platform don’t support transactions. Maar alles wat u kunt doen via de gebruikersinterface van de actie, is geschikt voor gebruik met transacties.But everything you can do just with the user interface of the action will support transactions. Alle acties die deel uitmaken van een realtime-werkstroom, worden als in transactie beschouwd, maar met acties hebt u de mogelijkheid om dit uit te schakelen.All the actions that are part of a real-time workflow are considered in transaction, but with actions you have the option to opt out of this.

Neem contact op met de ontwikkelaar die dit bericht gaat gebruiken om te bepalen of dit wel of niet in transactie moet zijn.You should consult with the developer who will use this message to determine whether it must be in transaction or not. Over het algemeen dient een actie in transactie te zijn als de acties die worden uitgevoerd door het bedrijfsproces niet zinvol zijn, tenzij deze allemaal met succes zijn voltooid.Generally, an action should be in transaction if the actions performed by the business process don’t make sense unless all of them are completed successfully. Het klassieke voorbeeld is het overbrengen van fondsen van de ene naar de andere bankrekening.The classic example is transferring funds between two bank accounts. Als u fondsen van de ene rekening haalt, moet u deze op de andere storten.If you withdraw funds from one account you must deposit them in the other. Als een van beide niet lukt, moeten beide geen doorgang vinden.If either fails, both must fail.

Notitie

U kunt terugdraaien niet inschakelen als een aangepaste actie rechtstreeks vanuit de werkstroom wordt aangeroepen.You can’t enable rollback if a custom action is invoked directly from within a workflow. U kunt terugdraaien inschakelen als een actie wordt geactiveerd door een bericht van PowerApps-webservices.You can enable rollback if an action is triggered by a PowerApps web services message.

Activeren alsActivate As
U kunt het proces, net als alle processen, als sjabloon activeren en gebruiken als een geavanceerd beginpunt voor processen die een vergelijkbaar patroon volgen.Like all processes, you can activate the process as a template and use it as an advanced starting point for processes that follow a similar pattern.

Procesargumenten definiërenDefine Process Arguments
In dit gebied moet u gegevens opgeven die de actie verwacht te starten en welke gegevens zullen worden doorgegeven vanuit de actie.In this area, you’ll specify any data that the action expects to start and what data will be passed out of the action. Meer informatie: Procesargumenten definiërenMore information: Define process arguments

Fasen en stappen toevoegenAdd Stages and steps
Net als bij andere processen geeft u op welke acties moeten worden uitgevoerd en wanneer dit moet gebeuren.Like other processes, you specify what actions to perform and when to perform them. Meer informatie: Fasen en stappen toevoegenMore information: Add stages and steps

Procesargumenten definiërenDefine process arguments

Als een ontwikkelaar een bericht gebruikt, kan er worden begonnen met enkele gegevens die aan het bericht kunnen worden doorgegeven.When a developer uses a message, they may begin with some data that they can pass into the message. Voor het maken van een nieuwe caserecord kan er bijvoorbeeld sprake zijn van een casetitelwaarde die als invoerargument wordt ingegeven.For example, to create a new case record, there might be the case title value that is passed in as a the input argument.

Wanneer het bericht is voltooid, moet de ontwikkelaar wellicht bepaalde gegevens die zijn gewijzigd of die door het bericht zijn gegenereerd aan een andere bewerking in de code doorgeven.When the message is finished, the developer may need to pass some data that was changed or generated by the message to another operation in their code. Deze gegevens zijn het uitvoerargument.This data is the output argument.

Zowel het invoer- als het uitvoerargument moet de beschikking hebben over een naam, een type en de informatie of het argument altijd vereist is.Both input and output arguments must have a name, a type, and some information about whether the argument is always required. U kunt ook een beschrijving opgeven.You can also provide a description.

De naam van het bericht en de informatie over alle procesargumenten vormen de ‘handtekening’ van het bericht.The name of the message and the information about all the process arguments represent the “signature” for the message. Nadat een actie is geactiveerd en in code wordt gebruikt, mag u de handtekening niet meer wijzigen.After an action is activated and is being used in code, the signature must not change. Als deze handtekening wordt gewijzigd, mislukt code die gebruikmaakt van het bericht.If this signature changes, any code that uses the message will fail. De enige uitzondering hierop kan zijn wanneer u een van de parameters wijzigt, zodat het argument niet altijd nodig is.The only exception to this may be changing one of the parameters so that it is not always required.

U kunt de volgorde van de argumenten wijzigen door deze te sorteren of ze omhoog of omlaag te verplaatsen, omdat de argumenten worden geïdentificeerd op basis van de naam, niet de volgorde.You can change the order of the arguments by sorting them or moving them up or down because the arguments are identified by name, not by the order. Door wijzigingen in de beschrijving zal eveneens geen code worden verbroken die van het bericht gebruikmaakt.Also, changing the description won’t break code using the message.

Typen procesargumenten voor actiesAction process argument types

In de volgende tabel zijn de typen procesargumenten voor acties beschreven.The following table describes the action process argument types.

TypeType BeschrijvingDescription
BooleaansBoolean Een waarde true of false.A true or false value.
DateTimeDateTime Een waarde waarmee datum- en tijdgegevens worden opgeslagen.A value that stores date and time information.
DecimalDecimal Een numerieke waarde met decimale precisie.A number value with decimal precision. Dit type wordt gebruikt wanneer precisie erg belangrijk is.Used when precision is extremely important.
EntityEntity Een record voor de opgegeven entiteit.A record for the specified entity. Wanneer u dit type selecteert, wordt de vervolgkeuzelijst ingeschakeld waarin u het type entiteit kunt selecteren.When you select Entity, the drop-down is enabled and allows you to select the entity type.
EntityCollectionEntityCollection Een verzameling entiteitsrecords.A collection of entity records.
EntityReferenceEntityReference Een object met de naam, de id en het type entiteitsrecord dat een unieke identificatie vormt.An object that contains the name, ID, and type of an entity record that uniquely identifies it. Wanneer u EntityReference selecteert, wordt de vervolgkeuzelijst ingeschakeld waarin u het type entiteit kunt selecteren.When you select EntityReference, the drop-down is enabled and allows you to select the entity type.
FloatFloat Een numerieke waarde met decimale precisie.A number value with decimal precision. Dit type wordt gebruikt wanneer gegevens afkomstig zijn van een meting die niet helemaal nauwkeurig is.Used when data comes from a measurement that isn’t absolutely precise.
IntegerInteger Een geheel getal.A whole number.
MoneyMoney Een waarde waarin gegevens over een geldbedrag worden opgeslagen.A value that stores data about an amount of money.
PicklistPicklist Een waarde die een optie voor een OptionSet-kenmerk vertegenwoordigt.A value that represents an option for an OptionSet attribute.
StringString Een tekstwaarde.A text value.

Notitie

Waarden voor EntityCollection kunnen niet worden ingesteld in de gebruikersinterface voor voorwaarden of acties.EntityCollection argument values can’t be set in the user interface for conditions or actions. Deze worden door ontwikkelaars in aangepaste code voor gebruik beschikbaar gesteld.These are provided for use by developers in custom code. Meer informatie: Uw eigen acties makenMore information: Create your own actions

Fasen en stappen toevoegenAdd stages and steps

Acties zijn een type proces dat erg vergelijkbaar is met realtime-werkstromen.Actions are a type of process very similar to real-time workflows. Alle stappen die kunnen worden gebruikt in realtime-werkstromen kunnen worden gebruikt in acties.All the steps that can be used in real-time workflows can be used in actions. Zie Fasen en stappen voor werkstromen voor meer informatie over de stappen die kunnen worden gebruikt voor zowel realtime-werkstromen als acties.For information about the steps that can be used for both real-time workflows and actions, see Workflow stages and steps.

Naast de stappen die kunnen worden gebruikt voor realtime werkstromen, kunnen acties ook de stap Waarde toewijzen hebben.In addition to the steps that can be used for real-time workflows, actions also have the Assign Value step. In acties kunnen deze alleen worden gebruikt om uitvoerargumenten in te stellen.In actions, these can be used only to set output arguments. U kunt de Formulierenassistent gebruiken om uitvoerargumenten in te stellen op specifieke waarden of, wat waarschijnlijker is, op waarden uit de record waarop de actie wordt uitgevoerd, records gerelateerd aan die record met een veel-op-een-relatie, records die in een eerdere stap zijn gemaakt of waarden die deel uitmaken van het proces zelf.You can use the form assistant to set output arguments to specific values or, more likely, to values from the record that the action is running against, records related to that record with a many-to-one relationship, records created in an earlier step, or values that are part of the process itself.

Volgende stappenNext steps

Aangepaste acties vanuit een werkstroom aanroepenInvoke custom actions from a workflow