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

ActionField1141

Beschrijving: Move or Copy a Job to another backoffice (selected via dialog). Custom: Nee

Propertiesbewerken

Property Type Accessor
Job Job Root
ConditionFlawPresentContext Context Optional
EmailTextTemplate UltimoString Optional
ExtraFieldsToCopy List[String] Optional
IncidentContext Context Optional
JobContext Context Optional
ProgressStatusOldJobAfterCopyJob ProgressStatus Optional
ResetStatusCreatedReportDate Boolean Optional
ServiceDeskReportType ServiceDeskReportType Optional
SqlWhereClause UltimoString Optional
UseProgressStatus Boolean Optional

XMLbewerken

<Workflow Name="ActionField1141" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Move or Copy a Job to another backoffice (selected via dialog).</Description>
	<Properties>
		<Property	Name="Job"									Type="Job"						Accessor="Root"		Direction="In" />

		<Property	Name="ConditionFlawPresentContext"			Type="Context"					Accessor="Optional"	Direction="In"																																								Comment="Create a ConditionFlawPresent with this context" />
		<Property	Name="EmailTextTemplate"					Type="UltimoString"				Accessor="Optional"	Direction="In"																																								Comment="Use this Template if an Email must be send" />
		<Property	Name="ExtraFieldsToCopy"					Type="List[String]"				Accessor="Optional"	Direction="In"																																								Comment="Indicate additional columns to be copied (when copied)" />
		<Property	Name="IncidentContext"						Type="Context"					Accessor="Optional"	Direction="In"		Default="IncidentContext.Incident"																														Comment="Create an Incident with this context" />
		<Property	Name="JobContext"							Type="Context"					Accessor="Optional"	Direction="In"																																								Comment="New context for the Job (when copied)" />
		<Property	Name="ProgressStatusOldJobAfterCopyJob"		Type="ProgressStatus"			Accessor="Optional"	Direction="In"																																								Comment="New ProgressStatus of the Job (when copied)" />
		<Property	Name="ResetStatusCreatedReportDate"			Type="Boolean"					Accessor="Optional"	Direction="In"		Default="False"																																			Comment="Reset status CreatedReportDate (when copied)" />
		<Property	Name="ServiceDeskReportType"				Type="ServiceDeskReportType"	Accessor="Optional"	Direction="In"																																								Comment="Set this ServiceDeskReportType to the Job (when moved)" />
		<Property	Name="SqlWhereClause"						Type="UltimoString"				Accessor="Optional"	Direction="In"		Default="BofRecStatus = 2 AND (select count(SdrtId) from dba.ServiceDeskReportType where SdrtBofId = BofId and SdrtUseForChangeBackOffice = 1) &gt; 0"	Comment="Optional SQL WHERE clause to filter the backoffices that can be selected in the dialog" />
		<Property	Name="UseProgressStatus"					Type="Boolean"					Accessor="Optional"	Direction="In"		Default="True"																																			Comment="Use ProgressStatus or not" />

		<Property	Name="BackOffice"							Type="BackOffice"				Accessor="Internal" />
		<Property	Name="CombinedSqlWhereClause"				Type="String"					Accessor="Internal" />
		<Property	Name="GeoObject"							Type="GeoObject"				Accessor="Internal" />
		<Property	Name="Item"									Type="Dictionary[Object]"		Accessor="Internal" />
		<Property	Name="Locations"							Type="List[Dictionary[Object]]"	Accessor="Internal" />
		<Property	Name="ShowMessage"							Type="Boolean"					Accessor="Internal"						Default="False" />
		<Property	Name="SqlWhereClauseLicensedBackOffices"	Type="UltimoString"				Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="Job cannot be stoprelated" Condition="${Job.StopRelated} == False" MessageCode="2408">
			<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
		</Validation>
		<Validation Name="Job cannot be a multijob" Condition="${Job.IsMultijob} == False &amp;&amp; ${Job.MultijobTemplate} == Empty" MessageCode="2250">
			<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
		</Validation>
		<Validation Name="Job cannot be a PM job" Condition="${Job.PmJob} == Empty &amp;&amp; ${Job.PmWorkOrder} == Empty" MessageCode="2251">
			<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
		</Validation>
		<Validation Name="Job cannot be a project job" Condition="${Job.Project} == Empty" MessageCode="2252">
			<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
		</Validation>

		<Choose Name="The dialog will be shown only if ServiceDeskReportType is empty">
			<When Name="Only if ServiceDeskReportType is still Empty" Condition="${ServiceDeskReportType} == Empty">
				<WorkflowCall Name="License_GetLicensedBackOfficesSqlWhereClause" WorkflowName="License_GetLicensedBackOfficesSqlWhereClause">
					<Parameter	Name="SqlWhereClause"	Direction="Out"		OutputProperty="${SqlWhereClauseLicensedBackOffices}" />
				</WorkflowCall>

				<AssignWhenEmpty Name="Set default for SqlWhereClause" Property="${SqlWhereClause}" Value="1=1" />
				<Assign Name="Set CombinedSqlWhereClause" Property="${CombinedSqlWhereClause}" Value="${SqlWhereClauseLicensedBackOffices} AND (${SqlWhereClause})" />

				<Dialog Name="ChangeBackOfficeDialog" TitleCode="CHANGEBACKOFFICE">
					<Container Border="True">
						<ComboBox Name="BackOffice" Width="300" OutputProperty="${BackOffice}" Required="True" LabelCode="BACKOFFICECODE" ItemDescription="${Item.Description}" OrderDirection="Ascending" OrderBy="Description" SqlWhereClause="${CombinedSqlWhereClause}" />

						<ComboBox Name="ServiceDeskReportType" Width="300" OutputProperty="${ServiceDeskReportType}" Required="True" ReadOnly="=${BackOffice} == Empty" LabelCode="SERVICEDESKREPORTTYPECODE" ItemDescription="${Item.Description}" OrderDirection="Ascending" OrderBy="Description">
							<Filters>
								<PropertyFilter	PropertyName="BackOffice"				Operator="="		PropertyValue="${BackOffice}" />
								<PropertyFilter	PropertyName="Status"					Operator="="		PropertyValue="ServiceDeskReportTypeStatus.Active" />
								<PropertyFilter	PropertyName="UseForChangeBackOffice"	Operator="="		PropertyValue="True" />
								<PropertyFilter	PropertyName="StopRelated"				Operator="="		PropertyValue="False" />
							</Filters>
						</ComboBox>
					</Container>
				</Dialog>
			</When>

			<Otherwise Name="The backoffice will be set from report type">
				<Assign Name="Assign BackOffice from ServiceDeskReportType" Property="${BackOffice}" Value="${ServiceDeskReportType.BackOffice}" />
			</Otherwise>
		</Choose>

		<When Name="Context is Empty" Condition="${JobContext} == Empty">
			<Assign Name="Set JobContext" Property="${JobContext}" Value="${BackOffice.JobContext}" />
		</When>

		<WorkflowCall Name="Job_ChangeBackOffice" WorkflowName="Job_ChangeBackOffice">
			<Parameter	Name="BackOffice"						Direction="In"		Value="${BackOffice}" />
			<Parameter	Name="ConditionFlawPresentContext"		Direction="In"		Value="${ConditionFlawPresentContext}" />
			<Parameter	Name="EmailTextTemplate"				Direction="In"		Value="${EmailTextTemplate}" />
			<Parameter	Name="ExtraFieldsToCopy"				Direction="In"		Value="${ExtraFieldsToCopy}" />
			<Parameter	Name="IncidentContext"					Direction="In"		Value="${IncidentContext}" />
			<Parameter	Name="Job"								Direction="In"		Value="${Job}" />
			<Parameter	Name="JobContext"						Direction="In"		Value="${JobContext}" />
			<Parameter	Name="ProgressStatusOldJobAfterCopyJob"	Direction="In"		Value="${ProgressStatusOldJobAfterCopyJob}" />
			<Parameter	Name="ResetStatusCreatedReportDate"		Direction="In"		Value="${ResetStatusCreatedReportDate}" />
			<Parameter	Name="ServiceDeskReportType"			Direction="In"		Value="${ServiceDeskReportType}" />
			<Parameter	Name="UseProgressStatus"				Direction="In"		Value="${UseProgressStatus}" />
		</WorkflowCall>

		<WorkflowCall Name="UnLinkDocumentsFromJob" WorkflowName="Job_UnLinkDocuments">
			<Parameter	Name="Job"			Direction="In"		Value="${Job}" />
			<Parameter	Name="ShowMessage"	Direction="Out"						OutputProperty="${ShowMessage}" />
		</WorkflowCall>

		<UserContent Name="Post" />

		<When Name="Documents Unlinked" Condition="${ShowMessage} == True">
			<Message Name="Documents Unlinked" MessageCode="2830">
				<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
			</Message>
		</When>
	</Execution>
</Workflow>