Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield919
ActionField919
Beschrijving: Toggle Done or Applicable of ObjectInspectionLine. Setting values to False only possible for Employee who has set them to True. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| ObjectInspectionLine | ObjectInspectionLine | Root |
Gerelateerde workflowsbewerken
| Workflow | Beschrijving |
|---|---|
ObjectInspectionLine_ActionField919_NoErrorMessage |
Toggle Done or Applicable of ObjectInspectionLine. Check if LotoOption or HighRiskOptionSetting. |
ObjectInspectionLine_ActionField919_ShowMessage |
Toggle Done or Applicable of ObjectInspectionLine. Show errormessages. |
XMLbewerken
<Workflow Name="ActionField919" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Toggle Done or Applicable of ObjectInspectionLine. Setting values to False only possible for Employee who has set them to True.</Description>
<Properties>
<Property Name="ObjectInspectionLine" Type="ObjectInspectionLine" Accessor="Root" Direction="In" />
<Property Name="AnswerUntickRequiredOption" Type="RequestResult" Accessor="Internal" Default="No" />
<Property Name="ChangeAllowed" Type="Boolean" Accessor="Internal" />
<Property Name="Count" Type="Int64" Accessor="Internal" />
<Property Name="Date" Type="DateTime" Accessor="Internal" Default="#{Environment.CurrentDateTime}" />
<Property Name="Employee" Type="Employee" Accessor="Internal" Default="#{User.EmployeeId}" />
<Property Name="ErrorEmployee" Type="Employee" Accessor="Internal" />
<Property Name="ErrorMessage" Type="Int32" Accessor="Internal" />
<Property Name="HighRiskOption" Type="ObjectInspectionLine" Accessor="Internal" Comment="Holds root option that is no longer applicable and has high risk set, used in message" />
<Property Name="HighRiskOptionsBefore" Type="List[ObjectInspectionLine]" Accessor="Internal" Comment="Holds the first applicable (or unticked just now) option that has high risk set" />
<Property Name="LotoOption" Type="ObjectInspectionLine" Accessor="Internal" Comment="Holds root option that is no longer applicable and has LOTO set, used in message" />
<Property Name="LotoOptionsBefore" Type="List[ObjectInspectionLine]" Accessor="Internal" Comment="Holds the first applicable (or unticked just now) option that has LOTO set" />
<Property Name="OptionsRequiringCheck" Type="String" Accessor="Internal" Comment="after deleting a link, the remark text of an ObjectInspectionLine may not be valid any longer" />
<Property Name="PotentiallyUnessentialObjectConfirmationRoles" Type="List[ObjectConfirmationRole]" Accessor="Internal" />
<Property Name="QuestionNumber" Type="UltimoString" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<WorkflowCall Name="Permit_GetPotentiallyUnessentialConfirmationRoles" WorkflowName="Permit_GetPotentiallyUnessentialConfirmationRoles">
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
<Parameter Name="Permit" Direction="In" Value="${ObjectInspectionLine.Permit}" />
<Parameter Name="PotentiallyUnessentialObjectConfirmationRoles" Direction="Out" OutputProperty="${PotentiallyUnessentialObjectConfirmationRoles}" />
<Parameter Name="QuestionNumber" Direction="Out" OutputProperty="${QuestionNumber}" />
</WorkflowCall>
<WorkflowCall Name="aren't we allowed after all?" WorkflowName="Employee_ConfirmationRoleCheckChangeAllowed">
<Parameter Name="Employee" Direction="In" Value="${Employee}" />
<Parameter Name="ChangeAllowed" Direction="Out" OutputProperty="${ChangeAllowed}" />
</WorkflowCall>
<GetCount Name="get count of required links" Type="ObjectInspectionLineLink" OutputProperty="${Count}">
<Joins>
<Join Name="Source" Alias="src" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="Destination" Operator="=" PropertyValue="${ObjectInspectionLine}" />
<PropertyFilter PropertyName="Required" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="src.Applicable" Operator="=" PropertyValue="True" />
</Filters>
</GetCount>
<When Name="check whether there are any loto lines" Condition="${ObjectInspectionLine.Applicable} == False && ${ObjectInspectionLine.Permit.LockoutTagoutApplicable?} == True">
<GetList Name="Get Loto lines" Type="ObjectInspectionLine" OutputProperty="${LotoOptionsBefore}" OrderBy="Id" OrderDirection="Ascending" Top="1">
<Joins>
<Join Name="Permit" Alias="permit" Type="InnerJoin" />
</Joins>
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="SetsPermitLockoutTagoutApplicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Applicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectInspectionLine.Permit}" />
<PropertyFilter PropertyName="permit.Context" Operator="=" PropertyValue="PermitContext.WorkPermit" />
</CombinedFilter>
</Filters>
</GetList>
<When Name="if the clicked ObjectInspectionLine is Loto, set it" Condition="${ObjectInspectionLine.SetsPermitLockoutTagoutApplicable} == True && ${ObjectInspectionLine.Permit.Context} == PermitContext.WorkPermit">
<AddToList Name="add to LotoOptionsBefore" List="${LotoOptionsBefore}" Item="${ObjectInspectionLine}" />
</When>
</When>
<When Name="check whether there are any highrisk lines" Condition="${ObjectInspectionLine.Applicable} == False && ${ObjectInspectionLine.Permit.HighRisk?} == True">
<GetList Name="Get Highrisk lines" Type="ObjectInspectionLine" OutputProperty="${HighRiskOptionsBefore}" OrderBy="Id" OrderDirection="Ascending" Top="1">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="SetsPermitHighRisk" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Applicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectInspectionLine.Permit}" />
</CombinedFilter>
</Filters>
</GetList>
<When Name="if the clicked ObjectInspectionLine is HighRisk, set it" Condition="${ObjectInspectionLine.SetsPermitHighRisk} == True">
<AddToList Name="add to HighRiskOptionsBefore" List="${HighRiskOptionsBefore}" Item="${ObjectInspectionLine}" />
</When>
</When>
</Transaction>
<When Name="Option has been marked as required?" Condition="${ObjectInspectionLine.Applicable} == False && ${Count} != 0">
<When Name="Employee is allowed to change options of other roles?" Condition="${ChangeAllowed} == True">
<Question Name="Continue to untick this required option?" Type="YesNo" MessageCode="3360" Default="No" OutputProperty="${AnswerUntickRequiredOption}">
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
</Question>
</When>
</When>
<Transaction>
<Choose Name="some possible scenarios">
<When Name="Can we unset required option" Condition="${ObjectInspectionLine.Applicable} == False && ${Count} != 0">
<When Name="AnswerUntickRequiredOption" Condition="${AnswerUntickRequiredOption} == No">
<Assign Name="Revert Applicable" Property="${ObjectInspectionLine.Applicable}" Value="True" />
<When Name="Employee is not allowed to change options of other roles" Condition="${ChangeAllowed} == False">
<Assign Name="Set ErrorMessage: Required option" Property="${ErrorMessage}" Value="2700" />
</When>
</When>
</When>
<When Name="Allowed to change options of other roles" Condition="${ChangeAllowed} == True">
<Assign Name="Set ErrorMessage to 0" Property="${ErrorMessage}" Value="0" />
</When>
<When Name="No validation just log" Condition="${ObjectInspectionLine.Permit} == Empty || ${ObjectInspectionLine.Permit.Status} != PermitStatus.Created">
<When Name="Revert Applicable" Condition="${ObjectInspectionLine.Applicable} == False && ${ObjectInspectionLine.ApplicableEmployee} != Empty && ${ObjectInspectionLine.ApplicableEmployee} != ${Employee}">
<Assign Name="Set Error Message Not Applicable" Property="${ErrorMessage}" Value="1681" />
<Assign Name="Set Error Employee Not Applicable" Property="${ErrorEmployee}" Value=" ${ObjectInspectionLine.ApplicableEmployee}" />
<Assign Name="Revert Applicable" Property="${ObjectInspectionLine.Applicable}" Value="True" />
</When>
<When Name="Revert Done" Condition="${ObjectInspectionLine.Done} == False && ${ObjectInspectionLine.DoneEmployee} != Empty && ${ObjectInspectionLine.DoneEmployee} != ${Employee}">
<Assign Name="Set Error Message Not Done" Property="${ErrorMessage}" Value="1682" />
<Assign Name="Set Error Employee Not Done" Property="${ErrorEmployee}" Value="${ObjectInspectionLine.DoneEmployee}" />
<Assign Name="Revert Done" Property="${ObjectInspectionLine.Done}" Value="True" />
</When>
</When>
</Choose>
<When Name="not 2700" Condition="${ErrorMessage} != 2700">
<WorkflowCall Name="Done values" WorkflowName="ObjectInspectionLine_SetDoneValues">
<Parameter Name="Date" Direction="In" Value="${Date}" />
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
</WorkflowCall>
<WorkflowCall Name="Applicable values" WorkflowName="ObjectInspectionLine_SetApplicableValues">
<Parameter Name="Applicable" Direction="In" Value="${ObjectInspectionLine.Applicable}" />
<Parameter Name="ChangeAllowed" Direction="In" Value="${ChangeAllowed}" />
<Parameter Name="Date" Direction="In" Value="${Date}" />
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
<Parameter Name="OptionsRequiringCheck" Direction="Out" OutputProperty="${OptionsRequiringCheck}" />
</WorkflowCall>
</When>
<When Name="When WorkPermit is a template" Condition="${ObjectInspectionLine.Permit.Context} == PermitContext.WorkPermitTemplate">
<GetCount Name="Name" Type="ObjectInspectionLine" OutputProperty="${Count}">
<Joins>
<Join Name="InspectionPlanLine" Alias="Ipl" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectInspectionLine.Permit}" />
<PropertyFilter PropertyName="Applicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Ipl.SetsPermitLockoutTagoutApplicable" Operator="=" PropertyValue="True" />
</Filters>
</GetCount>
<Assign Name="Update LockoutTagoutApplicable on permit" Property="${ObjectInspectionLine.Permit.LockoutTagoutApplicable}" Value="=${Count} == 0 ? False : True" Comment="Prevent LockoutTagoutApplicable being set on permits created from this template" />
</When>
<WorkflowCall Name="ObjectInspectionLine_ActionField919_NoErrorMessage" WorkflowName="ObjectInspectionLine_ActionField919_NoErrorMessage">
<Parameter Name="ErrorMessage" Direction="In" Value="${ErrorMessage}" />
<Parameter Name="HighRiskOptionsBefore" Direction="In" Value="${HighRiskOptionsBefore}" />
<Parameter Name="LotoOptionsBefore" Direction="In" Value="${LotoOptionsBefore}" />
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
<Parameter Name="HighRiskOption" Direction="Out" OutputProperty="${HighRiskOption}" />
<Parameter Name="LotoOption" Direction="Out" OutputProperty="${LotoOption}" />
</WorkflowCall>
</Transaction>
<When Name="No errors occurred" Condition="${ErrorMessage} == 0">
<WorkflowCall Name="Permit_RemovePotentiallyUnessentialConfirmationRoles" WorkflowName="Permit_RemovePotentiallyUnessentialConfirmationRoles">
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
<Parameter Name="Permit" Direction="In" Value="${ObjectInspectionLine.Permit}" />
<Parameter Name="PotentiallyUnessentialObjectConfirmationRoles" Direction="In" Value="${PotentiallyUnessentialObjectConfirmationRoles}" />
<Parameter Name="QuestionNumber" Direction="In" Value="${QuestionNumber}" />
</WorkflowCall>
</When>
<UserContent Name="Post" />
<WorkflowCall Name="ObjectInspectionLine_ActionField919_ShowMessage" WorkflowName="ObjectInspectionLine_ActionField919_ShowMessage">
<Parameter Name="ErrorEmployee" Direction="In" Value="${ErrorEmployee}" />
<Parameter Name="ErrorMessage" Direction="In" Value="${ErrorMessage}" />
<Parameter Name="HighRiskOption" Direction="In" Value="${HighRiskOption}" />
<Parameter Name="LotoOption" Direction="In" Value="${LotoOption}" />
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
<Parameter Name="OptionsRequiringCheck" Direction="In" Value="${OptionsRequiringCheck}" />
<Parameter Name="PotentiallyUnessentialObjectConfirmationRoles" Direction="In" Value="${PotentiallyUnessentialObjectConfirmationRoles}" />
</WorkflowCall>
</Execution>
</Workflow>
Sub-workflow XMLbewerken
ObjectInspectionLine_ActionField919_NoErrorMessagebewerken
Beschrijving: Toggle Done or Applicable of ObjectInspectionLine. Check if LotoOption or HighRiskOptionSetting.
<Workflow Name="ObjectInspectionLine_ActionField919_NoErrorMessage" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Toggle Done or Applicable of ObjectInspectionLine. Check if LotoOption or HighRiskOptionSetting.</Description>
<Properties>
<Property Name="ObjectInspectionLine" Type="ObjectInspectionLine" Accessor="Root" Direction="In" />
<Property Name="ErrorMessage" Type="Int32" Accessor="Optional" Direction="In" Comment="Was there an errormessage in the calling workflow" />
<Property Name="HighRiskOptionsBefore" Type="List[ObjectInspectionLine]" Accessor="Optional" Direction="In" Comment="Holds the first applicable (or unticked just now) option that has high risk set" />
<Property Name="LotoOptionsBefore" Type="List[ObjectInspectionLine]" Accessor="Optional" Direction="In" Comment="Holds the first applicable (or unticked just now) option that has LOTO set" />
<Property Name="HighRiskOption" Type="ObjectInspectionLine" Accessor="Optional" Direction="Out" Comment="Holds root option that is no longer applicable and has high risk set, used in message" />
<Property Name="LotoOption" Type="ObjectInspectionLine" Accessor="Optional" Direction="Out" Comment="Holds root option that is no longer applicable and has LOTO set, used in message" />
<Property Name="Count" Type="Int64" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<When Name="Everything correct" Condition="${ErrorMessage} == 0">
<Comment><![CDATA[ if there are no highrisks or lotos left, display message]]></Comment>
<When Name="check whether flag must be reset again" Condition="${ObjectInspectionLine.Applicable} == False && ${LotoOptionsBefore} != Empty && ${LotoOptionsBefore.Count} > 0">
<GetCount Name="Count loto lines" Type="ObjectInspectionLine" OutputProperty="${Count}">
<Joins>
<Join Name="Permit" Alias="permit" Type="InnerJoin" />
</Joins>
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="SetsPermitLockoutTagoutApplicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Applicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectInspectionLine.Permit}" />
<PropertyFilter PropertyName="permit.Context" Operator="=" PropertyValue="PermitContext.WorkPermit" />
</CombinedFilter>
</Filters>
</GetCount>
<When Name="Should show loto message if no loto options left" Condition="${Count} == 0">
<Assign Name="set LotoOption" Property="${LotoOption}" Value="${LotoOptionsBefore[0]}" />
</When>
</When>
<When Name="check whether high risk must be reset" Condition="${ObjectInspectionLine.Applicable} == False && ${HighRiskOptionsBefore} != Empty && ${HighRiskOptionsBefore.Count} > 0">
<GetCount Name="Count Highrisk lines" Type="ObjectInspectionLine" OutputProperty="${Count}">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="SetsPermitHighRisk" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Applicable" Operator="=" PropertyValue="True" />
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectInspectionLine.Permit}" />
</CombinedFilter>
</Filters>
</GetCount>
<When Name="Should show high risk message if no high risk options left" Condition="${Count} == 0 && ${ObjectInspectionLine.Permit.HighRiskDate?} == Empty && ${ObjectInspectionLine.Permit.HighRiskEmployee?} == Empty">
<Assign Name="set HighRiskOption" Property="${HighRiskOption}" Value="${HighRiskOptionsBefore[0]}" />
</When>
</When>
<When Name="Permit" Condition="${ObjectInspectionLine.Permit} != Empty">
<WorkflowCall Name="Permit_ChangeRequiredConfirmationRoles (Add)" WorkflowName="Permit_ChangeRequiredConfirmationRoles">
<Parameter Name="Permit" Direction="In" Value="${ObjectInspectionLine.Permit}" />
</WorkflowCall>
</When>
</When>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>
ObjectInspectionLine_ActionField919_ShowMessagebewerken
Beschrijving: Toggle Done or Applicable of ObjectInspectionLine. Show errormessages.
<Workflow Name="ObjectInspectionLine_ActionField919_ShowMessage" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Toggle Done or Applicable of ObjectInspectionLine. Show errormessages.</Description>
<Properties>
<Property Name="ObjectInspectionLine" Type="ObjectInspectionLine" Accessor="Root" Direction="In" />
<Property Name="ErrorEmployee" Type="Employee" Accessor="Optional" Direction="In" Default="#{User.EmployeeId}" Comment="Employee shown in messages" />
<Property Name="ErrorMessage" Type="Int32" Accessor="Optional" Direction="In" Comment="Was there an errormessage in the calling workflow" />
<Property Name="HighRiskOption" Type="ObjectInspectionLine" Accessor="Optional" Direction="In" Comment="Holds root option that is no longer applicable and has high risk set, used in message" />
<Property Name="LotoOption" Type="ObjectInspectionLine" Accessor="Optional" Direction="In" Comment="Holds root option that is no longer applicable and has LOTO set, used in message" />
<Property Name="OptionsRequiringCheck" Type="String" Accessor="Optional" Direction="In" Comment="after deleting a link, the remark text of an ObjectInspectionLine may not be valid any longer" />
<Property Name="PotentiallyUnessentialObjectConfirmationRoles" Type="List[ObjectConfirmationRole]" Accessor="Optional" Direction="In" Comment="Potentially unessential ObjectConfirmationRoles" />
<Property Name="ConfirmationRolesAllowedToChange" Type="List[ObjectConfirmationRole]" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<UserContent Name="Post" />
<Choose Name="Message to show">
<When Name="Should show revert Message Applicable" Condition="${ErrorMessage} == 1681">
<Transaction>
<Comment><![CDATA[Check if the Permit for this ObjectInspectionLine has any ConfirmationRoles that are allowed to change options of others.]]></Comment>
<GetList Name="Get ConfirmationRoles" Type="ObjectConfirmationRole" OutputProperty="${ConfirmationRolesAllowedToChange}" OrderBy="Id" OrderDirection="Ascending">
<Joins>
<Join Name="ConfirmationRole" Alias="cfmr" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectInspectionLine.Permit}" />
<PropertyFilter PropertyName="cfmr.AllowChangeOtherRoles" Operator="=" PropertyValue="True" />
</Filters>
</GetList>
</Transaction>
<Message Name="Show reverted Applicable" MessageCode="1681">
<Parameter Name="ConfirmationRoleAllowedToChange" Direction="In" Value="=${ConfirmationRolesAllowedToChange.Count} > 0 ? ${ConfirmationRolesAllowedToChange[0]} : Empty" />
<Parameter Name="Employee" Direction="In" Value="${ErrorEmployee}" />
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
<Parameter Name="ProviderAllowedToChangeOtherRoles" Direction="In" Value="=${ConfirmationRolesAllowedToChange.Count} > 0" />
</Message>
</When>
<When Name="Should show required message" Condition="${ErrorMessage} == 2700">
<Message Name="Thou shalt not unset!" MessageCode="2700">
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
</Message>
</When>
<When Name="message returned not empty?" Condition="${OptionsRequiringCheck} != Empty">
<Message Name="warn that the message may not be relevant at this point" MessageCode="2842">
<Parameter Name="OptionsRequiringCheck" Direction="In" Value="${OptionsRequiringCheck}" />
</Message>
</When>
<When Name="Should show revert Message Done" Condition="${ErrorMessage} == 1682">
<Message Name="Show reverted Done" MessageCode="1682">
<Parameter Name="Employee" Direction="In" Value="${ErrorEmployee}" />
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${ObjectInspectionLine}" />
</Message>
</When>
<Otherwise Name="show both of the following if pertinent">
<When Name="Should show no option" Condition="${HighRiskOption} != Empty">
<Message Name="Show message ShowNoHighRiskNeeded" MessageCode="1683">
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${HighRiskOption}" />
</Message>
</When>
<When Name="Should alert the user to the option to disable LOTO" Condition="${LotoOption} != Empty">
<Message Name="Show message ShowLockoutTagoutNotApplicable" MessageCode="2277">
<Parameter Name="ObjectInspectionLine" Direction="In" Value="${LotoOption}" />
</Message>
</When>
</Otherwise>
</Choose>
</Execution>
</Workflow>