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

ActionField1737

Beschrijving: Change Equipment into ExchangePart or vice versa. Custom: Nee

Propertiesbewerken

Property Type Accessor
Equipment Equipment Root
EquipmentContextToSearch List[Context] Required
EmployeeContextToSearch List[Context] Optional
LocationContextToSearch List[Context] Optional
VendorContextToSearch List[Context] Optional
WarehouseContextToSearch List[Context] Optional

XMLbewerken

<Workflow Name="ActionField1737" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Change Equipment into ExchangePart or vice versa.</Description>
	<Properties>
		<Property	Name="Equipment"				Type="Equipment"			Accessor="Root"		Direction="In" />

		<Property	Name="EquipmentContextToSearch"	Type="List[Context]"		Accessor="Required"	Direction="In"											Comment="Used in dialog" />

		<Property	Name="EmployeeContextToSearch"	Type="List[Context]"		Accessor="Optional"	Direction="In"		Default="EmployeeContext.Standard"	Comment="Select Employee from Employees with these contexts" />
		<Property	Name="LocationContextToSearch"	Type="List[Context]"		Accessor="Optional"	Direction="In"		Default="LocationContext.Standard"	Comment="Select Location from Locations with these contexts" />
		<Property	Name="VendorContextToSearch"	Type="List[Context]"		Accessor="Optional"	Direction="In"		Default="VendorContext.Standard"	Comment="Select Vendor from Vendors with these contexts" />
		<Property	Name="WarehouseContextToSearch"	Type="List[Context]"		Accessor="Optional"	Direction="In"		Default="WarehouseContext.Standard"	Comment="Select Warehouse from Warehouses with these contexts" />

		<Property	Name="CountPartOfEquipment"		Type="Int64"				Accessor="Internal" />
		<Property	Name="PlotPlanMarkers"			Type="List[PlotPlanMarker]"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<When Name="Equipment is not an exchange part" Condition="${Equipment.ExchangePart} == False">
			<Transaction>
				<GetCount Name="Get number of underlying equipment" Type="Equipment" OutputProperty="${CountPartOfEquipment}">
					<Filters>
						<PropertyFilter	PropertyName="PartOfEquipment"	Operator="="		PropertyValue="${Equipment}" />
					</Filters>
				</GetCount>

				<Validation Name="No equipment should be part of this equipment" Condition="${CountPartOfEquipment} == 0" MessageCode="3476">
					<Parameter	Name="Equipment"	Direction="In"		Value="${Equipment}" />
				</Validation>

				<GetList Name="Get PlotPlanMarkers related to this Equipment" Type="PlotPlanMarker" OutputProperty="${PlotPlanMarkers}" OrderBy="Id" OrderDirection="Ascending">
					<Filters>
						<InFilter PropertyName="Id">
							<Subquery Type="ObjectPlotPlanMarker">
								<Filters>
									<PropertyFilter	PropertyName="Equipment"	Operator="="		PropertyValue="${Equipment}" />
								</Filters>
								<Properties>
									<Property Name="PlotPlanMarker" Type="Property" />
								</Properties>
							</Subquery>
						</InFilter>
					</Filters>
				</GetList>

				<Validation Name="Equipment should not have any PlotPlanMarkers" Condition="${PlotPlanMarkers.Count} == 0" MessageCode="3517">
					<Parameter	Name="Equipment"		Direction="In"		Value="${Equipment}" />
					<Parameter	Name="PlotPlanMarker"	Direction="In"		Value="${PlotPlanMarkers[0]}" />
					<Parameter	Name="PlotPlanMarkers"	Direction="In"		Value="${PlotPlanMarkers}" />
				</Validation>

				<GetList Name="Get PlotPlanMarkers related to this Equipment" Type="PlotPlanMarker" OutputProperty="${PlotPlanMarkers}" OrderBy="Id" OrderDirection="Ascending">
					<Filters>
						<PropertyFilter	PropertyName="Equipment"	Operator="="		PropertyValue="${Equipment}" />
					</Filters>
				</GetList>

				<Validation Name="Equipment should not have any MeasurementPoints on PlotPlanMarkers" Condition="${PlotPlanMarkers.Count} == 0" MessageCode="3518">
					<Parameter	Name="Equipment"		Direction="In"		Value="${Equipment}" />
					<Parameter	Name="PlotPlanMarker"	Direction="In"		Value="${PlotPlanMarkers[0]}" />
					<Parameter	Name="PlotPlanMarkers"	Direction="In"		Value="${PlotPlanMarkers}" />
				</Validation>
				<Assign Name="Set RegisterObjectDowntime to False when it is an ExchangePart" Property="${Equipment.RegisterObjectDowntime}" Value="False" />
			</Transaction>

			<WorkflowCall Name="Equipment_ChangeIntoExchangePart" WorkflowName="Equipment_ChangeIntoExchangePart">
				<Parameter	Name="EmployeeContextToSearch"	Direction="In"		Value="${EmployeeContextToSearch}" />
				<Parameter	Name="Equipment"				Direction="In"		Value="${Equipment}" />
				<Parameter	Name="EquipmentContextToSearch"	Direction="In"		Value="${EquipmentContextToSearch}" />
				<Parameter	Name="LocationContextToSearch"	Direction="In"		Value="${LocationContextToSearch}" />
				<Parameter	Name="VendorContextToSearch"	Direction="In"		Value="${VendorContextToSearch}" />
				<Parameter	Name="WarehouseContextToSearch"	Direction="In"		Value="${WarehouseContextToSearch}" />
			</WorkflowCall>
		</When>

		<Transaction>
			<Toggle Name="Toggle ExchangePart" Property="${Equipment.ExchangePart}" />
		</Transaction>

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