Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1095
ActionField1095
Beschrijving: Check the Warehouse(Locations) from the WarehouseServeOutLines of this WarehouseServeOut. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| WarehouseServeOut | WarehouseServeOut | Root |
XMLbewerken
<Workflow Name="ActionField1095" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Check the Warehouse(Locations) from the WarehouseServeOutLines of this WarehouseServeOut.</Description>
<Properties>
<Property Name="WarehouseServeOut" Type="WarehouseServeOut" Accessor="Root" Direction="In" />
<Property Name="AnswerDeleteWarehouseLines" Type="RequestResult" Accessor="Internal" />
<Property Name="ArticleIds" Type="String" Accessor="Internal" Default="Empty" />
<Property Name="ArticleToWarehouseLocations" Type="List[ArticleWarehouseLocation]" Accessor="Internal" Default="Empty" />
<Property Name="NoWarehouseLocationFound" Type="Boolean" Accessor="Internal" Default="False" />
<Property Name="ObjectBatchesToUpdate" Type="List[ObjectBatch]" Accessor="Internal" />
<Property Name="ToArticleWarehouseLocation" Type="ArticleWarehouseLocation" Accessor="Internal" />
<Property Name="WarehouseServeOutlines" Type="List[WarehouseServeOutline]" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<GetList Name="WarehouseServeOutlines" Type="WarehouseServeOutline" OutputProperty="${WarehouseServeOutlines}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Id.WarehouseServeOut" Operator="=" PropertyValue="${WarehouseServeOut}" />
<NotFilter>
<CombinedFilter FilterOperator="And">
<PropertyEmptyFilter PropertyName="ToWarehouseLocation" />
<PropertyEmptyFilter PropertyName="Article" />
</CombinedFilter>
</NotFilter>
</Filters>
</GetList>
<ForEach Name="ForEach WarehouseServeOutline" In="${WarehouseServeOutlines}" As="WarehouseServeOutline">
<WorkflowCall Name="WarehouseServeOut_CheckArticleWarehouseLocations" WorkflowName="WarehouseServeOut_CheckArticleWarehouseLocations">
<Parameter Name="WarehouseServeOut" Direction="In" Value="${WarehouseServeOut}" />
<Parameter Name="WarehouseServeOutline" Direction="In" Value="${WarehouseServeOutline}" />
<Parameter Name="ArticleIds" Direction="InOut" Value="${ArticleIds}" OutputProperty="${ArticleIds}" />
<Parameter Name="NoWarehouseLocationFound" Direction="InOut" Value="${NoWarehouseLocationFound}" OutputProperty="${NoWarehouseLocationFound}" />
</WorkflowCall>
</ForEach>
</Transaction>
<When Name="Lines without correct warehouselocation? and Check ArticleIds" Condition="${NoWarehouseLocationFound} == True && ${ArticleIds} != Empty">
<Assign Name="CRLF" Property="${ArticleIds}" Value="=#concat(${ArticleIds}, #{SpecialCharacters.NewLine})" />
<Question Name="ArticleIsNotInWarehouseDeleteLine" Type="YesNo" MessageCode="2152" Default="No" OutputProperty="${AnswerDeleteWarehouseLines}">
<Parameter Name="ArticleIds" Direction="In" Value="${ArticleIds}" />
<Parameter Name="WarehouseServeOutline" Direction="In" Value="=#elementat(${WarehouseServeOutlines}, 0)" />
</Question>
<Transaction>
<When Name="AnswerDeleteWarehouseLines = Yes" Condition="${AnswerDeleteWarehouseLines} == Yes">
<ForEach Name="ForEach WarehouseServeOutline" In="${WarehouseServeOutlines}" As="WarehouseServeOutline">
<GetItem Name="Get ArticleWarehouseLocation" Type="ArticleWarehouseLocation" OutputProperty="${ToArticleWarehouseLocation}">
<Filters>
<PropertyFilter PropertyName="Id.Article" Operator="=" PropertyValue="${WarehouseServeOutline.Article}" />
<PropertyFilter PropertyName="Id.WarehouseLocation.Id.Warehouse" Operator="=" PropertyValue="${WarehouseServeOut.ToWarehouse}" />
<PropertyFilter PropertyName="Id.WarehouseLocation.Id.Code" Operator="=" PropertyValue="${WarehouseServeOutline.ToWarehouseLocation.Id.Code?}" />
</Filters>
</GetItem>
<When Name="Has No ArticleWarehouseLocation" Condition="${ToArticleWarehouseLocation} == Empty">
<DeleteObject Name="DeleteWarehouseServeOutline" DomainObject="${WarehouseServeOutline}" />
</When>
</ForEach>
</When>
</Transaction>
</When>
<Transaction>
<GetList Name="WarehouseServeOutlines" Type="WarehouseServeOutline" OutputProperty="${WarehouseServeOutlines}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Id.WarehouseServeOut" Operator="=" PropertyValue="${WarehouseServeOut}" />
<NotFilter>
<CombinedFilter FilterOperator="And">
<PropertyEmptyFilter PropertyName="ToWarehouseLocation" />
<PropertyEmptyFilter PropertyName="Article" />
</CombinedFilter>
</NotFilter>
</Filters>
</GetList>
<ForEach Name="ForEach WarehouseServeOutline" In="${WarehouseServeOutlines}" As="WarehouseServeOutline">
<When Name="Check if inventory method" Condition="${WarehouseServeOutline.Article.InventoryMethod?} != Empty">
<GetList Name="Get ObjectBatches to Update" Type="ObjectBatch" OutputProperty="${ObjectBatchesToUpdate}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="WarehouseServeOutline" Operator="=" PropertyValue="${WarehouseServeOutline}" />
</Filters>
</GetList>
<ForEach Name="Loop ObjectBatchesToDelete" In="${ObjectBatchesToUpdate}" As="ObjectBatchToUpdate">
<Assign Name="Set automatically ObjectBatch.ToWarehouseLocation" Property="${ObjectBatchToUpdate.ToWarehouseLocation}" Value="Empty" />
<GetList Name="Get ArticleWarehouseLocations for Article/ToWarehouse" Type="ArticleWarehouseLocation" OutputProperty="${ArticleToWarehouseLocations}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Id.Article" Operator="=" PropertyValue="${WarehouseServeOutline.Article}" />
<PropertyFilter PropertyName="Id.WarehouseLocation.Id.Warehouse" Operator="=" PropertyValue="${WarehouseServeOutline.Id.WarehouseServeOut.ToWarehouse}" />
</Filters>
</GetList>
<When Name="When one ArticleWarehouseLocation is found" Condition="${ArticleToWarehouseLocations.Count} == 1">
<Assign Name="Set automatically ObjectBatch.ToWarehouseLocation" Property="${ObjectBatchToUpdate.ToWarehouseLocation}" Value="=#getpropertyvalue(#elementat(${ArticleToWarehouseLocations}, 0), 'Id.WarehouseLocation')" />
</When>
</ForEach>
</When>
<When Name="Check if inventory method" Condition="${WarehouseServeOutline.Article.InventoryMethod?} == Empty">
<Assign Name="set To WarehouseLocation to empty" Property="${WarehouseServeOutline.ToWarehouseLocation}" Value="Empty" />
<GetList Name="GetArticleFromWarehouseLocations" Type="ArticleWarehouseLocation" OutputProperty="${ArticleToWarehouseLocations}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Id.Article" Operator="=" PropertyValue="${WarehouseServeOutline.Article}" />
<PropertyFilter PropertyName="Id.WarehouseLocation.Id.Warehouse" Operator="=" PropertyValue="${WarehouseServeOutline.Id.WarehouseServeOut.ToWarehouse}" />
</Filters>
</GetList>
<When Name="only one to location" Condition="${ArticleToWarehouseLocations.Count} == 1">
<Assign Name="set To WarehouseLocation" Property="${WarehouseServeOutline.ToWarehouseLocation}" Value="=#getpropertyvalue(#elementat(${ArticleToWarehouseLocations}, 0),'Id.WarehouseLocation')" />
</When>
</When>
</ForEach>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>