Delen via


Werken met bedrijfsprocesstromen met behulp van code

Met een bedrijfsprocesstroom kunt u efficiëntere en gestroomlijnde verkoop-, service-, en andere bedrijfsprocessen maken. U maakt een visualisatie van het bedrijfsproces door speciale besturingselementen aan de bovenzijde van de entiteitsformulieren te plaatsen. Gebruikers worden door diverse fasen van de verkoop-, marketing- of serviceprocessen geleid tot aan de voltooiing. Elk proces ondersteunt meerdere fasen en stappen. U kunt stappen toevoegen of verwijderen, de volgorde van fasen wijzigen of nieuwe entiteiten toevoegen aan de bedrijfsprocesstroom.

Er kunnen tegelijkertijd verschillende exemplaren van bedrijfsprocesstromen worden uitgevoerd op basis van dezelfde entiteitsrecord. Gebruikers kunnen schakelen tussen gelijktijdige bedrijfsprocesexemplaren en hun werk hervatten op een actueel stadium in het proces.

Dit onderwerp bevat informatie over hoe u programmatisch kunt werken met bedrijfsprocesstromen.

Opmerking

U hoeft geen code te schrijven om te werken met bedrijfsprocesstromen. Zie Overzicht van bedrijfsprocesstromen voor informatie over het gebruik van de Dynamics 365 Customer Engagement-client (UI) voor het maken en beheren van bedrijfsprocesstromen

Vereisten voor bedrijfsprocesstromen

Aangepaste entiteiten en entiteiten met bijgewerkte UI-formulieren kunnen deelnemen aan de bedrijfsprocesstroom. De bijgewerkte UI-entiteiten hebben de eigenschap IsAIRUpdated ingesteld op true.

Als u een entiteit wilt inschakelen voor de bedrijfsprocesstroom, stelt u de eigenschap IsBusinessProcessEnabled in op true.

Belangrijk

Het inschakelen van een entiteit voor bedrijfsprocesstroom is een proces in één richting. Het is niet omkeerbaar.

Bedrijfsprocesstroom definiëren

Gebruik de ontwerpfunctie voor het visueel samenstellen van een bedrijfsprocesstroom. Meer informatie: Een bedrijfsprocesstroom maken

Standaard wordt een bedrijfsprocesstroomrecord gemaakt met de status Draft.

De definitie van een bedrijfsprocesstroom wordt opgeslagen in de entiteit workflow en de fase-informatie voor de bedrijfsprocesstroom wordt opgeslagen in de entiteit processstage.

Bedrijfsprocesstroom activeren

Voordat u de processtroom kunt gaan gebruiken, moet u deze activeren. Om deze te kunnen activeren, moet u over de bevoegdheid prvActivateBusinessProcessFlow voor de entiteit Workflow beschikken. Gebruik het bericht UpdateRequest om de status van de entiteitsrecord Workflow in te stellen op Activated. Meer informatie: Gespecialiseerde bewerkingen uitvoeren met behulp van Update

Opmerking

U kunt ook de ontwerpfunctie voor bedrijfsprocesstromen gebruiken om een bedrijfsprocesstroom te activeren.

Entiteit van bedrijfsprocesstroom

Nadat u de definitie van een bedrijfsprocesstroom hebt geactiveerd door de status van de bijbehorende record van de Workflow-entiteit te wijzigen of met behulp van de ontwerpfunctie voor bedrijfsprocesstromen, wordt er automatisch een aangepaste entiteit met de volgende naam gemaakt voor het opslaan van de geactiveerde exemplaren van de bedrijfsprocesstroom: '<activesolutionprefix>_<uniquename>', waarbij de waarde voor uniquename wordt afgeleid van de naam die u opgeeft.

Als u bijvoorbeeld 'Mijn aangepaste BPF' hebt opgegeven als de naam van de definitie van de bedrijfsprocesstroom en u de standaarduitgever (nieuw) gebruikt voor uw actieve oplossing, is 'nieuw_mijnaangepastebpf' de naam van de aangepaste entiteit die wordt gemaakt voor het opslaan van procesexemplaren.

Als de uniquename niet beschikbaar is voor de definitie van een bedrijfsprocesstroom, bijvoorbeeld als de processtroom is geïmporteerd als onderdeel van de oplossing van een eerdere versie, is de standaardnaam van de aangepaste entiteit "<activesolutionprefix>_bpf_<GUID_BPF_Definition>:

Belangrijk

De voorbeeldrecords van bedrijfsprocesstromen die beschikbaar zijn in Dynamics 365, gebruiken systeementiteiten voor het opslaan van de bijbehorende records van exemplaren van de bedrijfsprocesstromen. Een aantal voorbeelden van entiteitsrecords voor bedrijfsprocesstromen zijn entiteit OpportunitySalesProcess en entiteit LeadToOpportunitySalesProcess.

Zoals eerder uitgelegd, maken alle nieuwe bedrijfsprocesstroomdefinities die u maakt gebruik van aangepaste entiteiten om de exemplaarrecords op te slaan.

U kunt de naam van de entiteit van uw bedrijfsprocesstroom op de volgende manieren ophalen:

  • Met behulp van de gebruikersinterface: gebruik de aanpassingsinterface om naar de entiteit van uw bedrijfsprocesstroom te bladeren:

    De naam van de BPF-entiteit.

  • Met behulp van de web-API: gebruik de volgende aanvraag:

    Verzoek

    GET [Organization URI]/api/data/v9.1/workflows?$filter=name eq 'My Custom BPF'&$select=uniquename HTTP/1.1
    

    Antwoord

    {  
    "@odata.context":"[Organization URI]/api/data/v9.1/$metadata#workflows(uniquename)",
    "value":[  
         {  
             "@odata.etag":"W/\"1084677\"",
             "uniquename":"new_mycustombpf",
             "workflowid":"2669927e-8ad6-4f95-8a9a-f1008af6956f"
         }
      ]
    }
    
    
  • De service Organisatie gebruiken: gebruik het volgende codevoorbeeld:

    QueryExpression query = new QueryExpression
    {
        EntityName = "workflow",
        ColumnSet = new ColumnSet("uniquename"),
        Criteria = new FilterExpression
        {
            Conditions =
            {
                new ConditionExpression
                {
                    AttributeName = "name",
                    Operator = ConditionOperator.Equal,
                    Values = { "My Custom BPF" }
                }
            }
        }
    };
    Workflow Bpf = (Workflow)_serviceProxy.RetrieveMultiple(query).Entities[0]; 
    
    

Opmerking

De eigenschap IsBPFEntity is true voor bedrijfsprocesstroomentiteiten. U kunt alle bedrijfsprocesstroomentiteiten in uw instantie ophalen door de volgende web-API-aanvraag uit te voeren:

GET [Organization URI]/api/data/v9.1/EntityDefinitions?$select=SchemaName,LogicalName,DisplayName&$filter=IsBPFEntity eq true HTTP/1.1

Beveiliging voor bedrijfsprocesstromen beheren

De aangepaste entiteit die automatisch wordt gecreëerd na het activeren van een bedrijfsprocesstroom om exemplaren van bedrijfsprocesstromen op te slaan, voldoet aan het standaardbeveiligingsmodel dat voor alle aangepaste entiteiten geldt in Customer Engagement. Dit duidt erop dat bevoegdheden die zijn verleend voor deze entiteiten de machtigingen voor runtime bepalen voor gebruikers van bedrijfsprocesstromen.

De aangepaste entiteit van de bedrijfsprocesstroom heeft een organisatiebereik. De machtiging die de gebruiker zou hebben op basis van de rollen die aan hem/haar zijn toegewezen, wordt gedefinieerd door de standaardmachtigingen voor het maken, ophalen, bijwerken en verwijderen voor deze entiteit. Bij het maken van de aangepaste bedrijfsprocesstroomentiteit krijgen standaard alleen de beveiligingsrollen systeembeheerder en systeemaanpasser er toegang toe en moet u zo nodig expliciet machtigingen verlenen aan de nieuwe bedrijfsprocesstroomentiteit (bijvoorbeeld My Custom BPF) voor andere beveiligingsrollen.

BPF-bevoegdheden.

Entiteitsrecords voor bedrijfsprocesstromen maken, ophalen, bijwerken en verwijderen (procesexemplaren)

In de aangepaste entiteit die automatisch bij het activeren van een bedrijfsprocesstroomdefinitie wordt gemaakt, worden alle procesexemplaren voor de bedrijfsprocesstroomdefinitie opgeslagen. De aangepaste entiteit biedt ondersteuning voor het standaard programmatisch maken en beheren van records (procesexemplaren) met behulp van de web-API en het CRM 2011-eindpunt.

Belangrijk

Overschakelen naar een ander procesexemplaar voor een entiteitsrecord wordt alleen ondersteund via de gebruikersinterface (client) of programmatisch met behulp van de informatie die beschikbaar is in deze sectie. U kunt niet meer gebruikmaken van het SetProcess-message (SetProcess Action of SetProcessRequest) om programmatisch van proces te wisselen (een andere bedrijfsprocesstroom instellen als het actieve procesexemplaar) voor de doelentiteitsrecord.

Hier volgt een voorbeeld van een entiteitsoverschrijdende bedrijfsprocesstroom, 'My Custom BPF', die uit drie fasen bestaat: S1:Account, S2:Account en S3:Contact.

Sample-BPF.

Alle records (instanties) ophalen voor een bedrijfsprocesstroomentiteit

Als de naam van uw bedrijfprocesstroomentiteit new_mycustombpf is, gebruikt u de volgende query om alle records (procesexemplaren) op te halen voor uw bedrijfsprocesstroomentiteit:

GET [Organization URI]/api/data/v9.1/new_mycustombpfs HTTP/1.1 

Het is mogelijk dat er op dit moment geen exemplaren worden vermeld in de respons omdat die er niet zijn. Voer deze aanvraag uit nadat u verderop in dit onderwerp een exemplaar van uw definitie van de bedrijfsprocesstroom hebt gemaakt.

Opmerking

Zie de eerdere sectie Entiteit van bedrijfsprocesstroom om te lezen hoe u de naam van de entiteit van uw bedrijfsprocesstroom kunt ophalen.

Entiteitsrecord voor bedrijfsprocesstroom (procesexemplaar) maken

U kunt via een programma een entiteitsrecord voor een bedrijfsprocesstroom (procesexemplaar) maken als u wilt overschakelen naar een andere bedrijfsprocesstroom voor een entiteitsrecord zonder de gebruikersinterface te hoeven gebruiken.

(! OPMERKING) Wanneer u een record maakt in de Unified Interface en u geen bedrijfsprocesstroom aan de record wilt koppelen, maakt u een onloadscript dat setActiveProcess aanroept en een lege processID (GUID) doorgeeft. Codevoorbeeld formcontext.data.process.setActiveProcess('00000000-0000-0000-0000-000000000000', (a)=>{​​alert("changed -- " + a)}​​)

Om een entiteitsrecord voor een bedrijfsprocesstroom te maken, moet u de volgende waarden opgeven:

  • Koppel de entiteitsrecord voor de bedrijfsprocesstroom aan een primair entiteitsrecord door de navigatie-eigenschap met één waarde in te stellen met de annotatie @odata.bind. Als u de naam wilt opvragen van de navigatie-eigenschap die verwijst naar de primaire entiteitsrecord voor de definitie van uw bedrijfsprocesstroom, raadpleegt u het document CSDL $metadata.

  • Koppel de entiteitsrecord voor de bedrijfsprocesstroom aan een geldige fase die is opgegeven in de definitie van de bedrijfsprocesstroom door de navigatie-eigenschap met één waarde in te stellen met de annotatie @odata.bind. Als u de naam (meestal activestageid) wilt opvragen van de navigatie-eigenschap die verwijst naar de faserecord voor de definitie van uw bedrijfsprocesstroom, raadpleegt u het document CSDL $metadata.

    U kunt ook informatie over alle fasen voor de definitie van een bedrijfsprocesstroom opvragen met behulp van de volgende web-API-aanvragen, ervan uitgaande dat de id van de definitie van uw bedrijfsprocesstroom 2669927e-8ad6-4f95-8a9a-f1008af6956f is:

    Verzoek

    GET [Organization URI]/api/data/v9.1/processstages?$select=stagename&$filter=processid/workflowid eq 2669927e-8ad6-4f95-8a9a-f1008af6956f HTTP/1.1
    

    Antwoord

    {
        "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#processstages(stagename)",
        "value": [
            {
                "@odata.etag": "W/\"858240\"",
                "stagename": "S1",
                "processstageid": "9a9185f5-b75b-4bbb-9c2b-a6626683b99b"
            },
            {
                "@odata.etag": "W/\"858239\"",
                "stagename": "S3",
                "processstageid": "a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a"
            },
            {
                "@odata.etag": "W/\"858238\"",
                "stagename": "S2",
                "processstageid": "19a11fc0-3398-4214-8522-cb2a97f66e4b"
            }
        ]
    }
    

Gebruik daarna de volgende aanvraag om een exemplaar van de definitie van uw bedrijf bedrijfsprocesstroom te maken voor een accountrecord (id=a176be9e-9a68-e711-80e7-00155d41e206) en de actieve fase ingesteld als de eerste fase van het procesexemplaar, S1 (id=9a9185f5-b75b-4bbb-9c2b-a6626683b99b):

Verzoek

POST [Organization URI]/api/data/v9.1/new_mycustombpfs HTTP/1.1 
Content-Type: application/json; charset=utf-8 
OData-MaxVersion: 4.0 
OData-Version: 4.0 
Accept: application/json 

{
    "bpf_accountid@odata.bind": "/accounts(a176be9e-9a68-e711-80e7-00155d41e206)",
    "activestageid@odata.bind": "/processstages(9a9185f5-b75b-4bbb-9c2b-a6626683b99b)"    
}

Antwoord

HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.1/new_mycustombpfs(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)

Als u een exemplaar van de definitie van uw bedrijfsprocesstroom wilt maken met de actieve fase ingesteld als een andere fase dan de eerste fase, moet u ook traversedpath opgeven in uw aanvraag. Dit argument bestaat uit een tekenreeks van door komma's gescheiden id's van procesfasen die uitgevoerde fasen van het exemplaar van het bedrijfsprocesstroom aangeven. Met de volgende aanvraag wordt een exemplaar gemaakt voor een accountrecord (id=679b2464-71b5-e711-80f5-00155d513100) en de actieve fase ingesteld als de tweede fase, S2 (id=19a11fc0-3398-4214-8522-cb2a97f66e4b).

POST [Organization URI]/api/data/v9.1/new_mycustombpfs HTTP/1.1 
Content-Type: application/json; charset=utf-8 
OData-MaxVersion: 4.0 
OData-Version: 4.0 
Accept: application/json 

{
    "bpf_accountid@odata.bind": "/accounts(679b2464-71b5-e711-80f5-00155d513100)",
    "activestageid@odata.bind": "/processstages(19a11fc0-3398-4214-8522-cb2a97f66e4b)",
    "traversedpath":"9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b"   
}

Entiteitsrecord voor bedrijfsprocesstroom (procesexemplaar) bijwerken

U kunt een procesexemplaar bijwerken om het te verplaatsen naar de volgende of vorige fase, of om een procesexemplaar af te breken, opnieuw te activeren of te voltooien.

Fasenavigatie

Als u naar een andere fase wilt navigeren, moet u een record voor een procesexemplaar bijwerken om de id van de actieve fase te wijzigen en het betreffende traversalpad dienovereenkomstig bij te werken. U mag alleen naar de volgende of vorige fase gaan tijdens het bijwerken van een exemplaar van een bedrijfsprocesstroom.

Om fasenavigatie uit te voeren, hebt u de id nodig van het exemplaar van de bedrijfsprocesstroom die u wilt bijwerken. Als u alle exemplaren van de bedrijfsprocesstroom wilt ophalen, raadpleegt u Alle records (exemplaren) voor de entiteit van een bedrijfsprocesstroom ophalen eerder in dit artikel.

Ervan uitgaande dat de id van het procesexemplaar dat u wilt bijwerken dc2ab599-306d-e811-80ff-00155d 513100 is, gebruikt u de volgende aanvraag om de actieve fase bij te werken van S1 naar S2:

PATCH [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0

{
    "activestageid@odata.bind": "/processstages(19a11fc0-3398-4214-8522-cb2a97f66e4b)",
    "traversedpath": "9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b"
}

De status van een procesexemplaar wijzigen: afbreken, opnieuw activeren of voltooien

Een procesexemplaar kan een van de volgende statussen hebben: Active, Finished of Aborted. De status wordt bepaald door de volgende kenmerken in de record voor het procesexemplaar:

  • statecode: toont de status van het procesexemplaar.

    Waarde Etiket
    0 Active
    1 Niet-actief
  • statuscode: toont informatie over de status van het procesexemplaar.

    Waarde Etiket
    1 Active
    2 Voltooid
    3 Afgebroken

Als u een procesexemplaar afbreken, gebruikt u de volgende aanvraag om de waarden voor statecode en statuscode op de gewenste manier in te stellen:

PATCH [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1   
Content-Type: application/json   
OData-MaxVersion: 4.0   
OData-Version: 4.0 
  
{ 
    "statecode" : "1", 
    "statuscode": "3" 
}

Opmerking

U kunt een procesexemplaar tijdens elke fase afbreken.

Op dezelfde manier kunt u een procesexemplaar opnieuw activeren. U vervangt de waarden voor statecode en statuscode in de bovenstaande code dan door respectievelijk 0 en 1.

Ten slotte kunt u de status van een procesexemplaar instellen op Finished. Dit is alleen mogelijk in de laatste fase van een procesexemplaar. Vervang hiervoor de waarden voor statecode en statuscode in de bovenstaande code door respectievelijk 0 en 2.

Navigatie tussen entiteiten

Voor navigatie tussen entiteiten in dit voorbeeld moet u de actieve fase van het procesexemplaar instellen op de laatste fase, S3 (id=a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a), het traversalpad dienovereenkomstig bijwerken en de record van een contactpersoon instellen als de primaire entiteitsrecord zoals in de definitie van de bedrijfsprocesstroom.

PATCH [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1   
Content-Type: application/json   
OData-MaxVersion: 4.0   
OData-Version: 4.0 
  
{
    "activestageid@odata.bind": "/processstages(a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a)",
    "traversedpath":"9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b,a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a",
    "bpf_contactid@odata.bind": "/contacts(0e3f10b0-da33-e811-80fc-00155d513100)"
}

Entiteitsrecord voor bedrijfsprocesstroom (procesexemplaar) verwijderen

Gebruik de volgende web-API-aanvraag:

Verzoek

DELETE [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1

Antwoord

Als de record bestaat, krijgt u een normale respons met de status 204 om aan te geven dat het verwijderen is gelukt. Als de entiteit niet wordt gevonden, krijgt u een respons met de status 404.

RetrieveProcessInstances- en RetrieveActivePath-berichten gebruiken

Gebruik het RetrieveProcessInstances-bericht (RetrieveActivePath Function of RetrieveProcessInstancesRequest) om alle exemplaren van een bedrijfsprocesstroom op te halen voor een entiteitsrecord van alle definities van bedrijfsprocessen. De bedrijfsprocesstroomexemplaren die voor een entiteit worden geretourneerd, worden gesorteerd op basis van het kenmerk modifiedon van het exemplaar. Zo is bijvoorbeeld het meest recent gewijzigde bedrijfsprocesstroomexemplaar de eerste record in de geretourneerde verzameling. Het meest recent gewijzigde bedrijfsprocesstroomexemplaar is het exemplaar dat in de gebruikersinterface actief is voor een entiteitsrecord.

Elke record voor het exemplaar van een bedrijfsprocesstroom die wordt geretourneerd voor een entiteitsrecord als gevolg van het gebruik van het bericht RetrieveProcessInstances slaat de id van de actieve fase op in het kenmerk processstageid, dat kan worden gebruikt voor het vinden van de actieve fase, waarna naar de vorige of volgende fase wordt overgeschakeld. Hiervoor moet u eerst het actieve pad van het exemplaar van een bedrijfsprocesstroom vinden en de fasen die beschikbaar zijn in het exemplaar van de processtroom. Dit kan met behulp van het RetrieveActivePath-bericht (RetrieveActivePath Function of RetrieveActivePathRequest).

Als u de informatie voor de actieve fase en het de actieve pad hebt verkregen voor een bedrijfsprocesstroomexemplaar, kunt u de gegevens gebruiken om naar een eerdere of volgende fase in het actieve pad te gaan. Vooruit navigeren in de fasen moet u in volgorde doen. Dit wil zeggen dat u telkens moet doorgaan naar de eerstvolgende fase in het actieve pad.

Zie Sample: Work with business process flows (Voorbeeld: werken met bedrijfsprocesstromen) voor het volledige codevoorbeeld waarin het gebruik van deze twee methoden en fasenavigatie met IOrganizationService wordt aangetoond.

Bedrijfsprocesstroom toepassen tijdens het maken van een entiteitsrecord

Deze sectie biedt informatie over de standaardwerking bij het automatisch toepassen van bedrijfsprocesstromen op nieuwe entiteitsrecords die zijn gemaakt in Customer Engagement. Tevens vindt u hier informatie over hoe u de standaardwerking kunt negeren en een bedrijfsprocesstroom naar keuze kunt toepassen op nieuwe entiteitsrecords.

Wanneer een entiteit meerdere bedrijfsprocesstromen kent, past het systeem standaard een bedrijfsprocesstroom toe op het nieuwe entiteitsrecord volgens onderstaande stappen:

  1. Identificeer alle bedrijfsprocesstromen die van toepassing zijn op de nieuwe entiteitsrecord, op basis van het kenmerk Workflow.PrimaryEntity van de records met de definitie van de bedrijfsprocesstromen.
  2. Identificeer de bedrijfsprocesstroomdefinities waar de huidige gebruiker toegang toe heeft. Zie Beveiliging beheren voor bedrijfsprocesstromen eerder in dit onderwerp voor informatie over hoe de toegang tot een bedrijfsprocesstroom wordt bepaald en beheerd.
  3. Alle bedrijfsprocesstroomdefinities in het systeem zijn onderhevig aan een algemene volgorde per entiteit. De volgorde van de bedrijfsprocesstromen wordt opgeslagen in het kenmerk Workflow.ProcessOrder. De bedrijfsprocesstroomdefinities voor een entiteit worden gesorteerd op basis van deze volgorde en de entiteit met de laagste waarde wordt gekozen.
  4. Als het entiteitsrecord wordt gemaakt vanuit een bedrijfsapp (app-module) wordt er een extra filterniveau toegepast om de bedrijfsprocesstroom te kiezen die automatisch wordt toegepast op het nieuwe entiteitsrecord. Bij het werken in een app hebben gebruikers alleen toegang tot relevante entiteiten, bedrijfsprocesstromen, weergaven en formulieren overeenkomstig de beveiligingsrollen die zijn toegewezen aan de bedrijfsapp.
    • Als de bedrijfsapp geen bedrijfsprocesstroom bevat, dan wordt de bedrijfsprocesstroom toegepast zoals uitgelegd in stap 1 tot en met 3.
    • Als de bedrijfsapp één of meerdere bedrijfsprocesstromen heeft, dan kunnen alleen de bedrijfsprocesstromen die in de app aanwezig zijn worden toegepast. In dit geval, wanneer de gebruiker werkt in een bedrijfsapp, wordt de lijst van bedrijfsprocesstromen uit stap 3 verder gefilterd zodat alleen de stromen overblijven die deel uitmaken van de bedrijfsapp en aanwezig zijn in de app-module. Ze worden gesorteerd op basis van de procesvolgorde.
    • Als er geen bedrijfsprocesstroom aanwezig is in een bedrijfsapp voor de entiteit, of geen een waartoe de gebruiker toegang heeft, dan wordt er geen bedrijfsprocesstroom toegepast voor het nieuwe entiteitsrecord.

U kunt de standaardlogica voor het automatisch toepassen van bedrijfsprocesstromen op nieuwe entiteitsrecords uitschakelen. Om dit te doen, stelt u het kenmerk ProcessId van de entiteit in op een van de volgende waarden tijdens het maken van een nieuwe entiteitsrecord:

  • Stel het kenmerk in op Guid.Empty om het instellen van een bedrijfsprocesstroom voor nieuwe entiteitsrecords over te slaan. Dit kan handig zijn wanneer u entiteitsrecords in bulk maakt, maar er geen bedrijfsprocesstromen op wilt toepassen.
  • Stel een specifieke bedrijfsprocesstroomentiteit (als een entiteitsverwijzing) in als waarde. In dit geval past het systeem de opgegeven bedrijfsprocesstroom toe, in plaats van er een toe te passen volgens de standaardprocedure.

Als u geen waarde instelt voor het kenmerk ProcessId tijdens het maken van een nieuwe entiteitsrecord, past het systeem de standaardlogica toe, zoals die eerder is beschreven.

Opmerking

U kunt de standaardlogica voor het automatisch toepassen van bedrijfsprocesstromen op nieuwe entiteitsrecords uitschakelen, maar dit kan alleen programmatisch. U kunt dit niet instellen in de gebruikersinterface.

De verouderde procesgerelateerde kenmerken (ProcessId, StageId en TraversedPath) in entiteiten die zijn ingeschakeld voor bedrijfsprocesstromen, met de setProcess-client-API zijn al afgeschaft. Het bewerken van deze verouderde, procesgerelateerde kenmerken voor doelentiteitrecords of het gebruik van de verouderde setProcess-client-API biedt geen garantie voor consistentie van de bedrijfsprocesstroomstatus en is geen ondersteund scenario. De aanbevolen manier is om de kenmerken van de entiteit voor de bedrijfsprocesstroom te gebruiken, zoals eerder is uitgelegd in de sectie Entiteitsrecords voor bedrijfsprocesstromen maken, ophalen, bijwerken en verwijderen (procesexemplaren)

De enige uitzondering hierop is het via een programma wijzigen van het kenmerk ProcessId tijdens het maken van een entiteitsrecord om de standaardtoepassing van de bedrijfsprocesstroom op de nieuwe record uit te schakelen. Dit wordt uitgelegd in de vorige sectie: Bedrijfsprocesstroom toepassen tijdens het maken van een entiteitsrecord.

Ondersteuning voor programmering op de client voor bedrijfsprocesstromen

Met Dynamics 365 is er een object dat u aan de clientzijde kunt gebruiken voor interactie met bedrijfsprocesstromen in uw formulierscripts. Met bedrijfsprocesstromen worden steeds op de client gebeurtenissen geactiveerd wanneer een proces op een record wordt toegepast, de fase wordt gewijzigd, of de status wordt gewijzigd in Active, Finished of Aborted. Meer informatie: formContext.data.process (naslag voor client-API)

Maximum aantal processen, fasen en stappen

Per entiteit is de standaardwaarde voor het maximumaantal geactiveerde bedrijfsprocesstromen 10. U kunt een andere waarde opgeven met het kenmerk Organization.MaximumActiveBusinessProcessFlowsAllowedPerEntity. Echter, wanneer de waarde groter is dan 10, ziet u mogelijk een verlaging van de prestaties van uw systeem als u overschakelt tussen processen of een record opent met een toegewezen bedrijfsprocesstroom. Dit zal vooral merkbaar zijn als de processen meerdere entiteiten omvatten.

De volgende instellingen zijn niet aanpasbaar:

  • Het maximumaantal fasen per entiteit in het proces is 30.

  • Het maximumaantal stappen in elke fase is 30.

  • Het maximumaantal entiteiten die aan de processtroom kunnen deelnemen is 5.

Zie ook