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

ActionField1858

Beschrijving: Delete specific objects linked to EquipmentType when the EquipmentType should no longer be linked to specific objects. Custom: Nee

Propertiesbewerken

Property Type Accessor
EquipmentType EquipmentType Root
SpecificProperty String Required

XMLbewerken

<Workflow Name="ActionField1858" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Delete specific objects linked to EquipmentType when the EquipmentType should no longer be linked to specific objects.</Description>
	<Properties>
		<Property	Name="EquipmentType"			Type="EquipmentType"				Accessor="Root"		Direction="In" />

		<Property	Name="SpecificProperty"			Type="String"						Accessor="Required"	Direction="In"													Comment="Components or Remedies" />

		<Property	Name="DeleteObjects"			Type="RequestResult"				Accessor="Internal"						Default="Yes" />
		<Property	Name="SpecificLinkedObjects"	Type="List[ObjectEquipmentType]"	Accessor="Internal" />
		<Property	Name="UseSpecificProperty"		Type="String"						Accessor="Internal"						Default="UseSpecific${SpecificProperty}" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<When Name="When use of specific linked objects is turned off" Condition="#getpropertyvalue(${EquipmentType}, ${UseSpecificProperty}) == False">
			<Transaction>
				<GetList Name="Get specific linked objects" Type="ObjectEquipmentType" OutputProperty="${SpecificLinkedObjects}" OrderBy="Id" OrderDirection="Ascending">
					<Filters>
						<PropertyFilter	PropertyName="EquipmentType"	Operator="="		PropertyValue="${EquipmentType}" />
						<WhenFilter Condition="${SpecificProperty} == Components">
							<NotFilter>
								<PropertyEmptyFilter PropertyName="Component" />
							</NotFilter>
						</WhenFilter>
						<WhenFilter Condition="${SpecificProperty} == Remedies">
							<NotFilter>
								<PropertyEmptyFilter PropertyName="Remedy" />
							</NotFilter>
						</WhenFilter>
					</Filters>
				</GetList>
			</Transaction>

			<When Name="Specific linked objects exist" Condition="${SpecificLinkedObjects.Count} &gt; 0">
				<Question Name="Delete the linked objects?" Type="YesNo" MessageCode="3875" Default="Yes" OutputProperty="${DeleteObjects}">
					<Parameter	Name="EquipmentType"		Direction="In"		Value="${EquipmentType}" />
					<Parameter	Name="LinkedObjectsCount"	Direction="In"		Value="${SpecificLinkedObjects.Count}" />
					<Parameter	Name="SpecificProperty"		Direction="In"		Value="${SpecificProperty}" />
				</Question>

				<Transaction>
					<Choose>
						<When Condition="${DeleteObjects} == No">
							<Update Name="Set value back to True" DomainObject="${EquipmentType}">
								<Parameter	Name="${UseSpecificProperty}"	Direction="In"		Value="True" />
							</Update>
						</When>

						<Otherwise>
							<ForEach Name="Loop linked objects" In="${SpecificLinkedObjects}" As="SpecificLinkedObject">
								<DeleteObject Name="Delete linked object" DomainObject="${SpecificLinkedObject}" />
							</ForEach>
						</Otherwise>
					</Choose>
				</Transaction>
			</When>
		</When>

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