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

ActionField109

Beschrijving: Approve PurchaseLine and corresponding ReceiptLine. ReceiptLine and PurchaseLine should have been added with ActionField108. PurchaseLine status must be AddedReceiptLine and PurchaseQuantity greather then 0. Custom: Nee

Propertiesbewerken

Property Type Accessor
PurchaseLine PurchaseLine Root
FormName UltimoString Optional

XMLbewerken

<Workflow Name="ActionField109" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Approve PurchaseLine and corresponding ReceiptLine. ReceiptLine and PurchaseLine should have been added with ActionField108. PurchaseLine status must be AddedReceiptLine and PurchaseQuantity greather then 0.</Description>
	<Properties>
		<Property	Name="PurchaseLine"			Type="PurchaseLine"			Accessor="Root"		Direction="In" />

		<Property	Name="FormName"				Type="UltimoString"			Accessor="Optional"	Direction="In"		Comment="Open this screen with the approved PurchaseLine" />

		<Property	Name="CreatedObjectBatch"	Type="ObjectBatch"			Accessor="Internal" />
		<Property	Name="ReceiptLines"			Type="List[ReceiptLine]"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="PurchaseLineStatus OK?" Condition="${PurchaseLine.Status} == PurchaseLineStatus.AddedReceiptLine" MessageCode="0598">
			<Parameter	Name="PurchaseLine"	Direction="In"		Value="${PurchaseLine}" />
		</Validation>
		<Validation Name="PurchaseQuantity OK?" Condition="${PurchaseLine.PurchaseQuantity} &gt;= 0" MessageCode="0599">
			<Parameter	Name="PurchaseLine"	Direction="In"		Value="${PurchaseLine}" />
		</Validation>

		<Transaction>
			<GetList Name="Get receiptlines" Type="ReceiptLine" OutputProperty="${ReceiptLines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.Receipt"	Operator="="		PropertyValue="${PurchaseLine.ReceiptLine.Id.Receipt}" />
				</Filters>
			</GetList>

			<ForEach Name="Foreach receiptline" In="${ReceiptLines}" As="ReceiptLine" Condition="${ReceiptLine} == ${PurchaseLine.ReceiptLine}">
				<Assign Name="Set ReceiptLine.Article " Property="${ReceiptLine.Article}" Value="${PurchaseLine.Article}" />
				<Assign Name="Set ReceiptLine.ReceivedQuantity " Property="${ReceiptLine.ReceivedQuantity}" Value="${PurchaseLine.PurchaseQuantity}" />

				<ChangeStatus Name="Set ReceiptLineStatus" DomainObject="${ReceiptLine}" NewStatus="${ReceiptLine.Id.Receipt.Status}" />

				<When Name="Check InventoryMethod" Condition="${ReceiptLine.Article.InventoryMethod?} != Empty">
					<WorkflowCall Name="ReceiptLine_CreateObjectBatch" WorkflowName="ReceiptLine_CreateObjectBatch">
						<Parameter	Name="ReceiptLine"			Direction="In"		Value="${ReceiptLine}" />
						<Parameter	Name="CreatedObjectBatch"	Direction="Out"								OutputProperty="${CreatedObjectBatch}" />
					</WorkflowCall>
				</When>
			</ForEach>

			<ChangeStatus Name="PurchaseLineStatus = Active" DomainObject="${PurchaseLine}" NewStatus="PurchaseLineStatus.Active" />
		</Transaction>

		<UserContent Name="Post" />

		<View Name="OpenScreen" ViewName="DataEntryScreen">
			<Parameter	Name="DomainObject"	Direction="In"		Value="${PurchaseLine.ReceiptLine.Id.Receipt}" />
			<Parameter	Name="ScreenName"	Direction="In"		Value="${FormName}" />
		</View>
	</Execution>
</Workflow>