Scripts schrijven voor bedrijfsprocesstromen
Gepubliceerd: januari 2017
Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Microsoft Dynamics 365 (online en on-premises) biedt een clientobjectmodel dat u kunt gebruiken voor interactie met bedrijfsprocesstromen in uw scripts. De Xrm.Page.data-naamruimte is uitgebreid met methoden onder Xrm.Page.data.process. De Xrm.Page.ui-naamruimte is uitgebreid met methoden onder Xrm.Page.ui.process.
In dit onderwerp
Structuur van bedrijfsprocesstromen
Acties die kunnen worden geautomatiseerd
Gebeurtenissen voor bedrijfsprocesstromen
Structuur van bedrijfsprocesstromen
Bedrijfsprocesstromen bestaan uit een reeks stappen, die elk een aantal stappen bevatten. Slechts één fase is de actieve fase. Als de vereiste stappen in elke fase zijn voltooid, kan het proces naar de volgende fase worden verplaatst, waardoor dit de actieve fase wordt. Welke fase de volgende is kan worden gedefinieerd op basis van voorwaarden in de bedrijfsprocesstroom zoals aangegeven in het volgende diagram.
Fasen kunnen aan specifieke gerelateerde entiteiten worden gekoppeld, zodat een bedrijfsprocesstroom meerdere entiteiten kan omvatten. Het bedrijfsproces blijft hetzelfde en leidt de gebruiker naar een gewenste conclusie.
Vanaf Update voor Dynamics 365 (online en on-premises) - december 2016 kunnen verschillende bedrijfsprocesstroomdefinities aan verschillende rollen worden gekoppeld en kunnen de exemplaren gelijktijdig op dezelfde entiteitsrecord worden uitgevoerd. Gebruikers kunnen schakelen tussen gelijktijdige bedrijfsprocesexemplaren en hun werk hervatten op een actueel stadium in het proces.
Meer informatie:TechNet: Bedrijfsprocesstromen
Acties die kunnen worden geautomatiseerd
Normaliter is het doorlopen van het bedrijfsproces afhankelijk van gebruikersinvoer. Als ontwikkelaar kunt u dezelfde acties softwarematig uitvoeren in formulierscripts.
Wijzig het proces als er meer dan één proces beschikbaar is voor de entiteit.
Gebruik Xrm.Page.data.process.getEnabledProcesses om informatie over ingeschakelde processen op te halen die de gebruiker kan kiezen voor de entiteit. Gebruik vervolgens Xrm.Page.data.process.setActiveProcess om een van de ingeschakelde procesexemplaren actief te maken of een nieuw procesexemplaar te maken.Het procesexemplaar voor een entiteitsrecord wijzigen
Gebruik getProcessInstances om informatie over alle procesexemplaren voor een entiteitsrecord op te halen setActiveProcessInstance om een procesexemplaar in te stellen als het actieve exemplaar.Ga naar de volgende fase wanneer alle vereiste stappen zijn voltooid om de huidige fase de actieve fase te maken.
Xrm.Page.data.process.moveNext gebruiken.Ga naar de vorige fase en maak dat de huidige actieve fase.
Xrm.Page.data.process.movePrevious gebruiken.Selecteer een fase om de status van de stappen in de fase te bekijken.
Gebruik Xrm.Page.data.process.getActivePath om informatie op te halen over de fasen die zijn voltooid, de huidige actieve fase en geldige fasen die beschikbaar zijn vanuit de huidige actieve fase. Onderzoek de stappen die zijn opgenomen in die fase en vergelijk de overeenkomende waarden van het formulierkenmerk om te bepalen of deze zijn voltooid.Een stap voltooien
Stappen worden voltooid als de bijbehorende gegevens in het formulier worden ingevoerd. U kunt het kenmerk bepalen door de getAttribute-methode voor de stap te gebruiken. Hiermee wordt de logische naam van het kenmerk geretourneerd. Gebruik vervolgens Xrm.Page.getAttribute om het kenmerk op te halen vanuit de verzameling Xrm.Page.data.entity.attributes en gebruik vervolgens het kenmerk van de 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setValue-methode om de waarde in te stellen.Nagaan of een stap vereist is
Gebruik de isRequired-methode voor stappen om te bepalen of een stap vereist is door de bedrijfsprocesstroom.De bedrijfsprocesstroombesturing uitvouwen of samenvouwen
Xrm.Page.ui.process.setDisplayState gebruiken.Doorgaan naar een geldige voltooide fase.
Gebruik Xrm.Page.data.process.setActiveStage om een van de geldige voltooide fasen in te stellen voor de huidige entiteit.
Er is een aantal dingen dat u als een ontwikkelaar kunt doen die een gebruiker niet kan doen.
Het procesbesturingselement verbergen
Gebruik Xrm.Page.ui.process.setVisible om te bepalen of de bedrijfsprocesstroombesturing al dan niet wordt weergegeven.Vraag de procesdefinitie op inclusief fasen die momenteel niet zichtbaar zijn
Gebruik Xrm.Page.data.process.getActiveProcess om de definitie van de bedrijfsprocesstroom op te vragen, met inbegrip van fasen die mogelijk niet zichtbaar zijn vanwege vertakkingslogica in het proces.
Gebeurtenissen voor bedrijfsprocesstromen
U kunt interacties onderhouden met elke gebeurtenis die door het formulier met bedrijfsprocesstromen wordt geleverd, maar de volgende nieuwe gebeurtenissen stellen u in staat code uit te voeren op basis van gebeurtenissen puur ten behoeve van de bedrijfsprocesstroombesturing.
U kunt code uitvoeren als de actieve fase van een bedrijfsprocesstroom verandert (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange) of als een fase wordt geselecteerd (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected).
U kunt code uitvoeren wanneer de status van een bedrijfsprocesstroomexemplaar verandert (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange). Een bedrijfsprocesstroomexemplaar kan een van de volgende statussen hebben: Active, Finished of Aborted.
Geen van deze nieuwe gebeurtenis biedt een gebruikersinterface voor het registreren van uw gebeurtenishandlers. U moet methoden gebruiken die worden geleverd voor het toevoegen of verwijderen van handlers voor deze gebeurtenissen in het formulier OnLoad-gebeurtenis.Meer informatie:f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
Zie ook
Het objectmodel Xrm.Page gebruiken
Xrm.Page.data.process (clientreferentie)
Voorbeeld: Xrm.Page.data.process.getEnabledProcesses
Voorbeeld: Xrm.Page.data.process.getActivePath
f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
TechNet: Bedrijfsprocesstromen
Microsoft Dynamics 365
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht