Compartir a través de


Ejemplo: recuperar transiciones de estado válidas

Este ejemplo muestra cómo recuperar transiciones de estado válidas independientemente de si las transiciones de estado personalizadas se han definido para la entidad. Puede descargar el ejemplo desde aquí.

Nota

Este ejemplo se aplica tanto a Dynamics 365 Customer Engagement (on-premises) como a Dataverse.

Cómo ejecutar esta muestra

Para obtener una copia local de todas las muestras y compilarlas, siga estos pasos:

  1. Descargar o clonar el informe de Muestras para que tenga una copia local.
  2. (Opcional) Edite el archivo dataverse/App.config para definir una cadena de conexión que especifique la instancia o la organización a la que desea conectarse.
  3. Abra la solución de ejemplo en Visual Studio y presione F5 para ejecutar la muestra. Una vez que especifique una cadena de conexión en dataverse/App.config, cualquier muestra que ejecute utilizará esa información de conexión.

Si no especifica una cadena de conexión en el archivo dataverse/App.config, se abre un diálogo cada vez que ejecute la muestra y tendrá que introducir información acerca de a qué instancia u org desea conectarse y qué credenciales desea usar. Este diálogo guardará en caché conexiones anteriores para que pueda elegir una conexión usada previamente.

Qué hace este ejemplo

El método GetValidStatusOptions está diseñado para usarse en un escenario donde contiene los datos que devuelven transiciones de opción de estado válidas con independencia de si las transiciones de estado están habilitadas para la entidad.

Cómo funciona este ejemplo

Para simular el escenario descrito en Qué hace este ejemplo, el ejemplo hará lo siguiente:

Configuración

  1. Comprobaciones para la versión actual de la organización.
  2. El método MetadataFilterExpression comprueba los metadatos de la entidad.

Demostraciones

Este ejemplo muestra cómo recuperar transiciones de estado válidas independientemente de si las transiciones de estado personalizadas se han definido para la entidad.

El ejemplo lleva a cabo las siguientes tareas:

  1. Recupera las opciones de estado de la entidad de incidentes

  2. Usa un método de GetValidStatusOptions en el ejemplo para recopilar las transiciones de estado válidas para cada opción de estado

  3. Presenta opciones válidas de transición en la consola

    Cuando las transiciones de razón para el estado de la entidad de incidentes se configuran así:

    Ejemplo de transiciones de razón para el estado de un caso.

    Las transiciones de estado válidas se filtran y verá lo siguiente representando todas las transiciones válidas para cada opción de estado.

[In Progress] incident records can transition to:  
2  Canceled  1    Canceled  
2  Canceled  1    Merged  
0  Active    1    On Hold  
  
[On Hold] incident records can transition to:  
2  Canceled  2    Canceled  
2  Canceled  2    Merged  
0  Active    2    Waiting for Details  
  
[Waiting for Details] incident records can transition to:  
2  Canceled  3    Canceled  
2  Canceled  3    Merged  
0  Active    3    Researching  
  
[Researching] incident records can transition to:  
2  Canceled  4    Canceled  
1  Resolved  4    Information Provided  
1  Resolved  4    Problem Solved  
2  Canceled  4    Merged  
  
[Problem Solved] incident records can transition to:  
2  Canceled  5    Merged  
  
[Information Provided] incident records can transition to:  
2  Canceled  1000 Merged  
  
[Canceled] incident records can transition to:  
2  Canceled  6    Merged  
  
[Merged] incident records can transition to:  

Cuando este ejemplo se ejecuta sin aplicar transiciones de razón para el estado en la entidad de incidente, verá lo siguiente representando todas las transiciones posibles para cada estado.

[Problem Solved] incident records can transition to:  
1  Resolved  1000 Information Provided  
2  Canceled  6    Canceled  
2  Canceled  2000 Merged  
0  Active    1    In Progress  
0  Active    2    On Hold  
0  Active    3    Waiting for Details  
0  Active    4    Researching  
  
[Information Provided] incident records can transition to:  
1  Resolved  5    Problem Solved  
2  Canceled  6    Canceled  
2  Canceled  2000 Merged  
0  Active    1    In Progress  
0  Active    2    On Hold  
0  Active    3    Waiting for Details  
0  Active    4    Researching  
  
[Canceled] incident records can transition to:  
1  Resolved  5    Problem Solved  
1  Resolved  1000 Information Provided  
2  Canceled  2000 Merged  
0  Active    1    In Progress  
0  Active    2    On Hold  
0  Active    3    Waiting for Details  
0  Active    4    Researching  
  
[Merged] incident records can transition to:  
1  Resolved  5    Problem Solved  
1  Resolved  1000 Information Provided  
2  Canceled  6    Canceled  
0  Active    1    In Progress  
0  Active    2    On Hold  
0  Active    3    Waiting for Details  
0  Active    4    Researching  
  
[In Progress] incident records can transition to:  
1  Resolved  5    Problem Solved  
1  Resolved  1000 Information Provided  
2  Canceled  6    Canceled  
2  Canceled  2000 Merged  
0  Active    2    On Hold  
0  Active    3    Waiting for Details  
0  Active    4    Researching  
  
[On Hold] incident records can transition to:  
1  Resolved  5    Problem Solved  
1  Resolved  1000 Information Provided  
2  Canceled  6    Canceled  
2  Canceled  2000 Merged  
0  Active    1    In Progress  
0  Active    3    Waiting for Details  
0  Active    4    Researching  
  
[Waiting for Details] incident records can transition to:  
1  Resolved  5    Problem Solved  
1  Resolved  1000 Information Provided  
2  Canceled  6    Canceled  
2  Canceled  2000 Merged  
0  Active    1    In Progress  
0  Active    2    On Hold  
0  Active    4    Researching  
  
[Researching] incident records can transition to:  
1  Resolved  5    Problem Solved  
1  Resolved  1000 Information Provided  
2  Canceled  6    Canceled  
2  Canceled  2000 Merged  
0  Active    1    In Progress  
0  Active    2    On Hold  
0  Active    3    Waiting for Details