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

ActionField692

Beschrijving: Recalculates costs of SpaceMaintenanceActivities and SpaceMaintenances with new ElementQuantity (asked via Dialog). Custom: Nee

Propertiesbewerken

Property Type Accessor
SpaceMaintenance SpaceMaintenance Root

XMLbewerken

<Workflow Name="ActionField692" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Recalculates costs of SpaceMaintenanceActivities and SpaceMaintenances with new ElementQuantity (asked via Dialog).</Description>
	<Properties>
		<Property	Name="SpaceMaintenance"				Type="SpaceMaintenance"					Accessor="Root"		Direction="In" />

		<Property	Name="Continue"						Type="RequestResult"					Accessor="Internal" />
		<Property	Name="NewQuantity"					Type="Decimal"							Accessor="Internal" />
		<Property	Name="SpaceMaintenanceActivities"	Type="List[SpaceMaintenanceActivity]"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Question Name="AskIfTheUserIsSure" Type="YesNo" MessageCode="1263" OutputProperty="${Continue}" />

		<When Name="ContinueIfYes » BreakIfNo" Condition="${Continue} == No">
			<Stop Name="Stop" Mode="EndCurrent" />
		</When>

		<Choose Name="CheckIfHasEquipment" Comment="When there is a equipment, quantity will be one">
			<When Name="ElementQuantity" Condition="${SpaceMaintenance.Equipment} != Empty">
				<Validation Name="Check if ElementQuantity is one" Condition="${SpaceMaintenance.ElementQuantity} != 1" MessageCode="3004" />

				<When Name="CheckIfElementQuantityIsNotEmpty" Condition="${SpaceMaintenance.ElementQuantity} != 1">
					<Assign Name="Set NewQuantity to 1" Property="${NewQuantity}" Value="1" />

					<Message Name="ElementQuantityReset" MessageCode="3005" />
				</When>
			</When>

			<Otherwise Name="AdjustQuantity">
				<Dialog Name="GetNewQuantity" TitleCode="CHANGEQUANTITY" LabelWidth="195">
					<Container>
						<Number Name="GetQuantity" OutputProperty="${NewQuantity}" ColumnName="SpcmElementQty" />
					</Container>
				</Dialog>
			</Otherwise>
		</Choose>

		<Transaction>
			<GetList Name="GetSpaceMaintenanceActivityList" Type="SpaceMaintenanceActivity" OutputProperty="${SpaceMaintenanceActivities}" OrderBy="NextMaintenanceYearInspector" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.SpaceMaintenance"	Operator="="		PropertyValue="${SpaceMaintenance}" />
					<PropertyFilter	PropertyName="Active"				Operator="="		PropertyValue="True" />
				</Filters>
			</GetList>

			<Assign Name="UpdateQuantity" Property="${SpaceMaintenance.ElementQuantity}" Value="${NewQuantity}" />

			<ForEach Name="UpdateAllActivities" In="${SpaceMaintenance.Activities}" As="SpaceMaintenanceActivity">
				<When Name="AreUnitTypesEqual" Condition="${SpaceMaintenanceActivity.Id.MaintenancePartActivity.Unit} == ${SpaceMaintenance.MaintenancePart.Unit}">
					<Assign Name="UpdateQuantity" Property="${SpaceMaintenanceActivity.Quantity}" Value="${NewQuantity}" />

					<WorkflowCall Name="SpaceMaintenanceActivity_UpdateCostYears" WorkflowName="SpaceMaintenanceActivity_UpdateCostYears">
						<Parameter	Name="SpaceMaintenanceActivity"	Direction="In"		Value="${SpaceMaintenanceActivity}" />
					</WorkflowCall>
				</When>
			</ForEach>

			<WorkflowCall Name="SpaceMaintenance_UpdateTotals" WorkflowName="SpaceMaintenance_UpdateTotals">
				<Parameter	Name="SpaceMaintenance"	Direction="In"		Value="${SpaceMaintenance}" />
			</WorkflowCall>
		</Transaction>

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