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

ActionField158

Beschrijving: Change status of Equipment to 'ToDelete' (status must be Created, Active, Missing, Scrapped, ExchangeUsable, ExchangeOperational or ExchangeDefect). Custom: Nee

Propertiesbewerken

Property Type Accessor
Equipment Equipment Root

XMLbewerken

<Workflow Name="ActionField158" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Change status of Equipment to 'ToDelete' (status must be Created, Active, Missing, Scrapped, ExchangeUsable, ExchangeOperational or ExchangeDefect).</Description>
	<Properties>
		<Property	Name="Equipment"			Type="Equipment"		Accessor="Root"		Direction="In" />

		<Property	Name="AskToContinueResult"	Type="RequestResult"	Accessor="Internal" />
		<Property	Name="EquipmentCount"		Type="Int64"			Accessor="Internal"						Default="0" />
		<Property	Name="PmJobsEqmCount"		Type="Int64"			Accessor="Internal"						Default="0" />
		<Property	Name="PmWorkOrdersEqmCount"	Type="Int64"			Accessor="Internal"						Default="0" />
	</Properties>
	<Execution>
		<Transaction>
			<GetCount Name="Get equipment with linked pmworkorder" Type="Equipment" OutputProperty="${PmWorkOrdersEqmCount}">
				<Joins>
					<Join	Name="PmWorkOrders"	Alias="Pmw"	Type="InnerJoin" />
				</Joins>
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="Pmw.Status"	Operator="="		PropertyValue="PmWorkOrderStatus.Approved" />
						<PropertyFilter	PropertyName="Id"			Operator="="		PropertyValue="${Equipment.Id}" />
					</CombinedFilter>
				</Filters>
			</GetCount>

			<GetCount Name="Get equipment with linked pmjobs" Type="Equipment" OutputProperty="${PmJobsEqmCount}">
				<Joins>
					<Join	Name="PmJobs"	Alias="Pmj"	Type="InnerJoin" />
				</Joins>
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="Pmj.Status"	Operator="="		PropertyValue="PmJobStatus.Approved" />
						<PropertyFilter	PropertyName="Id"			Operator="="		PropertyValue="${Equipment.Id}" />
					</CombinedFilter>
				</Filters>
			</GetCount>

			<Assign Name="Set EquipmentCount " Property="${EquipmentCount}" Value="=${PmWorkOrdersEqmCount}+${PmJobsEqmCount}" />
		</Transaction>

		<UserContent Name="Pre" />

		<Validation Name="ValidateStatusNotDelete" Condition="${Equipment.Status} != EquipmentStatus.ToDelete" MessageCode="0220">
			<Parameter	Name="Equipment"	Direction="In"		Value="${Equipment}" />
		</Validation>
		<Validation Name="ValidateStatus" Condition="${Equipment.Status} == EquipmentStatus.Created || ${Equipment.Status} == EquipmentStatus.Active || ${Equipment.Status} == EquipmentStatus.Missing || ${Equipment.Status} == EquipmentStatus.Scrapped || ${Equipment.Status} == EquipmentStatus.ExchangeUsable || ${Equipment.Status} == EquipmentStatus.ExchangeOperational || ${Equipment.Status} == EquipmentStatus.ExchangeDefect" MessageCode="0224">
			<Parameter	Name="Equipment"	Direction="In"		Value="${Equipment}" />
		</Validation>

		<Choose Name="Check current status">
			<When Name="Current status is Scrapped?" Condition="${Equipment.Status} == EquipmentStatus.Scrapped">
				<Assign Name="Skip question" Property="${AskToContinueResult}" Value="Yes" />
			</When>

			<Otherwise Name="Current status is not Scrapped">
				<Question Name="AskToContinue" Type="YesNo" MessageCode="1118" Default="Yes" OutputProperty="${AskToContinueResult}">
					<Parameter	Name="Equipment"		Direction="In"		Value="${Equipment}" />
					<Parameter	Name="EquipmentCount"	Direction="In"		Value="${EquipmentCount}" />
				</Question>
			</Otherwise>
		</Choose>

		<When Name="IfContinue" Condition="${AskToContinueResult} == Yes">
			<Assign Name="set setting ReopenPmJobs = true" Property="#{Settings.PmWorkOrder.ReopenPmJobs}" Value="True" />

			<Transaction>
				<WorkflowCall Name="Equipment_Move" WorkflowName="Equipment_Move">
					<Parameter	Name="Equipment"			Direction="In"		Value="${Equipment}" />
					<Parameter	Name="Method"				Direction="In"		Value="2"							Comment="Standard" />
					<Parameter	Name="NewEquipmentStatus"	Direction="In"		Value="EquipmentStatus.ToDelete" />
				</WorkflowCall>
			</Transaction>

			<Message Name="MessageEquipmentDeleted" MessageCode="0225">
				<Parameter	Name="Equipment"	Direction="In"		Value="${Equipment}" />
			</Message>
		</When>

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