Categorie: reference Bijgewerkt: 2026-04-08 actionfield workflow actionfield993

ActionField993

Beschrijving: Create New ObjectRiskAnalysis for DomainObject (Change,SafetyIncident). Custom: Nee

Propertiesbewerken

Property Type Accessor
DomainObject DomainObject Root
AllowTargetReal Boolean Optional
OnlyTargetExpected Boolean Optional
OnlyTargetReal Boolean Optional
SelectionListConfiguration String Optional

XMLbewerken

<Workflow Name="ActionField993" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create New ObjectRiskAnalysis for DomainObject (Change,SafetyIncident).</Description>
	<Properties>
		<Property	Name="DomainObject"					Type="DomainObject"			Accessor="Root"		Direction="In" />

		<Property	Name="AllowTargetReal"				Type="Boolean"				Accessor="Optional"	Direction="In"		Default="True"											Comment="Only select RiskAnalysisTypes with RisantTarget in (0, 1) " />
		<Property	Name="OnlyTargetExpected"			Type="Boolean"				Accessor="Optional"	Direction="In"		Default="True"											Comment="Only select RiskAnalysisTypes with RisantTarget in (1, 3) " />
		<Property	Name="OnlyTargetReal"				Type="Boolean"				Accessor="Optional"	Direction="In"		Default="False"											Comment="Only select RiskAnalysisTypes with RisantTarget in (2) " />
		<Property	Name="SelectionListConfiguration"	Type="String"				Accessor="Optional"	Direction="In"																Comment="RiskAnalysisType in CollectInput are shown with this SelectionListConfiguration." />

		<Property	Name="ObjectRiskAnalysis"			Type="ObjectRiskAnalysis"	Accessor="Internal" />
		<Property	Name="RiskAnalysisType"				Type="RiskAnalysisType"		Accessor="Internal" />
		<Property	Name="SqlWhereClause"				Type="String"				Accessor="Internal"						Default="RisantRecStatus = '2' and RisantContext = '1'" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Choose Name="Entity">
			<When Name="Change" Condition="${DomainObject.EntityName} == Change">
				<Assign Name="Update where clause" Property="${SqlWhereClause}" Value="${SqlWhereClause} and RisantUseInMoC = '1'" />

				<Choose Name="Target">
					<When Name="Only AllowTargetReal" Condition="${OnlyTargetReal} == True">
						<Assign Name="Update where clause not Allow Real Target" Property="${SqlWhereClause}" Value="${SqlWhereClause} and RisantTarget in ('2')" />
					</When>


					<When Name="Not AllowTargetReal" Condition="${AllowTargetReal} == False">
						<Assign Name="Update where clause not Allow Real Target" Property="${SqlWhereClause}" Value="${SqlWhereClause} and RisantTarget in ('0','1')" />
					</When>
				</Choose>
			</When>


			<When Name="SafetyIncident" Condition="${DomainObject.EntityName} == SafetyIncident">
				<Assign Name="Update where clause" Property="${SqlWhereClause}" Value="${SqlWhereClause} and RisantUseInSafetyIncident = '1'" />

				<When Name="Only allow TargetExpected" Condition="${OnlyTargetExpected} == True">
					<Assign Name="Update where clause not Allow Real Target" Property="${SqlWhereClause}" Value="${SqlWhereClause} and RisantTarget in ('1','3')" />
				</When>
			</When>
		</Choose>

		<SystemDialog Name="InitialRiskAnalysisType" DialogName="SelectDomainObject">
			<Parameter	Name="EntityName"					Direction="In"		Value="RiskAnalysisType" />
			<Parameter	Name="SelectionListConfiguration"	Direction="In"		Value="${SelectionListConfiguration}" />
			<Parameter	Name="SqlWhereClause"				Direction="In"		Value="${SqlWhereClause}" />
			<Parameter	Name="DomainObject"					Direction="Out"												OutputProperty="${RiskAnalysisType}" />
		</SystemDialog>

		<Assign Name="ObjectRiskAnalysis" Property="${ObjectRiskAnalysis}" Value="Empty" />

		<Choose Name="Check if we should create a new risk analysis based on the initial one">
			<When Name="When DomainObject has completed initial risk analysis with same method as chosen one" Condition="${DomainObject.InitialObjectRiskAnalysis.Status?} == ObjectRiskAnalysisStatus.Completed &amp;&amp; ${DomainObject.InitialObjectRiskAnalysis.Method?} == ${RiskAnalysisType.RiskAnalysisMethod.Method}">
				<WorkflowCall Name="DomainObject_CopyObjectRiskAnalysis" WorkflowName="DomainObject_CopyObjectRiskAnalysis">
					<Parameter	Name="ObjectRiskAnalysis"			Direction="In"		Value="${DomainObject.InitialObjectRiskAnalysis}" />
					<Parameter	Name="RiskAnalysisType"				Direction="In"		Value="${RiskAnalysisType}" />
					<Parameter	Name="CreatedObjectRiskAnalysis"	Direction="Out"															OutputProperty="${ObjectRiskAnalysis}" />
				</WorkflowCall>
			</When>

			<Otherwise Name="Otherwise, create a new, blank risk analysis">
				<WorkflowCall Name="DomainObject_CreateObjectRiskAnalysis" WorkflowName="DomainObject_CreateObjectRiskAnalysis">
					<Parameter	Name="DomainObject"					Direction="In"		Value="${DomainObject}" />
					<Parameter	Name="RiskAnalysisType"				Direction="In"		Value="${RiskAnalysisType}" />
					<Parameter	Name="CreatedObjectRiskAnalysis"	Direction="Out"									OutputProperty="${ObjectRiskAnalysis}" />
				</WorkflowCall>
			</Otherwise>
		</Choose>

		<UserContent Name="Post" />

		<View Name="View created risk analysis" ViewName="DataEntryScreen">
			<Parameter	Name="DomainObject"	Direction="In"		Value="${ObjectRiskAnalysis}" />
		</View>
	</Execution>
</Workflow>