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

ActionField1813

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

Propertiesbewerken

Property Type Accessor
PickList PickList Root

XMLbewerken

<Workflow Name="ActionField1813" 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="JobMaterialLines"	Type="List[JobMaterial]"	Accessor="Internal" />
		<Property	Name="PickListLines"	Type="List[PickListLine]"	Accessor="Internal" />
		<Property	Name="Quantity"			Type="Decimal"				Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="Validate ToWarehouse" Condition="${PickList.ToWarehouse} != Empty &amp;&amp; ${PickList.ToWarehouseLocation} != Empty" MessageCode="3724">
			<Parameter	Name="PickList"	Direction="In"		Value="${PickList}" />
		</Validation>

		<Transaction>
			<GetList Name="Get JobMaterialLines" Type="JobMaterial" OutputProperty="${JobMaterialLines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<CombinedFilter FilterOperator="And">
						<InFilter PropertyName="Id.Job">
							<Subquery Type="PickListLine">
								<Filters>
									<CombinedFilter FilterOperator="And">
										<PropertyFilter	PropertyName="Id.PickList"	Operator="="		PropertyValue="${PickList}" />
										<PropertyFilter	PropertyName="Context"		Operator="="		PropertyValue="PickListLineContext.JobMaterial" />
										<NotFilter>
											<PropertyEmptyFilter PropertyName="JobMaterial" />
										</NotFilter>
									</CombinedFilter>
								</Filters>
								<Properties>
									<Property Name="JobMaterial.Id.Job.Id" Alias="JobmJobId" Type="GroupProperty" />
								</Properties>
							</Subquery>
						</InFilter>
						<InFilter PropertyName="Id.LineId">
							<Subquery Type="PickListLine">
								<Filters>
									<CombinedFilter FilterOperator="And">
										<PropertyFilter	PropertyName="Id.PickList"	Operator="="		PropertyValue="${PickList}" />
										<PropertyFilter	PropertyName="Context"		Operator="="		PropertyValue="PickListLineContext.JobMaterial" />
										<NotFilter>
											<PropertyEmptyFilter PropertyName="JobMaterial" />
										</NotFilter>
									</CombinedFilter>
								</Filters>
								<Properties>
									<Property Name="JobMaterial.Id.LineId" Alias="JobmLineId" Type="GroupProperty" />
								</Properties>
							</Subquery>
						</InFilter>
					</CombinedFilter>
				</Filters>
			</GetList>
		</Transaction>

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

			<When Name="too much" Condition="${JobMaterial.ReservedQuantity} - ${JobMaterial.PickedQuantity} - ${Quantity} &lt; 0">
				<Transaction>
					<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.JobMaterial" />
								<PropertyFilter	PropertyName="JobMaterial"	Operator="="		PropertyValue="${JobMaterial}" />
							</CombinedFilter>
						</Filters>
					</GetList>
				</Transaction>

				<ContinuationQuestion Name="Continue" MessageCode="3720">
					<Parameter	Name="JobMaterial"		Direction="In"		Value="${JobMaterial}" />
					<Parameter	Name="PickList"			Direction="In"		Value="${PickList}" />
					<Parameter	Name="PickListLines"	Direction="In"		Value="${PickListLines}" />
				</ContinuationQuestion>
			</When>
		</ForEach>

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

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