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

ActionField1097

Beschrijving: Create Batch/ObjectBatch/BatchWarehouseLocation for this WarehouseServeOutLine. Custom: Nee

Propertiesbewerken

Property Type Accessor
WarehouseServeOutline WarehouseServeOutline Root

XMLbewerken

<Workflow Name="ActionField1097" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create Batch/ObjectBatch/BatchWarehouseLocation for this WarehouseServeOutLine.</Description>
	<Properties>
		<Property	Name="WarehouseServeOutline"			Type="WarehouseServeOutline"			Accessor="Root"		Direction="In" />

		<Property	Name="ArticleWarehouseLocation"			Type="ArticleWarehouseLocation"			Accessor="Internal" />
		<Property	Name="CreatedBatch"						Type="Batch"							Accessor="Internal" />
		<Property	Name="CreatedBatchWarehouseLocation"	Type="BatchWarehouseLocation"			Accessor="Internal" />
		<Property	Name="CreatedObjectBatch"				Type="ObjectBatch"						Accessor="Internal" />
		<Property	Name="DefaultReceiptLocations"			Type="List[ArticleWarehouseLocation]"	Accessor="Internal" />
		<Property	Name="RemarkText"						Type="String"							Accessor="Internal" />
		<Property	Name="TempArticleVendor"				Type="ArticleVendor"					Accessor="Internal" />
		<Property	Name="TempBatchExpiryDate"				Type="Date?"							Accessor="Internal" />
		<Property	Name="TempBatchInitialQuantity"			Type="Decimal"							Accessor="Internal"						Default="1" />
		<Property	Name="TempBookDate"						Type="Date?"							Accessor="Internal" />
		<Property	Name="TempVendorBatchCode"				Type="String"							Accessor="Internal" />
		<Property	Name="TempWarehouseLocation"			Type="WarehouseLocation"				Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<When Name="Check if WareHouseServeOutType is Correction" Condition="${WarehouseServeOutline.Id.WarehouseServeOut.Type} == WarehouseServeOutType.Correction &amp;&amp; ${WarehouseServeOutline.Article.InventoryMethod?} != Empty">
			<When Name="An Article and a Warehouse" Condition="${WarehouseServeOutline.Article?} != Empty &amp;&amp; ${WarehouseServeOutline.Id.WarehouseServeOut.Warehouse?} != Empty">
				<Transaction>
					<GetList Name="Get Default Receipt Location" Type="ArticleWarehouseLocation" OutputProperty="${DefaultReceiptLocations}" OrderBy="Id" OrderDirection="Ascending">
						<Filters>
							<PropertyFilter	PropertyName="Id.Article"							Operator="="		PropertyValue="${WarehouseServeOutline.Article}" />
							<PropertyFilter	PropertyName="Id.WarehouseLocation.Id.Warehouse.Id"	Operator="="		PropertyValue="${WarehouseServeOutline.Id.WarehouseServeOut.Warehouse}" />
						</Filters>
					</GetList>

					<When Name="Only one ArticleWarehouseLocations is found" Condition="${DefaultReceiptLocations.Count} == 1">
						<ForEach Name="DefaultReceiptLocation" In="${DefaultReceiptLocations}" As="DefaultReceiptLocation">
							<Assign Name="Set DefaultLocation" Property="${TempWarehouseLocation}" Value="${DefaultReceiptLocation.Id.WarehouseLocation}" />
						</ForEach>
					</When>
				</Transaction>
			</When>

			<Dialog Name="WarehouseServeOutLine_CreateBatch" TitleCode="CREATEBATCHSFORCORRECTION">
				<Container Border="True">
					<ComboBox Name="Vendor" Value="${TempArticleVendor}" OutputProperty="${TempArticleVendor}" Required="True" LabelCode="VENDORCODE" ItemDescription="${Item.Id.Vendor.Id}: ${Item.Id.Vendor.Description}" OrderDirection="Ascending" OrderBy="Id">
						<Filters>
							<PropertyFilter	PropertyName="Id.Article"	Operator="="		PropertyValue="${WarehouseServeOutline.Article}" />
						</Filters>
					</ComboBox>

					<Text Name="VendorBatchCode" OutputProperty="${TempVendorBatchCode}" LabelCode="VENDORBATCHCODE" />

					<SelectionList Name="WarehouseLocation" Value="${TempWarehouseLocation}" OutputProperty="${TempWarehouseLocation}" ColumnName="WhslCode" Required="True" LabelCode="WAREHOUSELOCATION" SqlWhereClause="WhslWhsId = '${WarehouseServeOutline.Id.WarehouseServeOut.Warehouse.Id}' and WhslCode in ( select ArtWhslWhslCode from dba.ArticleWarehouseLocation where ArtWhslArtId = '${WarehouseServeOutline.Article.Id}' and ArtWhslWhslWhsId = '${WarehouseServeOutline.Id.WarehouseServeOut.Warehouse.Id}')" />

					<Number Name="InitialQuantity" Value="${TempBatchInitialQuantity}" OutputProperty="${TempBatchInitialQuantity}" LabelCode="BATCHINITIALQUANTITY" MinValue="1" DecimalPrecision="0" />

					<Date Name="BatchExpiryDateReqTrue" Visible="=${WarehouseServeOutline.Article.InventoryMethod.MethodType} == FEFO" Value="${TempBatchExpiryDate}" OutputProperty="${TempBatchExpiryDate}" Required="True" ReadOnly="False" LabelCode="EXPIRYDATE" />

					<Date Name="BatchExpiryDateReqFalse" Visible="=${WarehouseServeOutline.Article.InventoryMethod.MethodType} != FEFO" Value="${TempBatchExpiryDate}" OutputProperty="${TempBatchExpiryDate}" Required="False" ReadOnly="False" LabelCode="EXPIRYDATE" />
				</Container>
			</Dialog>

			<Validation Name="Check Vendor" Condition="${TempArticleVendor} != Empty" MessageCode="2175" />
			<Validation Name="Check InitialQuantity" Condition="${TempBatchInitialQuantity} &gt; 0" MessageCode="2301" />
			<Validation Name="Check WarehouseLocation" Condition="${TempWarehouseLocation} != Empty" MessageCode="2302" />

			<Transaction>
				<Insert Name="Create ObjectBatch" ObjectType="ObjectBatch" OutputProperty="${CreatedObjectBatch}">
					<Parameter	Name="Context"					Direction="In"		Value="ObjectBatchContext.Standard" />
					<Parameter	Name="Status"					Direction="In"		Value="ObjectBatchStatus.Created" />
					<Parameter	Name="WarehouseServeOutline"	Direction="In"		Value="${WarehouseServeOutline}" />
				</Insert>

				<Assign Name="TempBookDate" Property="${TempBookDate}" Value="${WarehouseServeOutline.Id.WarehouseServeOut.BookDate}" />

				<Insert Name="Create Batch" ObjectType="Batch" OutputProperty="${CreatedBatch}">
					<Parameter	Name="Context"		Direction="In"		Value="BatchContext.Article" />
					<Parameter	Name="Status"		Direction="In"		Value="BatchStatus.Emptied" />
					<Parameter	Name="ReceivedDate"	Direction="In"		Value="=#setdatetime(#getyear(${TempBookDate}), #getmonth(${TempBookDate}), #getday(${TempBookDate}), 0, 0, 0)" />
				</Insert>

				<Assign Name="Set Article" Property="${CreatedBatch.Article}" Value="${WarehouseServeOutline.Article}" />

				<When Name="Check Article" Condition="${WarehouseServeOutline.Article.ArticleGroup?} != Empty">
					<Assign Name="Set ArticleGroup" Property="${CreatedBatch.ArticleGroup}" Value="${WarehouseServeOutline.Article.ArticleGroup}" />
				</When>

				<Assign Name="Set Vendor" Property="${CreatedBatch.Vendor}" Value="${TempArticleVendor.Id.Vendor}" />
				<Assign Name="Set VendorBatchCode" Property="${CreatedBatch.VendorBatchCode}" Value="${TempVendorBatchCode}" />
				<Assign Name="Set InitialQuantity" Property="${CreatedBatch.InitialQuantity}" Value="${TempBatchInitialQuantity}" />
				<Assign Name="Set ExpiryDate" Property="${CreatedBatch.ExpiryDate}" Value="${TempBatchExpiryDate}" />
				<Assign Name="Set ReceivedDate" Property="${CreatedBatch.ReceivedDate}" Value="#{Environment.CurrentDateTime}" />

				<FormatText Name="CREATEDBYWAREHOUSESERVEOUT" TextCode="CREATEDBYWAREHOUSESERVEOUT" Application="LABEL" OutputProperty="${RemarkText}">
					<Parameters>
						<Parameter	Name="WarehouseServeOutId"	Direction="In"		Value="${WarehouseServeOutline.Id.WarehouseServeOut.Id}" />
					</Parameters>
				</FormatText>

				<Command Name="Remark Part I" CommandName="HtmlColumn_GetComment">
					<Parameter	Name="AddDescription"		Direction="In"		Value="${RemarkText}" />
					<Parameter	Name="CurrentDescription"	Direction="In"		Value="${CreatedBatch.RemarkText}" />
					<Parameter	Name="Date"					Direction="In"		Value="#{Environment.CurrentDateTime}" />
					<Parameter	Name="Employee"				Direction="In"		Value="#{User.EmployeeId}" />
					<Parameter	Name="CombinedDescription"	Direction="Out"												OutputProperty="${CreatedBatch.RemarkText}" />
				</Command>

				<Assign Name="Set CreatedObjectBatch batch" Property="${CreatedObjectBatch.Batch}" Value="${CreatedBatch}" />
				<Assign Name="Set CreatedObjectBatch QuantityIn" Property="${CreatedObjectBatch.QuantityIn}" Value="${TempBatchInitialQuantity}" />
				<Assign Name="Set WarehouseLocation" Property="${CreatedObjectBatch.WarehouseLocation}" Value="${TempWarehouseLocation}" />

				<When Name="ObjectBatch Has WarehouseLocation" Condition="${CreatedObjectBatch.WarehouseLocation?} != Empty ">
					<Insert Name="Create BatchWarehouseLocation" ObjectType="BatchWarehouseLocation" OutputProperty="${CreatedBatchWarehouseLocation}">
						<Parameter	Name="Id.Batch"				Direction="In"		Value="${CreatedObjectBatch.Batch}" />
						<Parameter	Name="Id.WarehouseLocation"	Direction="In"		Value="${CreatedObjectBatch.WarehouseLocation}" />
						<Parameter	Name="Status"				Direction="In"		Value="BatchWarehouseLocationStatus.Created" />
					</Insert>
				</When>

				<WorkflowCall Name="ActionField1097_ObjectBatch_UpdateDomainObject" WorkflowName="ObjectBatch_UpdateDomainObject">
					<Parameter	Name="ObjectBatch"	Direction="In"		Value="${CreatedObjectBatch}" />
				</WorkflowCall>
			</Transaction>
		</When>

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