Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1831
ActionField1831
Beschrijving: Close stock count(lines). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| StockCount | StockCount | Root |
XMLbewerken
<Workflow Name="ActionField1831" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Close stock count(lines).</Description>
<Properties>
<Property Name="StockCount" Type="StockCount" Accessor="Root" Direction="In" />
<Property Name="CountStockCountLines" Type="Int64" Accessor="Internal" />
<Property Name="SclLineIdWidth" Type="Int32" Accessor="Internal" />
<Property Name="StockCountLines" Type="List[StockCountLine]" Accessor="Internal" />
<Property Name="TotalWarehouseServeOutsQueryResult" Type="QueryResult" Accessor="Internal" />
<Property Name="WarehouseServeOutIds" Type="List[UltimoString]" Accessor="Internal" />
<Property Name="WarehouseServeOuts" Type="List[WarehouseServeOut]" Accessor="Internal" />
<Property Name="WhsolLineIdWidth" Type="Int32" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<GetList Name="Get StockCountLines" Type="StockCountLine" OutputProperty="${StockCountLines}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Id.StockCount" Operator="=" PropertyValue="${StockCount}" />
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="StockCountLineStatus.Finished" />
</Filters>
</GetList>
<Validation Name="StockCountLines not Finished" Condition="${StockCountLines.Count} != 0" MessageCode="3821">
<Parameter Name="StockCount" Direction="In" Value="${StockCount}" />
</Validation>
<Query Name="Query the StockCountLine" Type="StockCountLine" OutputProperty="${TotalWarehouseServeOutsQueryResult}">
<Joins>
<Join Name="WarehouseLocation" Alias="whl" Type="InnerJoin" />
<Join Name="whl.Id.Warehouse" Alias="whs" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="Id.StockCount" Operator="=" PropertyValue="${StockCount}" />
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="StockCountLineStatus.Finished" />
</Filters>
<Properties>
<Property Name="whl.Id.Warehouse" Alias="warehouse" Type="GroupProperty" />
<Property Name="whs.Site" Alias="site" Type="GroupProperty" />
</Properties>
</Query>
<Command Name="AutoKey_GetAutoKeyValue" CommandName="AutoKey_GetAutoKeyValue">
<Parameter Name="ColumnName" Direction="In" Value="WHSOID" />
<Parameter Name="Number" Direction="In" Value="${TotalWarehouseServeOutsQueryResult.Count}" />
<Parameter Name="TableName" Direction="In" Value="WhsServeOut" />
<Parameter Name="AutoKeys" Direction="Out" OutputProperty="${WarehouseServeOutIds}" />
</Command>
<Command Name="GetFieldWidth" CommandName="GetFieldWidth">
<Parameter Name="FieldName" Direction="In" Value="SclLineId" />
<Parameter Name="FieldWidth" Direction="Out" OutputProperty="${SclLineIdWidth}" />
</Command>
<Command Name="GetFieldWidth" CommandName="GetFieldWidth">
<Parameter Name="FieldName" Direction="In" Value="WhsolLineId" />
<Parameter Name="FieldWidth" Direction="Out" OutputProperty="${WhsolLineIdWidth}" />
</Command>
<When Name="Name" Condition="${SclLineIdWidth} < ${WhsolLineIdWidth}">
<Assign Name="Set Setting StockCount.UseWarehouseServeOutLineId" Property="#{Settings.StockCount.UseWarehouseServeOutLineId}" Value="False" />
</When>
</Transaction>
<Transaction>
<Assign Name="Set Setting StockCount.WarehouseServeOutId" Property="#{Settings.StockCount.WarehouseServeOutId}" Value="Empty" />
<ForEach Name="For each StockCountLine" In="${StockCountLines}" As="StockCountLine" Condition="${StockCountLine.CountAgain} == False">
<When Name="Name" Condition="#{Settings.StockCount.WarehouseServeOutId} == Empty && ${WarehouseServeOutIds} != Empty">
<Assign Name="Set Setting StockCount.WarehouseServeOutId" Property="#{Settings.StockCount.WarehouseServeOutId}" Value="${WarehouseServeOutIds[0]}" />
<RemoveFromList Name="remove from WarehouseServeOutIds" List="${WarehouseServeOutIds}" Item="${WarehouseServeOutIds[0]}" />
</When>
<ChangeStatus Name="set StockCountLine to Closed" DomainObject="${StockCountLine}" NewStatus="StockCountLineStatus.Closed" />
</ForEach>
<GetList Name="Get WarehouseServeOut" Type="WarehouseServeOut" OutputProperty="${WarehouseServeOuts}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="StockCount" Operator="=" PropertyValue="${StockCount}" />
<PropertyFilter PropertyName="Type" Operator="=" PropertyValue="WarehouseServeOutType.StockCount" />
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="WarehouseServeOutStatus.Created" />
</Filters>
</GetList>
<ForEach Name="For each WarehouseServeOut" In="${WarehouseServeOuts}" As="WarehouseServeOut">
<ChangeStatus Name="set WarehouseServeOut to approved" DomainObject="${WarehouseServeOut}" NewStatus="WarehouseServeOutStatus.Approved" />
</ForEach>
<GetCount Name="Get Lines" Type="StockCountLine" OutputProperty="${CountStockCountLines}">
<Filters>
<PropertyFilter PropertyName="Id.StockCount" Operator="=" PropertyValue="${StockCount}" />
<CombinedFilter FilterOperator="Or">
<InFilter PropertyName="Status" Values="StockCountLineStatus.Active, StockCountLineStatus.Created" />
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="StockCountLineStatus.Finished" />
<PropertyFilter PropertyName="CountAgain" Operator="=" PropertyValue="False" />
</CombinedFilter>
</CombinedFilter>
</Filters>
</GetCount>
<When Name="No more StockCountLines that are not Closed" Condition="${CountStockCountLines} == 0">
<ChangeStatus Name="StockCount" DomainObject="${StockCount}" NewStatus="StockCountStatus.Closed" />
</When>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>