Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield725
ActionField725
Beschrijving: Compare the duration quantity (MultijobTemplateLine.NeededDurationQuantityInHours) with the JobPlan duration (JobPlan.DurationCalculated) and notify user if necessary. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| MultijobTemplateLine | MultijobTemplateLine | Root |
XMLbewerken
<Workflow Name="ActionField725" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Compare the duration quantity (MultijobTemplateLine.NeededDurationQuantityInHours) with the JobPlan duration (JobPlan.DurationCalculated) and notify user if necessary.</Description>
<Properties>
<Property Name="MultijobTemplateLine" Type="MultijobTemplateLine" Accessor="Root" Direction="In" />
<Property Name="NeededDurationQuantityInHours" Type="Decimal" Accessor="Internal" />
<Property Name="QuestionDurationCalculated" Type="String" Accessor="Internal" />
<Property Name="QuestionNeededDurationQuantity" Type="String" Accessor="Internal" />
<Property Name="TakeDurationFromJobPlan" Type="RequestResult" Accessor="Internal" Default="Yes" />
<Property Name="TimeUnitHours" Type="TimeUnit" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<When Name="NeededDurationTimeUnit" Condition="${MultijobTemplateLine.NeededDurationTimeUnit} != Empty" Comment="Prevent unnecessary display of message.">
<When Name="NeededDurationQuantity?" Condition="${MultijobTemplateLine.NeededDurationQuantity} != 0 && ${MultijobTemplateLine.ServiceDeskReportType.JobPlan?} != Empty && ${MultijobTemplateLine.ServiceDeskReportType.JobPlan.DurationCalculated?} != 0">
<Command Name="Convert to hours for comparison" CommandName="TimeUnitType_ConvertQuantity">
<Parameter Name="Quantity" Direction="In" Value="${MultijobTemplateLine.NeededDurationQuantity}" />
<Parameter Name="RoundMethod" Direction="In" Value="Hundreds" />
<Parameter Name="TimeUnitTypeFrom" Direction="In" Value="${MultijobTemplateLine.NeededDurationTimeUnit.Type}" />
<Parameter Name="TimeUnitTypeTo" Direction="In" Value="TimeUnitType.Hours" />
<Parameter Name="WorkSchedule" Direction="In" Value="#{UltimoSettings.JobSchedule}" />
<Parameter Name="ConvertedQuantity" Direction="Out" OutputProperty="${NeededDurationQuantityInHours}" />
</Command>
<When Name="NeededDurationQuantityInHours not equal to JobPlan.DurationCalculated" Condition="${NeededDurationQuantityInHours} != ${MultijobTemplateLine.ServiceDeskReportType.JobPlan.DurationCalculated?}">
<Choose Name="TimeUnitType Days or Hours?">
<When Name="TimeUnit.Type Days?" Condition="${MultijobTemplateLine.NeededDurationTimeUnit.Type} == TimeUnitType.Days">
<Command Name="Format a string like '2 days (16 hours)' to display in message" CommandName="TimeUnitType_FormatStringWithTwoValues">
<Parameter Name="QuantityFirst" Direction="In" Value="${MultijobTemplateLine.NeededDurationQuantity}" />
<Parameter Name="QuantitySecond" Direction="In" Value="${NeededDurationQuantityInHours}" />
<Parameter Name="TimeUnitTypeFirst" Direction="In" Value="${MultijobTemplateLine.NeededDurationTimeUnit.Type}" />
<Parameter Name="TimeUnitTypeSecond" Direction="In" Value="TimeUnitType.Hours" />
<Parameter Name="FormattedString" Direction="Out" OutputProperty="${QuestionNeededDurationQuantity}" />
</Command>
</When>
<When Name="TimeUnit.Type Hours?" Condition="${MultijobTemplateLine.NeededDurationTimeUnit.Type} == TimeUnitType.Hours">
<Command Name="Format a string like '16 hours' to display in message" CommandName="TimeUnitType_FormatStringWithTwoValues" Comment="Both TimeUnitTypes are Hours.">
<Parameter Name="QuantityFirst" Direction="In" Value="${NeededDurationQuantityInHours}" />
<Parameter Name="QuantitySecond" Direction="In" Value="${MultijobTemplateLine.NeededDurationQuantity}" />
<Parameter Name="TimeUnitTypeFirst" Direction="In" Value="TimeUnitType.Hours" />
<Parameter Name="TimeUnitTypeSecond" Direction="In" Value="${MultijobTemplateLine.NeededDurationTimeUnit.Type}" />
<Parameter Name="FormattedString" Direction="Out" OutputProperty="${QuestionNeededDurationQuantity}" />
</Command>
</When>
</Choose>
<Command Name="Format a string like '16 hours' to display in message" CommandName="TimeUnitType_FormatStringWithOneValue">
<Parameter Name="Quantity" Direction="In" Value="${MultijobTemplateLine.ServiceDeskReportType.JobPlan.DurationCalculated}" />
<Parameter Name="TimeUnitType" Direction="In" Value="TimeUnitType.Hours" />
<Parameter Name="FormattedString" Direction="Out" OutputProperty="${QuestionDurationCalculated}" />
</Command>
<Question Name="Ask user to take duration from job plan" Type="YesNo" MessageCode="1411" OutputProperty="${TakeDurationFromJobPlan}">
<Parameter Name="JobPlanDuration" Direction="In" Value="${QuestionDurationCalculated}" />
<Parameter Name="MultijobDuration" Direction="In" Value="${QuestionNeededDurationQuantity}" />
</Question>
<Transaction>
<When Name="Take duration from job plan?" Condition="${TakeDurationFromJobPlan} == Yes">
<Assign Name="NeededDurationQuantity from Jobplan" Property="${MultijobTemplateLine.NeededDurationQuantity}" Value="${MultijobTemplateLine.ServiceDeskReportType.JobPlan.DurationCalculated}" />
<GetItem Name="Get TimeUnit Hours" Type="TimeUnit" OutputProperty="${TimeUnitHours}">
<Filters>
<PropertyFilter PropertyName="Id" Operator="=" PropertyValue="US005" />
</Filters>
</GetItem>
<Assign Name="NeededDurationTimeUnit to Hours" Property="${MultijobTemplateLine.NeededDurationTimeUnit}" Value="${TimeUnitHours}" />
</When>
</Transaction>
</When>
</When>
<When Name="NeededDurationQuantity is in Hours?" Condition="${MultijobTemplateLine.NeededDurationTimeUnit.Type} == TimeUnitType.Hours">
<Transaction>
<Command Name="RoundNumberOfHours" CommandName="RoundNumberOfHours">
<Parameter Name="GrossHours" Direction="In" Value="${MultijobTemplateLine.NeededDurationQuantity}" />
<Parameter Name="RoundedHoursMinimumValueIsRoundingUnit" Direction="In" Value="True" />
<Parameter Name="RoundMethod" Direction="In" Value="Quarter" />
<Parameter Name="RoundedHours" Direction="Out" OutputProperty="${MultijobTemplateLine.NeededDurationQuantity}" />
</Command>
</Transaction>
</When>
</When>
<WorkflowCall Name="MultijobTemplateLine_UpdateScheduledStart" WorkflowName="MultijobTemplateLine_UpdateScheduledStart">
<Parameter Name="MultijobTemplateLine" Direction="In" Value="${MultijobTemplateLine}" />
</WorkflowCall>
<UserContent Name="Post" />
</Execution>
</Workflow>