Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield196
ActionField196
Beschrijving: Batch close JobWeeks from one week (DomainGlobals.LastClosedWeek + 1). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| CountClosed | Int64 | Optional |
| CountNotClosed | Int64 | Optional |
XMLbewerken
<Workflow Name="ActionField196" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Batch close JobWeeks from one week (DomainGlobals.LastClosedWeek + 1).</Description>
<Properties>
<Property Name="CountClosed" Type="Int64" Accessor="Optional" Direction="In" Default="0" />
<Property Name="CountNotClosed" Type="Int64" Accessor="Optional" Direction="In" Default="0" />
<Property Name="DomainGlobals" Type="DomainGlobals" Accessor="Internal" Default="#{UltimoSettings.Id}" />
<Property Name="IsApproved" Type="Boolean" Accessor="Internal" />
<Property Name="JobWeeksToClose" Type="List[JobWeek]" Accessor="Internal" />
<Property Name="WeekToClose" Type="WeekOfYear" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Assign Name="Determine WeekToClose" Property="${WeekToClose}" Value="=#addweeks(${DomainGlobals.LastClosedWeek}, 1)" />
<ContinuationQuestion Name="AskCloseWeek" MessageCode="0398">
<Parameter Name="LastClosedWeek" Direction="In" Value="${DomainGlobals.LastClosedWeek}" />
<Parameter Name="WeekToClose" Direction="In" Value="${WeekToClose}" />
</ContinuationQuestion>
<Transaction>
<GetList Name="Get JobWeeks to close" Type="JobWeek" OutputProperty="${JobWeeksToClose}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Id.Week" Operator="=" PropertyValue="${WeekToClose}" />
<InFilter PropertyName="Status" Values="JobWeekStatus.Created,JobWeekStatus.Approved" />
</CombinedFilter>
</Filters>
</GetList>
<ForEach Name="Foreach JobWeek to close" In="${JobWeeksToClose}" As="JobWeek">
<When Name="WhenJobWeekIsOpen" Condition="${JobWeek.Status} == JobWeekStatus.Created">
<WorkflowCall Name="JobWeek_Approve" WorkflowName="JobWeek_ApproveAuthorized">
<Parameter Name="JobWeek" Direction="In" Value="${JobWeek}" />
</WorkflowCall>
</When>
<When Name="WhenJobWeekIsApproved" Condition="${JobWeek.Status} == JobWeekStatus.Approved">
<ChangeStatus Name="Close JobWeek" DomainObject="${JobWeek}" NewStatus="JobWeekStatus.Closed" />
</When>
<Choose Name="CheckClosed">
<When Name="JobWeekIsClosed" Condition="${JobWeek.Status} == JobWeekStatus.Closed">
<Counter Name="CountClosed" Property="${CountClosed}" Step="1" />
</When>
<Otherwise Name="JobWeekIsNotClosed">
<Counter Name="CountNotClosed" Property="${CountNotClosed}" Step="1" />
</Otherwise>
</Choose>
</ForEach>
<When Name="yes" Condition="${CountNotClosed} == 0">
<Assign Name="Update last closed week" Property="${DomainGlobals.LastClosedWeek}" Value="${WeekToClose}" />
</When>
</Transaction>
<Message Name="Message Ok" MessageCode="0462">
<Parameter Name="JobWeeksClosed" Direction="In" Value="${CountClosed}" />
<Parameter Name="JobWeeksNotClosed" Direction="In" Value="${CountNotClosed}" />
<Parameter Name="WeekToClose" Direction="In" Value="${WeekToClose}" />
</Message>
<UserContent Name="Post" />
</Execution>
</Workflow>