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

ActionField057

Beschrijving: Copy Maintenance elements with activities from Space to Space. Custom: Nee

Propertiesbewerken

Property Type Accessor
Space Space Root

XMLbewerken

<Workflow Name="ActionField057" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Copy Maintenance elements with activities from Space to Space.</Description>
	<Properties>
		<Property	Name="Space"						Type="Space"					Accessor="Root"		Direction="In" />

		<Property	Name="Building"						Type="Building"					Accessor="Internal" />
		<Property	Name="BuildingFloor"				Type="BuildingFloor"			Accessor="Internal" />
		<Property	Name="BuildingPart"					Type="BuildingPart"				Accessor="Internal" />
		<Property	Name="CollectSpace"					Type="Space"					Accessor="Internal" />
		<Property	Name="CollectUseStandardMaintFreq"	Type="Boolean"					Accessor="Internal" />
		<Property	Name="CopyAction"					Type="Int32"					Accessor="Internal" />
		<Property	Name="DeleteElementQuestion"		Type="RequestResult"			Accessor="Internal" />
		<Property	Name="SourceSpaceMaintenances"		Type="List[SpaceMaintenance]"	Accessor="Internal" />
		<Property	Name="SpaceMaintenances"			Type="List[SpaceMaintenance]"	Accessor="Internal" />
		<Property	Name="YearPlanScenarioLineCount"	Type="Int64"					Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<When Name="CheckBuildingSpace » BuildingfloorFilled" Condition="${Space.BuildingFloor} != Empty">
				<Assign Name="SetBuildingFloor" Property="${BuildingFloor}" Value="${Space.BuildingFloor}" />
				<Assign Name="SetBuildingPart" Property="${BuildingPart}" Value="${BuildingFloor.Id.BuildingPart}" />
				<Assign Name="SetBuilding" Property="${Building}" Value="${BuildingPart.Id.Building}" />

				<GetList Name="GetLinkedSpaceMaintenance" Type="SpaceMaintenance" OutputProperty="${SpaceMaintenances}" OrderBy="Id" OrderDirection="Ascending">
					<Filters>
						<CombinedFilter FilterOperator="And">
							<PropertyFilter	PropertyName="BuildingId"		Operator="="		PropertyValue="${Building.Id}" />
							<PropertyFilter	PropertyName="BuildingPartId"	Operator="="		PropertyValue="${BuildingPart.Id.Id}" />
							<PropertyFilter	PropertyName="BuildingFloorId"	Operator="="		PropertyValue="${BuildingFloor.Id.Id}" />
							<PropertyFilter	PropertyName="Space"			Operator="="		PropertyValue="${Space}" />
						</CombinedFilter>
					</Filters>
				</GetList>
			</When>
		</Transaction>

		<When Name="Check If spaceMaintenance Exists" Condition="${SpaceMaintenances} != Empty">
			<Question Name="AskIfCanDelete" Type="YesNoCancel" MessageCode="1106" Default="No" OutputProperty="${DeleteElementQuestion}" />

			<Choose Name="CheckIfContinue">
				<When Name="Continue" Condition="${DeleteElementQuestion} == Yes">
					<ForEach Name="LoopThroughMaintenances" In="${SpaceMaintenances}" As="SpaceMaintenance">
						<Transaction>
							<GetCount Name="GetLinkedYearPlanScenarioLines" Type="YearPlanScenarioLine" OutputProperty="${YearPlanScenarioLineCount}">
								<Joins>
									<Join	Name="Id.YearPlanScenario"	Alias="Yps"	Type="InnerJoin" />
									<Join	Name="Yps.Id.YearPlan"		Alias="Yp"	Type="InnerJoin" />
								</Joins>
								<Filters>
									<CombinedFilter FilterOperator="And">
										<CombinedFilter FilterOperator="Or">
											<PropertyFilter	PropertyName="Yp.Building.Id"	Operator="="		PropertyValue="${SpaceMaintenance.BuildingId}" />
											<PropertyEmptyFilter PropertyName="Yp.Building" />
										</CombinedFilter>
										<CombinedFilter FilterOperator="And">
											<PropertyFilter	PropertyName="Yp.Status"									Operator="="		PropertyValue="YearPlanStatus.Definitive" />
											<PropertyFilter	PropertyName="Yps.Status"									Operator="="		PropertyValue="YearPlanScenarioStatus.Definitive" />
											<PropertyFilter	PropertyName="SpaceMaintenanceActivity.Id.SpaceMaintenance"	Operator="="		PropertyValue="${SpaceMaintenance}" />
										</CombinedFilter>
									</CombinedFilter>
								</Filters>
							</GetCount>
						</Transaction>

						<Validation Name="NothingMustBeFound" Condition="${YearPlanScenarioLineCount} == 0" MessageCode="1006" />
					</ForEach>
				</When>


				<When Name="ContinueCancel" Condition="${DeleteElementQuestion} == Cancel">
					<Stop Name="Stop" Mode="Abort" />
				</When>
			</Choose>
		</When>

		<Dialog Name="BuildingSpaceCollect" TitleCode="SELECTSPACE">
			<Container>
				<SelectionList Name="Space" OutputProperty="${CollectSpace}" ColumnName="SpcId" ViewfieldConfiguration="Default" Required="True" LabelCode="SPACE" SqlWhereClause="SpcId != '${Space.Id}'" />
			</Container>
		</Dialog>

		<When Name="ContinueIfCollectSpaceFilled » CollectSpaceNotEmpty" Condition="${CollectSpace} != Empty">
			<Transaction>
				<GetList Name="GetSourceSpaceMaintenance" Type="SpaceMaintenance" OutputProperty="${SourceSpaceMaintenances}" OrderBy="Id" OrderDirection="Ascending">
					<Filters>
						<CombinedFilter FilterOperator="And">
							<PropertyFilter	PropertyName="BuildingId"		Operator="="		PropertyValue="${CollectSpace.BuildingFloor.Id.BuildingPart.Id.Building.Id}" />
							<PropertyFilter	PropertyName="BuildingPartId"	Operator="="		PropertyValue="${CollectSpace.BuildingFloor.Id.BuildingPart.Id.Id}" />
							<PropertyFilter	PropertyName="BuildingFloorId"	Operator="="		PropertyValue="${CollectSpace.BuildingFloor.Id.Id}" />
							<PropertyFilter	PropertyName="Space"			Operator="="		PropertyValue="${CollectSpace}" />
						</CombinedFilter>
					</Filters>
				</GetList>

				<When Name="Trash current Spacemaintenances after question" Condition="${DeleteElementQuestion} == Yes">
					<ForEach Name="ForEachSpaceMaintenances" In="${SpaceMaintenances}" As="SpaceMaintenanceDeleteObject">
						<TrashObject Name="TrashSpaceMaintenanceDeleteObject" DomainObject="${SpaceMaintenanceDeleteObject}" />
					</ForEach>
				</When>

				<WorkflowCall Name="CopySpaceMaintenanceList" WorkflowName="SpaceMaintenance_CopyList">
					<Parameter	Name="DestinationSpace"		Direction="In"		Value="${Space}" />
					<Parameter	Name="SpaceMaintenanceList"	Direction="In"		Value="${SourceSpaceMaintenances}" />
				</WorkflowCall>
			</Transaction>
		</When>

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