Delen via


Aangepaste statusmodelovergangen definiëren

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

U kunt aangepaste statusovergangen opgeven voor de entiteit Incident (Aanvraag) of voor aangepaste entiteiten. De eigenschap EntityMetadata.IsStateModelAware is true voor entiteiten die statusmodelovergangen ondersteunen.

Aangepaste statusovergangen zijn een optioneel niveau van filtering om te definiëren welke statusovergangen geldig zijn voor een record in een bepaalde status. Het definiëren van een beperkte lijst met opties kan het voor gebruikers gemakkelijker maken de juiste status voor een record te kiezen, met name wanneer er een groot aantal combinaties van geldige statussen en statuswaarden is.

In dit onderwerp

Wat is het statusmodel?

Geldige statusovergangen detecteren

Wat is het statusmodel?

Entiteiten die het concept van status ondersteunen hebben een stel kenmerken die deze gegevens vastleggen, zoals aangegeven in de tabel.

Logische naam

Weergavenaam

Beschrijving

statecode

Status

Vertegenwoordigt de status van de record. Voor aangepaste entiteiten is dit Actief of Inactief. De entiteit Incident (case) gebruikt Actief, Afgesloten en Geannuleerd. U kunt niet meer statusopties toevoegen maar u kunt de optielabels wel wijzigen.

statuscode

Statusreden

Vertegenwoordigt een status die is gekoppeld aan een specifieke status. Elke status moet ten minste één mogelijke status hebben. U kunt extra statusopties toevoegen en de labels van bestaande opties wijzigen.

De metagegevens voor de kenmerken definiëren welke statuswaarden geldig zijn voor een bepaalde status. Bijvoorbeeld, voor de entiteit Incident (Aanvraag), worden de standaardstatus en statusopties weergegeven in de volgende tabel.

Toestand

Status

Label: Actief

Value: 0

Label: Wordt uitgevoerd

Value: 1

State: 0

Label: In de wacht

Value: 2

State: 0

Label: Wacht op details

Value: 3

State: 0

Label: Doet onderzoek

Value: 4

State: 0

Label: Gesloten

Value: 1

Label: Probleem opgelost

Value: 5

State: 1

Label: Opgegeven gegevens

Value: 1000

State: 1

Label: Geannuleerd

Value: 2

Label: Geannuleerd

Value: 6

State: 2

Label: Samengevoegd

Value: 2000

State: 2

Deze gegevens worden opgeslagen in de klasse StatusOptionMetadata, die de opties in de klasse StatusAttributeMetadata vertegenwoordigt.

Als u de metagegevens van de entiteit voor uw organisatie wilt bekijken, installeert u de oplossing Metadata Browser die wordt beschreven in Blader door de metagegevens voor uw organisatie. U kunt ook metagegevens weergeven voor een niet-aangepaste organisatie in het Excel-bestand EntityMetadata.xlsx, in de bovenste map van SDK download.

Geldige statusovergangen detecteren

U kunt het kenmerk statuscode wijzigen om te definiëren welke andere statusopties geldige overgangen vanuit de huidige status weergeven. Voor instructies, raadpleegt u het volgende onderwerp in de Aanpassinghandleiding: Overgangen van statusreden definiëren

Als de aangepaste statusovergangen worden toegepast op een entiteit, krijgt de eigenschap EntityMetadata.EnforceStateTransitions de waarde true. Bovendien krijgt elke StatusOptionMetadata binnen de verzameling StatusAttributeMetadata.Options een nieuwe eigenschap TransitionData. Deze eigenschap bevat een tekenreekswaarde die een XML-document vertegenwoordigt. Dit document bevat de definitie van de toegestane overgangen. Bijvoorbeeld, de standaard kenmerkoptie Incident (Aanvraag) StatusCode kan de volgende waarde TransitionData hebben.

<allowedtransitions xmlns="https://schemas.microsoft.com/crm/2009/WebServices">
<allowedtransition sourcestatusid="1" tostatusid="6" />
<allowedtransition sourcestatusid="1" tostatusid="1000" /> 
<allowedtransition sourcestatusid="1" tostatusid="2000" />
<allowedtransition sourcestatusid="1" tostatusid="5" />
</allowedtransitions>

Notitie

Als deze gegevens worden opgehaald in onbeheerde code van de webservice, bijvoorbeeld wanneer u JavaScript gebruikt, wordt hiervoor een escap[e uitgevoerd en worden zij weergegeven zoals in het volgende voorbeeld.

&lt;allowedtransitions xmlns="https://schemas.microsoft.com/crm/2009/WebServices"&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="6" /&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="1000" /&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="2000" /&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="5" /&gt;
&lt;/allowedtransitions&gt;

Als deze gegevens aanwezig zijn en de eigenschap van de entiteit EnforceStateTransitions de waarde true heeft, kan elk incidentexemplaar alleen worden gewijzigd in een van de toegestane waarden statuscode. U kunt IOrganizationService.Update gebruiken om de statuscodeOptionSetValue in te stellen op een van de toegestane waarden die geen wijziging in status vertegenwoordigen. Als u de status wilt wijzigen, gebruikt u SetStateRequest voor het instellen van de toegestane eigenschapwaarden State en Status of voor het instellen van de eigenschap CloseIncidentRequestStatus op een van de toegestane waarde voor de huidige waarde statuscode. Als wordt geprobeerd een ongeldige waarde in te stellen, wordt er een fout gegenereerd.

Zie ook

Voorbeeld: geldige statusovergangen ophalen
Recordstatus en status
Wijzigingen in metagegevens ophalen en detecteren
Overgangen van statusreden definiëren

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht