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

ActionField778

Beschrijving: Change status of PickList(Lines) to Processed. Custom: Nee

Propertiesbewerken

Property Type Accessor
PickList PickList Root

XMLbewerken

<Workflow Name="ActionField778" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Change status of PickList(Lines) to Processed.</Description>
	<Properties>
		<Property	Name="PickList"				Type="PickList"						Accessor="Root"		Direction="In" />

		<Property	Name="PickListLines"		Type="List[PickListLine]"			Accessor="Internal" />
		<Property	Name="PurchaseRequestLines"	Type="List[PurchaseRequestLine]"	Accessor="Internal" />
		<Property	Name="Quantity"				Type="Decimal"						Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<GetList Name="Get PurchaseRequestLines" Type="PurchaseRequestLine" OutputProperty="${PurchaseRequestLines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<InFilter PropertyName="Id">
						<Subquery Type="PickListLine">
							<Filters>
								<CombinedFilter FilterOperator="And">
									<PropertyFilter	PropertyName="Id.PickList"	Operator="="		PropertyValue="${PickList}" />
									<PropertyFilter	PropertyName="Context"		Operator="="		PropertyValue="PickListLineContext.None" />
									<NotFilter>
										<PropertyEmptyFilter PropertyName="PurchaseRequestLine" />
									</NotFilter>
								</CombinedFilter>
							</Filters>
							<Properties>
								<Property Name="PurchaseRequestLine.Id" Alias="pchrlid" Type="GroupProperty" />
							</Properties>
						</Subquery>
					</InFilter>
				</Filters>
			</GetList>
		</Transaction>

		<ForEach Name="Foreach Line" In="${PurchaseRequestLines}" As="PurchaseRequestLine">
			<Transaction>
				<GetSum Name="GetPickedAmountForPurchaseRequestLine" Type="PickListLine" OutputProperty="${Quantity}" PropertyName="Quantity">
					<Filters>
						<CombinedFilter FilterOperator="And">
							<PropertyFilter	PropertyName="Id.PickList"			Operator="="		PropertyValue="${PickList}" />
							<PropertyFilter	PropertyName="Context"				Operator="="		PropertyValue="PickListLineContext.None" />
							<PropertyFilter	PropertyName="PurchaseRequestLine"	Operator="="		PropertyValue="${PurchaseRequestLine}" />
							<InFilter PropertyName="Status" Values="PickListLineStatus.Created, PickListLineStatus.Active" />
						</CombinedFilter>
					</Filters>
				</GetSum>

				<GetList Name="PickListLines" Type="PickListLine" OutputProperty="${PickListLines}" OrderBy="Id.LineId" OrderDirection="Ascending" Comment="Get PickListLines by PickListLine">
					<Filters>
						<CombinedFilter FilterOperator="And">
							<PropertyFilter	PropertyName="Id.PickList"			Operator="="		PropertyValue="${PickList}" />
							<PropertyFilter	PropertyName="Context"				Operator="="		PropertyValue="PickListLineContext.None" />
							<PropertyFilter	PropertyName="PurchaseRequestLine"	Operator="="		PropertyValue="${PurchaseRequestLine}" />
						</CombinedFilter>
					</Filters>
				</GetList>
			</Transaction>

			<When Name="too much" Condition="${PurchaseRequestLine.PurchaseQuantity} - ${PurchaseRequestLine.PickedQuantity} - ${Quantity} &lt; 0">
				<Choose Name="Lines">
					<When Name="one line" Condition="${PickListLines.Count} == 1">
						<ContinuationQuestion Name="Continue" MessageCode="1560">
							<Parameter	Name="PickList"				Direction="In"		Value="${PickList}" />
							<Parameter	Name="PickListLine"			Direction="In"		Value="=#elementat(${PickListLines}, 0)" />
							<Parameter	Name="PurchaseRequestLine"	Direction="In"		Value="${PurchaseRequestLine}" />
						</ContinuationQuestion>
					</When>

					<Otherwise Name="More lines">
						<ContinuationQuestion Name="Continue" MessageCode="2169">
							<Parameter	Name="PickList"				Direction="In"		Value="${PickList}" />
							<Parameter	Name="PickListLines"		Direction="In"		Value="${PickListLines}" />
							<Parameter	Name="PurchaseRequestLine"	Direction="In"		Value="${PurchaseRequestLine}" />
						</ContinuationQuestion>
					</Otherwise>
				</Choose>
			</When>
		</ForEach>

		<Transaction>
			<ChangeStatus Name="Set PickList status" DomainObject="${PickList}" NewStatus="PickListStatus.Processed" />
		</Transaction>

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