Kernel-Workflow
Informationen
- Kategorien: Kernel | Klassenformeln
- Version: 21.0.0.11226
- Veröffentlichungsdatum: Montag, 27. Februar 2017
- Entwickler: Fischer
- Benötigt Datenbankänderung: Nein
- Betreff: Kernel-Workflow
Beschreibung
Der Kern stellt jetzt Informationen zu internen Workflows zur Verfügung.
Jeder Workflowschritt hat einen eindeutigen Namen und zusätzliche Daten. Diese Daten können über ihren Namen angesprochen werden.
Zur Abfrage stehen in Klassenformeln 2 neue Funktionen zur Verfügung: GetKernelWorkflowState - gibt den Namen des aktuellen Workflowschritts zurück GetKernelWorkflowValue - das 1. Argument enthält den Namen des Datenwerts, der Datenwert wird dem 2. Argument zugewiesen.
Aktuell wird erst ein Workflowschritt unterstützt: Wird bei einer Referenz anstelle eines vorhandenen Entity auszuwählen ein neues Entity erstellt, so wird dieses vor dem Referenzieren an der Oberfläche angezeigt und kann editiert werden.
Zu diesem Zeitpunkt ist der Workflowschritt "EDIT_NEW_ENTITY_BEFORE_REFERENCING" aktiv mit den Daten "REFERENCED_ENTITY" - das neu erzeugte (und jetzt angezeigte) Entity "REFERENCING_ENTITY" - das Entity, das dieses Entity später referenzieren wird "REFERENCING_ATTRIBUTE" - Name des Attributs, das dieses Entity später referenzieren wird
Beispielcode
// Beispiel für Klasse Raum:
onbeginedit
{
var ::Room $eReferenced;
var entity $eReferencing;
var string $strKernelWorkflowState, $strReferencingAttribute;
$strKernelWorkflowState = GetKernelWorkflowState();
MessageBox( "WorkflowState: " + $strKernelWorkflowState, "OK" );
if ( $strKernelWorkflowState == "EDIT_NEW_ENTITY_BEFORE_REFERENCING" )
{
if ( GetKernelWorkflowValue( "REFERENCED_ENTITY", $eReferenced ))
{
MessageBox( "REFERENCED_ENTITY: " + $eReferenced.$Displayname, "OK" );
}
if ( GetKernelWorkflowValue( "REFERENCING_ENTITY", $eReferencing ))
{
MessageBox( "REFERENCING_ENTITY: " + GetAttributeValueAsString( $eReferencing, "$Displayname" ), "OK" );
}
if ( GetKernelWorkflowValue( "REFERENCING_ATTRIBUTE", $strReferencingAttribute ))
{
MessageBox( "REFERENCING_ATTRIBUTE: " + $strReferencingAttribute, "OK" );
}
}
}