Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield055
ActionField055
Beschrijving: Reopen PmWorkOrder (from status Approved). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| PmWorkOrder | PmWorkOrder | Root |
| GetPmJobsToReopen | Boolean | Optional |
| PmWorkOrderReopenMethod | Boolean | Optional |
XMLbewerken
<Workflow Name="ActionField055" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Reopen PmWorkOrder (from status Approved).</Description>
<Properties>
<Property Name="PmWorkOrder" Type="PmWorkOrder" Accessor="Root" Direction="In" />
<Property Name="GetPmJobsToReopen" Type="Boolean" Accessor="Optional" Direction="In" Default="True" Comment="Ask if linked PmJobs should also be reopened. When False, PmJobs will be reopened automatically" />
<Property Name="PmWorkOrderReopenMethod" Type="Boolean" Accessor="Optional" Direction="In" Default="False" Comment="Not in use." />
<Property Name="CountCreatedPmJobs" Type="Int64" Accessor="Internal" />
<Property Name="CountPmJobs" Type="Int64" Accessor="Internal" />
<Property Name="IsParent" Type="Boolean" Accessor="Internal" Default="True" />
<Property Name="ReopenPmJobs" Type="RequestResult" Accessor="Internal" />
<Property Name="Result" Type="RequestResult" Accessor="Internal" />
<Property Name="StatusesCreated" Type="List[Status]" Accessor="Internal" Default="PmJobStatus.Created" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Validation Name="PmWorkOrderStatus OK?" Condition="${PmWorkOrder.Status} == PmWorkOrderStatus.Approved" MessageCode="0022">
<Parameter Name="PmWorkOrder" Direction="In" Value="${PmWorkOrder}" />
</Validation>
<When Name="Check if PmworkOrder is Child" Condition="${PmWorkOrder.GroupPmWorkOrder} != Empty && ${PmWorkOrder.GroupPmWorkOrder.ParentPeriodicActivity} == True">
<Assign Name="Set IsParent" Property="${IsParent}" Value="False" Comment="Do not Reopen" />
</When>
<Validation Name="PmWorkOrder is PeriodicActivityChild" Condition="${IsParent} == True" MessageCode="2872">
<Parameter Name="PmWorkOrder" Direction="In" Value="${PmWorkOrder}" />
</Validation>
<When Name="Check member PmWorkOrder » Not member PmWorkOrder" Condition="${PmWorkOrder.GroupPmWorkOrder} == Empty && ${PmWorkOrder.ParentPeriodicActivity} == False">
<Choose Name="Check ask reopen approved PmJobs">
<When Name="Ask reopen approved PmJobs" Condition="${GetPmJobsToReopen} == True">
<Transaction>
<GetCount Name="Count all PmJobs" Type="PmJob" OutputProperty="${CountPmJobs}">
<Filters>
<PropertyFilter PropertyName="Id.PmWorkOrder" Operator="=" PropertyValue="${PmWorkOrder}" />
</Filters>
</GetCount>
<GetCount Name="Count open PmJobs" Type="PmJob" OutputProperty="${CountCreatedPmJobs}">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Id.PmWorkOrder" Operator="=" PropertyValue="${PmWorkOrder}" />
<InFilter PropertyName="Status" Values="${StatusesCreated}" />
</CombinedFilter>
</Filters>
</GetCount>
</Transaction>
<When Name="Check all PmJobs open » Not all PmJobs open" Condition="${CountCreatedPmJobs} < ${CountPmJobs}">
<Question Name="Reopen PmJobs?" Type="YesNo" MessageCode="0217" OutputProperty="${ReopenPmJobs}">
<Parameter Name="PmWorkOrder" Direction="In" Value="${PmWorkOrder}" />
</Question>
<When Name="Check reopen PmJobs » Reopen PmJobs" Condition="${ReopenPmJobs} == Yes">
<Assign Name="setting ReopenPmJobs = true 1" Property="#{Settings.PmWorkOrder.ReopenPmJobs}" Value="True" />
</When>
</When>
</When>
<Otherwise Name="Not ask reopen approved PmJobs" Comment="Reopen without asking">
<Assign Name="setting ReopenPmJobs = true 3" Property="#{Settings.PmWorkOrder.ReopenPmJobs}" Value="True" />
</Otherwise>
</Choose>
</When>
<Choose Name="DeleteServiceContract?">
<When Name="setting PmWorkOrder.DeleteServiceContract is Disabled" Condition="#settingenabled(${PmWorkOrder}, PmWorkOrder.DeleteServiceContract) == False">
<Assign Name="setting DeleteServiceContractInternal = false" Property="#{Settings.PmJob.DeleteServiceContractInternal}" Value="False" />
</When>
<When Name="Check ask delete servicecontract » Ask delete servicecontract" Condition="#getsetting(${PmWorkOrder}, PmWorkOrder.DeleteServiceContract) == AskUser">
<Question Name="Delete ServiceContract?" Type="YesNo" MessageCode="0448" OutputProperty="${Result}">
<Parameter Name="PmWorkOrder" Direction="In" Value="${PmWorkOrder}" />
</Question>
<Assign Name="set setting DeleteServiceContractInternal" Property="#{Settings.PmJob.DeleteServiceContractInternal}" Value="=${Result} == Yes ? True : False" />
</When>
<Otherwise Name="Yes or No">
<Assign Name="DeleteServiceContract" Property="#{Settings.PmJob.DeleteServiceContractInternal}" Value="=#getsetting(${PmWorkOrder}, PmWorkOrder.DeleteServiceContract) == AutoAnswerYes ? True : False" />
</Otherwise>
</Choose>
<Transaction>
<ChangeStatus Name="Reopen PmWorkOrder" DomainObject="${PmWorkOrder}" NewStatus="PmWorkOrderStatus.Created" />
<When Name="Is there an equipment associated with the pmworkorder? Does the pmworkorder have the bulk property set? Reset the bulk property at the equipment. notice: There cannot be other approved pmworkorders with the bulk property » equipment?" Condition="${PmWorkOrder.Equipment} != Empty && ${PmWorkOrder.IsBulk} == True">
<Assign Name="reset bulk property at equipment" Property="${PmWorkOrder.Equipment.IsBulk}" Value="False" />
</When>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>