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

ActionField216

Beschrijving: Close the Purchase for Receipt (Purchase status must be Active, PartReceived or Received). Custom: Nee

Propertiesbewerken

Property Type Accessor
Receipt Receipt Root

XMLbewerken

<Workflow Name="ActionField216" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Close the Purchase for Receipt (Purchase status must be Active, PartReceived or Received).</Description>
	<Properties>
		<Property	Name="Receipt"			Type="Receipt"			Accessor="Root"		Direction="In" />

		<Property	Name="ClosePurchase"	Type="RequestResult"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Choose Name="Is receipt a return or not">
			<When Name="Is Receipt a Return?" Condition="${Receipt.Status} == ReceiptStatus.ReturnCreated || ${Receipt.Status} == ReceiptStatus.ReturnApproved">
				<Validation Name="PurchaseStatus OK?" Condition="${Receipt.Purchase.Status} == PurchaseStatus.Active || ${Receipt.Purchase.Status} == PurchaseStatus.PartReceived || ${Receipt.Purchase.Status} == PurchaseStatus.Received" MessageCode="0532">
					<Parameter	Name="Purchase"	Direction="In"		Value="${Receipt.Purchase}" />
				</Validation>

				<Question Name="Close purchase" Type="YesNo" MessageCode="0604" OutputProperty="${ClosePurchase}">
					<Parameter	Name="Purchase"	Direction="In"		Value="${Receipt.Purchase}" />
				</Question>

				<When Name="Yes" Condition="${ClosePurchase} == Yes">
					<Transaction>
						<ChangeStatus Name="Closed Purchase" DomainObject="${Receipt.Purchase}" NewStatus="PurchaseStatus.Closed" />
					</Transaction>

					<Message Name="Purchase closed" MessageCode="0526">
						<Parameter	Name="Purchase"	Direction="In"		Value="${Receipt.Purchase}" />
					</Message>
				</When>
			</When>

			<Otherwise Name="Receipt is not a return">
				<ForEach Name="Foreach ReceiptLine" In="${Receipt.Lines}" As="ReceiptLine">
					<Validation Name="PurchaseStatus OK?" Condition="${ReceiptLine.PurchaseLine.Id.Purchase.Status} == PurchaseStatus.Active || ${ReceiptLine.PurchaseLine.Id.Purchase.Status} == PurchaseStatus.PartReceived || ${ReceiptLine.PurchaseLine.Id.Purchase.Status} == PurchaseStatus.Received" MessageCode="0532">
						<Parameter	Name="Purchase"	Direction="In"		Value="${ReceiptLine.PurchaseLine.Id.Purchase}" />
					</Validation>
				</ForEach>

				<Question Name="Close purchase" Type="YesNo" MessageCode="2343" OutputProperty="${ClosePurchase}">
					<Parameter	Name="Receipt"	Direction="In"		Value="${Receipt}" />
				</Question>

				<When Name="Yes" Condition="${ClosePurchase} == Yes">
					<Transaction>
						<ForEach Name="Foreach ReceiptLine" In="${Receipt.Lines}" As="ReceiptLine">
							<ChangeStatus Name="Closed Purchase" DomainObject="${ReceiptLine.PurchaseLine.Id.Purchase}" NewStatus="PurchaseStatus.Closed" />
						</ForEach>
					</Transaction>

					<Message Name="Purchase closed" MessageCode="2344">
						<Parameter	Name="Receipt"	Direction="In"		Value="${Receipt}" />
					</Message>
				</When>
			</Otherwise>
		</Choose>

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