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

ActionField1068

Beschrijving: Create ObjectBatch(es) for JobMaterial. Custom: Nee

Propertiesbewerken

Property Type Accessor
JobMaterial JobMaterial Root

XMLbewerken

<Workflow Name="ActionField1068" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create ObjectBatch(es) for JobMaterial.</Description>
	<Properties>
		<Property	Name="JobMaterial"						Type="JobMaterial"				Accessor="Root"		Direction="In" />

		<Property	Name="ArticleWarehouseLocation"			Type="ArticleWarehouseLocation"	Accessor="Internal" />
		<Property	Name="FoundWarehouseLocation"			Type="WarehouseLocation"		Accessor="Internal" />
		<Property	Name="JobMaterialQuantityOutUpdated"	Type="Boolean"					Accessor="Internal"						Default="False" />
		<Property	Name="ObjectBatchesToDelete"			Type="List[ObjectBatch]"		Accessor="Internal" />
		<Property	Name="OriginalQuantityOut"				Type="Decimal"					Accessor="Internal"						Default="${JobMaterial.QuantityOut}" />
	</Properties>
	<Settings>
		<SettingsGroup Name="ObjectBatch">
			<Setting	Name="UpdateDomainObjectQuantityAfterDelete"	Type="Boolean"	Value="False" />
		</SettingsGroup>
	</Settings>
	<Execution>
		<UserContent Name="Pre" />

		<Assign Name="Set Update To False" Property="#{Settings.ObjectBatch.UpdateDomainObjectQuantityAfterDelete}" Value="False" />

		<Transaction>
			<When Name="QuantityOut" Condition="${JobMaterial.QuantityOut} &gt; 0 &amp;&amp; ${JobMaterial.WarehouseLocation.IssueLocation?} == False">
				<Assign Name="Wrong WarehouseLocation" Property="${JobMaterial.WarehouseLocation}" Value="Empty" />
			</When>

			<When Name="QuantityIn" Condition="${JobMaterial.QuantityIn} &gt; 0 &amp;&amp; ${JobMaterial.WarehouseLocation.ReceiptLocation?} == False">
				<Assign Name="Wrong WarehouseLocation" Property="${JobMaterial.WarehouseLocation}" Value="Empty" />
			</When>
		</Transaction>

		<WorkflowCall Name="ActionField1068_JobMaterial_CreateObjectBatch" WorkflowName="JobMaterial_CreateObjectBatch">
			<Parameter	Name="JobMaterial"		Direction="In"		Value="${JobMaterial}" />
			<Parameter	Name="RecalculateRaise"	Direction="In"		Value="=${JobMaterial.Id.Job.InternalChargeMethod.ForMaterials?} == InvoiceActualCost" />
		</WorkflowCall>

		<When Name="Check if not inventory method" Condition="${JobMaterial.Article.InventoryMethod?} == Empty">
			<Transaction>
				<GetList Name="Get ObjectBatches to delete" Type="ObjectBatch" OutputProperty="${ObjectBatchesToDelete}" OrderBy="Id" OrderDirection="Ascending">
					<Filters>
						<PropertyFilter	PropertyName="JobMaterial"	Operator="="		PropertyValue="${JobMaterial}" />
					</Filters>
				</GetList>

				<ForEach Name="Loop ObjectBatchesToDelete" In="${ObjectBatchesToDelete}" As="ObjectBatchToDelete">
					<DeleteObject Name="Delete ObjectBatch" DomainObject="${ObjectBatchToDelete}" />
				</ForEach>

				<When Name="article available" Condition="${JobMaterial.Article} != Empty &amp;&amp; ${JobMaterial.WarehouseLocation} == Empty">
					<WorkflowCall Name="JobMaterial_GetWarehouseAndArticleWarehouseLocation" WorkflowName="JobMaterial_GetWarehouseAndArticleWarehouseLocation">
						<Parameter	Name="JobMaterial"	Direction="In"		Value="${JobMaterial}" />
					</WorkflowCall>
				</When>
			</Transaction>
		</When>

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