Bloques de creación específicos del dominio > Bloque de creación de máquina de estado > Configuraciones (bloque de creación de máquina de estado)
Configuraciones (bloque de creación de máquina de estado)
La tabla de configuración StateMachineConfiguration de la cosa PTC.StateMachineImpl.Manager es donde se definen las máquinas de estado individuales. En esta tabla se incluyen los siguientes campos:
stateMachineName: nombre de la máquina de estado. Debe ser único.
dataShapeName: si la máquina de estado está asociada a un campo de una definición de datos, especifique el nombre de dicha definición.
fieldName: si la máquina de estado está asociada a un campo de una definición de datos, especifique el nombre del campo.
stateMachineConfiguration: código JSON que define la máquina de estado. Para cada estado de la máquina de estado, se puede especificar lo siguiente:
initial: si true, el estado es un estado inicial.
final: si true, el estado es un estado final.
transitions: transiciones válidas desde este estado. Para una transición determinada, también se puede especificar lo siguiente:
action: acción que se puede producir cuando sucede la transición.
event: evento que activa la transición.
Los servicios que llaman a la máquina de estado pueden hacer referencia a los valores de action y event.
El siguiente código de muestra es el código JSON stateMachineConfiguration de la máquina de estado JobOrderDispatchStatus que proporciona el bloque de creación de la orden de trabajo:
{
"states": {
"Dispatched": {
"initial": true,
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Canceled": {},
"Pending": {}
}
},
"Held": {
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Completed": {},
"Canceled": {}
}
},
"Running": {
"transitions": {
"Held": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
},
"Completed": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
}
}
},
"Completed": {
"final": true
},
"Canceled": {
"final": true
},
"Pending": {
"initial": true,
"transitions": {
"Dispatched": {},
"Canceled": {}
}
}
}
}
¿Fue esto útil?