Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield752
ActionField752
Beschrijving: Validate default ProgressStatus with linked recordstatuses. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| DefaultProgressStatusContext | DefaultProgressStatusContext | Root |
XMLbewerken
<Workflow Name="ActionField752" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Validate default ProgressStatus with linked recordstatuses.</Description>
<Properties>
<Property Name="DefaultProgressStatusContext" Type="DefaultProgressStatusContext" Accessor="Root" Direction="In" />
<Property Name="CustomJobAndProgressStatusContextCombination" Type="UltimoString" Accessor="Internal" Default="#{UltimoSettings.CustomJobAndProgressStatusContextCombination}" Comment="this override the default list combination" />
<Property Name="DefaultContextCombination" Type="UltimoString" Accessor="Internal" Default="#{Settings.DefaultProgressStatusContext.DefaultContextCombination}" Comment="list combination of string of jobcontext and progressstatuscombination example (1,2)(2,8)(4,512)" />
<Property Name="DefaultProgressStatusContextRecordStatuses" Type="List[DefaultProgressStatusContextRecordStatus]" Accessor="Internal" />
<Property Name="ExistProgressStatusCounter" Type="Int64" Accessor="Internal" Default="0" />
<Property Name="ExtraJobAndProgressStatusContextCombination" Type="UltimoString" Accessor="Internal" Default="#{UltimoSettings.ExtraJobAndProgressStatusContextCombination}" Comment="list combination of string of jobcontext and progressstatuscombination example (1,2)(2,8)(4,512)" />
<Property Name="ProgressStatusContextOut" Type="Int64" Accessor="Internal" />
<Property Name="ProgressStatuses" Type="List[ProgressStatus]" Accessor="Internal" />
<Property Name="SuccessFindContext" Type="Boolean" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<When Name="ExtraJobAndProgressStatusContextCombinationIsNotEmpty" Condition="${ExtraJobAndProgressStatusContextCombination} != Empty">
<Assign Name="PastStringToDefaultContextCombination" Property="${DefaultContextCombination}" Value="${ExtraJobAndProgressStatusContextCombination}${DefaultContextCombination}" />
</When>
<When Name="CustomJobAndProgressStatusContextCombinationIsNotEmpty" Condition="${CustomJobAndProgressStatusContextCombination} != Empty">
<Assign Name="OverrideDefaultContextCombination" Property="${DefaultContextCombination}" Value="${CustomJobAndProgressStatusContextCombination}" />
</When>
<UnformatText Name="UnformatContextCombination" Text="${DefaultContextCombination}" Mask="\(${DefaultProgressStatusContext.Id.Id},(\d+)\)" CaseSensitive="True" OutputProperty="${SuccessFindContext}">
<Parameter Name="1" Direction="Out" OutputProperty="${ProgressStatusContextOut}" />
</UnformatText>
<Validation Name="SuccessFindContextExist" Condition="${SuccessFindContext} == True" MessageCode="1495" />
<Transaction>
<GetList Name="GetDefaultProgressStatusContextRecordStatusRecords" Type="DefaultProgressStatusContextRecordStatus" OutputProperty="${DefaultProgressStatusContextRecordStatuses}" OrderBy="Id.DefaultProgressStatusContext" OrderDirection="Ascending">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Id.DefaultProgressStatusContext" Operator="=" PropertyValue="${DefaultProgressStatusContext}" />
<NotFilter>
<PropertyEmptyFilter PropertyName="ProgressStatus" />
</NotFilter>
</CombinedFilter>
</Filters>
</GetList>
<ForEach Name="LoopThroughRecords" In="${DefaultProgressStatusContextRecordStatuses}" As="CurrentDefaultProgressStatusContextRecordStatus">
<Assign Name="SetCounterZero" Property="${ExistProgressStatusCounter}" Value="0" />
<GetList Name="GetItemProgressStatus" Type="ProgressStatus" OutputProperty="${ProgressStatuses}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Context" Operator="=" PropertyValue="${ProgressStatusContextOut}" />
<PropertyFilter PropertyName="NextStatus" Operator="=" PropertyValue="${CurrentDefaultProgressStatusContextRecordStatus.Id.Status}" />
</Filters>
</GetList>
<ForEach Name="LoopThroughProgressStatuses" In="${ProgressStatuses}" As="CurrentProgressStatus">
<When Name="CheckInList" Condition="${CurrentProgressStatus} == ${CurrentDefaultProgressStatusContextRecordStatus.ProgressStatus}">
<Counter Name="ExistProgressStatusCounter" Property="${ExistProgressStatusCounter}" Step="1" />
</When>
</ForEach>
<Validation Name="NoMatchProgressStatus" Condition="${ExistProgressStatusCounter} > 0" MessageCode="1493">
<Parameter Name="DefaultProgressStatusContextRecordStatus" Direction="In" Value="${CurrentDefaultProgressStatusContextRecordStatus}" />
</Validation>
</ForEach>
</Transaction>
<UserContent Name="Post" />
<Message Name="ConfirmationMessage" MessageCode="1502">
<Parameter Name="DefaultProgressStatusContext" Direction="In" Value="${DefaultProgressStatusContext}" />
</Message>
</Execution>
</Workflow>