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

ActionField1168

Beschrijving: Link an existing TaskRiskAnalysis to a work Permit. Custom: Nee

Propertiesbewerken

Property Type Accessor
Permit Permit Root

XMLbewerken

<Workflow Name="ActionField1168" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Link an existing TaskRiskAnalysis to a work Permit.</Description>
	<Properties>
		<Property	Name="Permit"							Type="Permit"					Accessor="Root"		Direction="In" />

		<Property	Name="AdditionalSqlWhereClause"			Type="UltimoString"				Accessor="Internal" />
		<Property	Name="CreatedPermitTaskRiskAnalysis"	Type="PermitTaskRiskAnalysis"	Accessor="Internal" />
		<Property	Name="PermitTaskRiskAnalyses"			Type="QueryResult"				Accessor="Internal" />
		<Property	Name="SelectedTaskRiskAnalysis"			Type="TaskRiskAnalysis"			Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="ValidatePermitNotActiveYet" Condition="${Permit.Status} == PermitStatus.Created || ${Permit.Status} == PermitStatus.Requested || ${Permit.Status} == PermitStatus.Prepared || ${Permit.Status} == PermitStatus.ToProlong" MessageCode="2276">
			<Parameter	Name="Action"	Direction="In"		Value="Link" />
			<Parameter	Name="Permit"	Direction="In"		Value="${Permit}" />
		</Validation>

		<Transaction>
			<Query Name="Query the Ids of all TaskRiskAnalyses already linked to this Permit" Type="PermitTaskRiskAnalysis" OrderBy="Id.TaskRiskAnalysis" OrderDirection="Ascending" OutputProperty="${PermitTaskRiskAnalyses}">
				<Filters>
					<PropertyFilter	PropertyName="Id.Permit"	Operator="="		PropertyValue="${Permit}" />
				</Filters>
				<Properties>
					<Property Name="Id.TaskRiskAnalysis.Id" Alias="id" Type="GroupProperty" />
				</Properties>
			</Query>

			<When Name="When TaskRiskAnalyses found" Condition="${PermitTaskRiskAnalyses.Count} != 0">
				<Assign Name="Build extra SQL WHERE clause" Property="${AdditionalSqlWhereClause}" Value=" AND TraId NOT IN (#foreach(${TaskRiskAnalysis} in ${PermitTaskRiskAnalyses})#each'${TaskRiskAnalysis.id}'#between,#end)" />
			</When>
		</Transaction>

		<SystemDialog Name="DialogSelectTaskRiskAnalysis" DialogName="SelectDomainObject">
			<Parameter	Name="EntityName"					Direction="In"		Value="TaskRiskAnalysis" />
			<Parameter	Name="SelectionListConfiguration"	Direction="In"		Value="Default" />
			<Parameter	Name="SqlWhereClause"				Direction="In"		Value="TraContext = 1 AND TraRecStatus &lt;&gt; 16${AdditionalSqlWhereClause}"													Comment="context WorkPermit, status not Canceled AND not already linked" />
			<Parameter	Name="DomainObject"					Direction="Out"																						OutputProperty="${SelectedTaskRiskAnalysis}" />
		</SystemDialog>

		<Transaction>
			<Insert Name="Link TaskRiskAnalysis to work Permit" ObjectType="PermitTaskRiskAnalysis" OutputProperty="${CreatedPermitTaskRiskAnalysis}">
				<Parameter	Name="Id.Permit"			Direction="In"		Value="${Permit}" />
				<Parameter	Name="Id.TaskRiskAnalysis"	Direction="In"		Value="${SelectedTaskRiskAnalysis}" />
				<Parameter	Name="Context"				Direction="In"		Value="TaskRiskAnalysisContext.WorkPermit" />
			</Insert>
		</Transaction>

		<UserContent Name="Post" />
	</Execution>
</Workflow>