Aangepaste statusmodelovergangen definiëren
Gepubliceerd: november 2016
Is van toepassing op: Dynamics CRM 2015
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 geldige 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.
<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>
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
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht