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

ActionField1550

Beschrijving: get the progress status context for the context of the Job. Custom: Nee

Propertiesbewerken

Property Type Accessor
DefaultProgressStatusContext DefaultProgressStatusContext Root
ReceivedProgressStatus Boolean Optional
UseCustomerSatisfactionProgressStatus Boolean Optional

XMLbewerken

<Workflow Name="ActionField1550" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>get the progress status context for the context of the Job.</Description>
	<Properties>
		<Property	Name="DefaultProgressStatusContext"				Type="DefaultProgressStatusContext"	Accessor="Root"		Direction="In" />

		<Property	Name="ReceivedProgressStatus"					Type="Boolean"						Accessor="Optional"	Direction="In"		Comment="If true field for reply progressstatus is set otherwise field for request is filled" />
		<Property	Name="UseCustomerSatisfactionProgressStatus"	Type="Boolean"						Accessor="Optional"	Direction="In"		Comment="If true field for custumor satisfaction otherwise field for response" />

		<Property	Name="HasStatusTransition"						Type="Boolean"						Accessor="Internal" />
		<Property	Name="Jobs"										Type="List[Job]"					Accessor="Internal" />
		<Property	Name="ProgressStatus"							Type="ProgressStatus"				Accessor="Internal" />
		<Property	Name="ProgressStatusContext"					Type="Context"						Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<Command Name="GetProgressStatusContextForJobContext" CommandName="GetProgressStatusContextForJobContext">
				<Parameter	Name="JobContext"				Direction="In"		Value="${DefaultProgressStatusContext.Id.Id}" />
				<Parameter	Name="ProgressStatusContext"	Direction="Out"														OutputProperty="${ProgressStatusContext}" />
			</Command>
		</Transaction>

		<SystemDialog Name="SelectDomainObject" DialogName="SelectDomainObject">
			<Parameter	Name="EntityName"					Direction="In"		Value="ProgressStatus" />
			<Parameter	Name="SelectionListConfiguration"	Direction="In"		Value="Default" />
			<Parameter	Name="SqlWhereClause"				Direction="In"		Value="PrsContext = '${ProgressStatusContext}'" />
			<Parameter	Name="DomainObject"					Direction="Out"														OutputProperty="${ProgressStatus}" />
		</SystemDialog>

		<Transaction>
			<GetList Name="Get a non finished or closed job for PmWorkOrder" Type="Job" OutputProperty="${Jobs}" OrderBy="Id" OrderDirection="Ascending" Top="1">
				<Filters>
					<PropertyFilter	PropertyName="Status"	Operator="&gt;"		PropertyValue="-1" />
				</Filters>
			</GetList>

			<When Name="CustomerSatisfactionReceivedProgressStatus status" Condition="${UseCustomerSatisfactionProgressStatus} == True &amp;&amp; ${ReceivedProgressStatus} == True &amp;&amp; ${DefaultProgressStatusContext.CustomerSatisfactionRequestedProgressStatus} != Empty">
				<Command Name="Check if DomainObject has status transition from current to new" CommandName="DomainObject_HasStatusTransition">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${Jobs[0]}" />
					<Parameter	Name="NewStatus"			Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"			Direction="In"		Value="${DefaultProgressStatusContext.CustomerSatisfactionRequestedProgressStatus.NextStatus}" />
					<Parameter	Name="HasStatusTransition"	Direction="Out"																										OutputProperty="${HasStatusTransition}" />
				</Command>

				<Validation Name="Validate CustomerSatisfactionReceivedProgressStatus StatusTransition" Condition="${HasStatusTransition} == True" MessageCode="3609">
					<Parameter	Name="NewStatus"		Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"		Direction="In"		Value="${DefaultProgressStatusContext.CustomerSatisfactionRequestedProgressStatus.NextStatus}" />
					<Parameter	Name="ProgressStatus"	Direction="In"		Value="${ProgressStatus}" />
				</Validation>
			</When>

			<When Name="CustomerSatisfactionRequestedProgressStatus is changed" Condition="${UseCustomerSatisfactionProgressStatus} == True &amp;&amp; ${ReceivedProgressStatus} == False &amp;&amp; ${DefaultProgressStatusContext.CustomerSatisfactionReceivedProgressStatus} != Empty">
				<Command Name="Check if DomainObject has status transition from current to new" CommandName="DomainObject_HasStatusTransition">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${Jobs[0]}" />
					<Parameter	Name="NewStatus"			Direction="In"		Value="${DefaultProgressStatusContext.CustomerSatisfactionReceivedProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"			Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="HasStatusTransition"	Direction="Out"																										OutputProperty="${HasStatusTransition}" />
				</Command>

				<Validation Name="Validate CustomerSatisfactionRequestedProgressStatus StatusTransition" Condition="${HasStatusTransition} == True" MessageCode="3609">
					<Parameter	Name="NewStatus"		Direction="In"		Value="${DefaultProgressStatusContext.CustomerSatisfactionReceivedProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"		Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="ProgressStatus"	Direction="In"		Value="${ProgressStatus}" />
				</Validation>
			</When>

			<When Name="ResponseReceivedProgressStatus" Condition="${UseCustomerSatisfactionProgressStatus} == False &amp;&amp; ${ReceivedProgressStatus} == True &amp;&amp; ${DefaultProgressStatusContext.ResponseRequestedProgressStatus} != Empty">
				<Command Name="Check if DomainObject has status transition from current to new" CommandName="DomainObject_HasStatusTransition">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${Jobs[0]}" />
					<Parameter	Name="NewStatus"			Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"			Direction="In"		Value="${DefaultProgressStatusContext.ResponseRequestedProgressStatus.NextStatus}" />
					<Parameter	Name="HasStatusTransition"	Direction="Out"																							OutputProperty="${HasStatusTransition}" />
				</Command>

				<Validation Name="Validate ResponseReceivedProgressStatus StatusTransition" Condition="${HasStatusTransition} == True" MessageCode="3609">
					<Parameter	Name="NewStatus"		Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"		Direction="In"		Value="${DefaultProgressStatusContext.ResponseRequestedProgressStatus.NextStatus}" />
					<Parameter	Name="ProgressStatus"	Direction="In"		Value="${ProgressStatus}" />
				</Validation>
			</When>

			<When Name="ResponseRequestedProgressStatus" Condition="${UseCustomerSatisfactionProgressStatus} == False &amp;&amp; ${ReceivedProgressStatus} == False &amp;&amp; ${DefaultProgressStatusContext.ResponseReceivedProgressStatus} != Empty">
				<Command Name="Check if DomainObject has status transition from current to new" CommandName="DomainObject_HasStatusTransition">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${Jobs[0]}" />
					<Parameter	Name="NewStatus"			Direction="In"		Value="${DefaultProgressStatusContext.ResponseReceivedProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"			Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="HasStatusTransition"	Direction="Out"																							OutputProperty="${HasStatusTransition}" />
				</Command>

				<Validation Name="Validate ResponseRequestedProgressStatus StatusTransition" Condition="${HasStatusTransition} == True" MessageCode="3609">
					<Parameter	Name="NewStatus"		Direction="In"		Value="${DefaultProgressStatusContext.ResponseReceivedProgressStatus.NextStatus}" />
					<Parameter	Name="OldStatus"		Direction="In"		Value="${ProgressStatus.NextStatus}" />
					<Parameter	Name="ProgressStatus"	Direction="In"		Value="${ProgressStatus}" />
				</Validation>
			</When>

			<Choose Name="ChooseReplyOrCustomerSatisfaction">
				<When Name="CustomerSatisfactionRequestedProgressStatus" Condition="${UseCustomerSatisfactionProgressStatus} == True &amp;&amp; ${ReceivedProgressStatus} == False">
					<Assign Name="Set CustomerSatisfactionRequestedProgressStatus" Property="${DefaultProgressStatusContext.CustomerSatisfactionRequestedProgressStatus}" Value="${ProgressStatus}" />
				</When>


				<When Name="CustomerSatisfactionReceivedProgressStatus" Condition="${UseCustomerSatisfactionProgressStatus} == True &amp;&amp; ${ReceivedProgressStatus} == True">
					<Assign Name="Set CustomerSatisfactionReceivedProgressStatus" Property="${DefaultProgressStatusContext.CustomerSatisfactionReceivedProgressStatus}" Value="${ProgressStatus}" />
				</When>


				<When Name="Response Required" Condition="${UseCustomerSatisfactionProgressStatus} == False &amp;&amp; ${ReceivedProgressStatus} == False">
					<Assign Name="Set ResponseRequestedProgressStatus" Property="${DefaultProgressStatusContext.ResponseRequestedProgressStatus}" Value="${ProgressStatus}" />
				</When>

				<Otherwise Name="ResponseReceivedProgressStatus">
					<Assign Name="Set ResponseReceivedProgressStatus" Property="${DefaultProgressStatusContext.ResponseReceivedProgressStatus}" Value="${ProgressStatus}" />
				</Otherwise>
			</Choose>
		</Transaction>

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