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

ActionField443

Beschrijving: Creates Purchases from PurchaseRequestLines belonging to the given PurchaseAdvice. Custom: Nee

Propertiesbewerken

Property Type Accessor
PurchaseAdvice PurchaseAdvice Root
ContextPurchase Context Optional
ContextPurchaseLine Context Optional
DontPrintPurchase Boolean Optional
GetGroupPurchaseRequestLineByProjectId Boolean Optional
PurchaseStatus Status Optional

XMLbewerken

<Workflow Name="ActionField443" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Creates Purchases from PurchaseRequestLines belonging to the given PurchaseAdvice.</Description>
	<Properties>
		<Property	Name="PurchaseAdvice"							Type="PurchaseAdvice"				Accessor="Root"		Direction="In" />

		<Property	Name="ContextPurchase"							Type="Context"						Accessor="Optional"	Direction="In"		Default="PurchaseContext.Purchase"		Comment="Create Purchase with this context" />
		<Property	Name="ContextPurchaseLine"						Type="Context"						Accessor="Optional"	Direction="In"		Default="PurchaseLineContext.Purchase"	Comment="Create PurchaseLine with this context" />
		<Property	Name="DontPrintPurchase"						Type="Boolean"						Accessor="Optional"	Direction="In"		Default="False"							Comment="Ask if created Purchases must be printed" />
		<Property	Name="GetGroupPurchaseRequestLineByProjectId"	Type="Boolean"						Accessor="Optional"	Direction="In"												Comment="Not in use" />
		<Property	Name="PurchaseStatus"							Type="Status"						Accessor="Optional"	Direction="In"		Default="PurchaseStatus.Conceptual"		Comment="Create Purchase with this status" />

		<Property	Name="CreatedPurchases"							Type="List[Purchase]"				Accessor="Internal" />
		<Property	Name="OrderedPurchaseRequestLines"				Type="List[PurchaseRequestLine]"	Accessor="Internal" />
		<Property	Name="Purchase"									Type="Purchase"						Accessor="Internal" />
		<Property	Name="PurchaseRequestLineWithoutVendorCount"	Type="Int64"						Accessor="Internal" />
		<Property	Name="SelectedPurchaseRequestLinesCount"		Type="Int64"						Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<Validation Name="Validate status" Condition="${PurchaseStatus} == PurchaseStatus.Created || ${PurchaseStatus} == PurchaseStatus.Approved || ${PurchaseStatus} == PurchaseStatus.Active || ${PurchaseStatus} == PurchaseStatus.Conceptual" MessageCode="0656">
				<Parameter	Name="PurchaseAdvice"	Direction="In"		Value="${PurchaseAdvice}" />
			</Validation>

			<GetCount Name="Count PurchaseRequestLines without Vendor" Type="PurchaseRequestLine" OutputProperty="${PurchaseRequestLineWithoutVendorCount}">
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="PurchaseAdvice"	Operator="="		PropertyValue="${PurchaseAdvice}" />
						<PropertyFilter	PropertyName="Selected"			Operator="="		PropertyValue="True" />
						<PropertyEmptyFilter PropertyName="Vendor" />
					</CombinedFilter>
				</Filters>
			</GetCount>

			<Validation Name="Check PurchaseRequestLines without Vendor" Condition="${PurchaseRequestLineWithoutVendorCount} == 0" MessageCode="0992">
				<Parameter	Name="PurchaseAdvice"			Direction="In"		Value="${PurchaseAdvice}" />
				<Parameter	Name="PurchaseRequestLineCount"	Direction="In"		Value="${PurchaseRequestLineWithoutVendorCount}" />
			</Validation>

			<GetCount Name="Count selected PurchaseRequestLines" Type="PurchaseRequestLine" OutputProperty="${SelectedPurchaseRequestLinesCount}">
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="PurchaseAdvice"	Operator="="		PropertyValue="${PurchaseAdvice}" />
						<PropertyFilter	PropertyName="Selected"			Operator="="		PropertyValue="True" />
					</CombinedFilter>
				</Filters>
			</GetCount>

			<Validation Name="Validate selected PurchaseRequestLines" Condition="${SelectedPurchaseRequestLinesCount} &gt; 0" MessageCode="1902">
				<Parameter	Name="PurchaseAdvice"	Direction="In"		Value="${PurchaseAdvice}" />
			</Validation>

			<Command Name="PurchaseRequestLine_GetOrderedList" CommandName="PurchaseRequestLine_GetOrderedList">
				<Parameter	Name="PurchaseAdvice"			Direction="In"		Value="${PurchaseAdvice}" />
				<Parameter	Name="PurchaseRequestLineList"	Direction="Out"									OutputProperty="${OrderedPurchaseRequestLines}" />
			</Command>

			<WorkflowCall Name="PurchaseAdvice_CreatePurchaseWithPurchaseLine" WorkflowName="PurchaseAdvice_CreatePurchaseWithPurchaseLine">
				<Parameter	Name="ContextPurchase"				Direction="In"		Value="${ContextPurchase}" />
				<Parameter	Name="ContextPurchaseLine"			Direction="In"		Value="${ContextPurchaseLine}" />
				<Parameter	Name="OrderedPurchaseRequestLines"	Direction="In"		Value="${OrderedPurchaseRequestLines}" />
				<Parameter	Name="PurchaseAdvice"				Direction="In"		Value="${PurchaseAdvice}" />
				<Parameter	Name="PurchaseStatus"				Direction="In"		Value="${PurchaseStatus}" />
				<Parameter	Name="CreatedPurchases"				Direction="Out"												OutputProperty="${CreatedPurchases}" />
				<Parameter	Name="Purchase"						Direction="Out"												OutputProperty="${Purchase}" />
			</WorkflowCall>
		</Transaction>

		<UserContent Name="Post" />

		<When Name="Purchase is not empty" Condition="${CreatedPurchases} != Empty">
			<Message Name="ummPURCHADVICE2PURCHCREATED" MessageCode="0538">
				<Parameter	Name="PurchaseAdvice"	Direction="In"		Value="${PurchaseAdvice}" />
				<Parameter	Name="PurchaseCount"	Direction="In"		Value="${CreatedPurchases.Count}" />
			</Message>

			<When Name="There are PurchaseLines Created" Condition="${CreatedPurchases.Count} &gt; 0">
				<When Name="Purchase state is Create,Conceptual or Active" Condition="${Purchase.Status} == PurchaseStatus.Created || ${Purchase.Status} == PurchaseStatus.Conceptual || ${Purchase.Status} == PurchaseStatus.Active">
					<When Name="Purchase must be printed" Condition="${DontPrintPurchase} == False">
						<WorkflowCall Name="Purchase_Print" WorkflowName="Purchase_Print">
							<Parameter	Name="CreatedPurchases"	Direction="In"		Value="${CreatedPurchases}" />
							<Parameter	Name="Purchase"			Direction="In"		Value="${Purchase}" />
						</WorkflowCall>
					</When>
				</When>
			</When>
		</When>
	</Execution>
</Workflow>