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

ActionField1006

Beschrijving: Delete WarehouseServeOutline when Article not in Warehouse. Custom: Nee

Propertiesbewerken

Property Type Accessor
WarehouseServeOut WarehouseServeOut Root

XMLbewerken

<Workflow Name="ActionField1006" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Delete WarehouseServeOutline when Article not in Warehouse.</Description>
	<Properties>
		<Property	Name="WarehouseServeOut"			Type="WarehouseServeOut"			Accessor="Root"		Direction="In" />

		<Property	Name="AnswerDeleteWarehouseLines"	Type="RequestResult"				Accessor="Internal" />
		<Property	Name="ArticleIds"					Type="String"						Accessor="Internal" />
		<Property	Name="WarehouseServeOutlines"		Type="List[WarehouseServeOutline]"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<GetList Name="WarehouseServeOutlines" Type="WarehouseServeOutline" OutputProperty="${WarehouseServeOutlines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.WarehouseServeOut"	Operator="="		PropertyValue="${WarehouseServeOut}" />
					<NotFilter>
						<InFilter PropertyName="Article.Id">
							<Subquery Type="ArticleWarehouse">
								<Filters>
									<PropertyFilter	PropertyName="Id.Warehouse"	Operator="="		PropertyValue="${WarehouseServeOut.Warehouse}" />
								</Filters>
								<Properties>
									<Property Name="Id.Article" Alias="articleid" Type="Property" />
								</Properties>
							</Subquery>
						</InFilter>
					</NotFilter>
				</Filters>
			</GetList>
		</Transaction>

		<When Name="Check count" Condition="${WarehouseServeOutlines.Count} &gt; 0">
			<ForEach Name="ForEach WarehouseServeOutline" In="${WarehouseServeOutlines}" As="WarehouseServeOutline">
				<When Name="Check Article" Condition="${WarehouseServeOutline.Article} != Empty ">
					<Assign Name="ArticleId" Property="${ArticleIds}" Value="=#concat(${ArticleIds}, #{SpecialCharacters.NewLine} ,${WarehouseServeOutline.Article.Id}, ', ' ,${WarehouseServeOutline.Article.Description})" />
				</When>
			</ForEach>

			<When Name="Check ArticleIds" Condition="${ArticleIds} != Empty ">
				<Assign Name="CRLF" Property="${ArticleIds}" Value="=#concat(${ArticleIds}, #{SpecialCharacters.NewLine})" />

				<Question Name="ArticleIsNotInWarehouseDeleteLine" Type="YesNo" MessageCode="1934" Default="No" OutputProperty="${AnswerDeleteWarehouseLines}">
					<Parameter	Name="ArticleIds"				Direction="In"		Value="${ArticleIds}" />
					<Parameter	Name="WarehouseServeOutline"	Direction="In"		Value="=#elementat(${WarehouseServeOutlines}, 0)" />
				</Question>

				<When Name="AnswerDeleteWarehouseLines = Yes" Condition="${AnswerDeleteWarehouseLines} == Yes">
					<Transaction>
						<ForEach Name="ForEach WarehouseServeOutline" In="${WarehouseServeOutlines}" As="WarehouseServeOutline">
							<DeleteObject Name="DeleteWarehouseServeOutline" DomainObject="${WarehouseServeOutline}" />
						</ForEach>
					</Transaction>
				</When>
			</When>
		</When>

		<Comment><![CDATA[Check for all WarehouseServeOutlines the InventoryMethod if there is an inventorymethod Create the objectbatches again for the new Warehouse]]></Comment>

		<Transaction>
			<GetList Name="WarehouseServeOutlines" Type="WarehouseServeOutline" OutputProperty="${WarehouseServeOutlines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.WarehouseServeOut"	Operator="="		PropertyValue="${WarehouseServeOut}" />
				</Filters>
			</GetList>
		</Transaction>

		<ForEach Name="ForEach WarehouseServeOutline" In="${WarehouseServeOutlines}" As="WarehouseServeOutline">
			<When Name="Check if inventory method" Condition="${WarehouseServeOutline.Article.InventoryMethod?} != Empty">
				<WorkflowCall Name="ActionField1006_WarehouseServeOutline_CreateObjectBatchForTransfer" WorkflowName="WarehouseServeOutline_CreateObjectBatchForTransfer">
					<Parameter	Name="WarehouseServeOutline"	Direction="In"		Value="${WarehouseServeOutline}" />
				</WorkflowCall>
			</When>

			<When Name="Check if inventory method" Condition="${WarehouseServeOutline.Article.InventoryMethod?} == Empty">
				<WorkflowCall Name="ActionField1006_WarehouseServeOutline_SetWareHouseLocations" WorkflowName="WarehouseServeOutline_SetWareHouseLocations">
					<Parameter	Name="WarehouseServeOutline"	Direction="In"		Value="${WarehouseServeOutline}" />
				</WorkflowCall>
			</When>
		</ForEach>

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