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

ActionField1804

Beschrijving: Delete article from bill of materials, jobplans, PM models. Custom: Nee

Propertiesbewerken

Property Type Accessor
Article Article Root

XMLbewerken

<Workflow Name="ActionField1804" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Delete article from bill of materials, jobplans, PM models.</Description>
	<Properties>
		<Property	Name="Article"					Type="Article"						Accessor="Root"		Direction="In" />

		<Property	Name="EquipmentSpareParts"		Type="List[EquipmentSparePart]"		Accessor="Internal" />
		<Property	Name="EquipmentTypeSpareParts"	Type="List[EquipmentTypeSparePart]"	Accessor="Internal" />
		<Property	Name="JobPlanMaterials"			Type="List[JobPlanMaterial]"		Accessor="Internal" />
		<Property	Name="PmJobMaterials"			Type="List[PmJobMaterial]"			Accessor="Internal" />
		<Property	Name="PurchaseLines"			Type="List[PurchaseLine]"			Accessor="Internal"						Default="Empty" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="Check Stock" Condition="${Article.Stock} == 0" MessageCode="3693">
			<Parameter	Name="Article"	Direction="In"		Value="${Article}" />
		</Validation>

		<Transaction>
			<GetList Name="Get PurchaseLines" Type="PurchaseLine" OutputProperty="${PurchaseLines}" OrderBy="Id.Purchase" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Article"	Operator="="		PropertyValue="${Article}" />
					<NotFilter>
						<InFilter PropertyName="Status" Values="PurchaseLineStatus.Canceled,PurchaseLineStatus.Received,PurchaseLineStatus.Closed" />
					</NotFilter>
				</Filters>
			</GetList>
		</Transaction>

		<Validation Name="Check PurchaseLines" Condition="${PurchaseLines.Count} == 0" MessageCode="3694">
			<Parameter	Name="Article"			Direction="In"		Value="${Article}" />
			<Parameter	Name="PurchaseLines"	Direction="In"		Value="${PurchaseLines}" />
		</Validation>

		<ContinuationQuestion Name="Continue with deleting from linked tables" MessageCode="3692">
			<Parameter	Name="Article"	Direction="In"		Value="${Article}" />
		</ContinuationQuestion>

		<Transaction>
			<GetList Name="GetEquipmentSparePart" Type="EquipmentSparePart" OutputProperty="${EquipmentSpareParts}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.Article"	Operator="="		PropertyValue="${Article}" />
				</Filters>
			</GetList>

			<ForEach Name="ForeachEquipmentSpareParts" In="${EquipmentSpareParts}" As="EquipmentSparePart">
				<DeleteObject Name="Delete EquipmentSparePart" DomainObject="${EquipmentSparePart}" />
			</ForEach>

			<GetList Name="Get EquipmentType Spare Part" Type="EquipmentTypeSparePart" OutputProperty="${EquipmentTypeSpareParts}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.Article"	Operator="="		PropertyValue="${Article}" />
				</Filters>
			</GetList>

			<ForEach Name="For each EquipmentType Spare Parts" In="${EquipmentTypeSpareParts}" As="EquipmentTypeSparePart">
				<DeleteObject Name="Delete EquipmentType SparePart" DomainObject="${EquipmentTypeSparePart}" />
			</ForEach>

			<GetList Name="JobPlanMaterial" Type="JobPlanMaterial" OutputProperty="${JobPlanMaterials}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.Article"	Operator="="		PropertyValue="${Article}" />
				</Filters>
			</GetList>

			<ForEach Name="Loop JobPlanMaterials" In="${JobPlanMaterials}" As="JobPlanMaterial">
				<DeleteObject Name="Delete JobPlanMaterial" DomainObject="${JobPlanMaterial}" />
			</ForEach>

			<GetList Name="GetJobMaterials" Type="PmJobMaterial" OutputProperty="${PmJobMaterials}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.Article"	Operator="="		PropertyValue="${Article}" />
				</Filters>
			</GetList>

			<ForEach Name="None" In="${PmJobMaterials}" As="PmJobMaterial">
				<DeleteObject Name="Delete PmJobMaterial" DomainObject="${PmJobMaterial}" />
			</ForEach>
		</Transaction>

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