Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield921
ActionField921
Beschrijving: Confirm ObjectConfirmationRole. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| ObjectConfirmationRole | ObjectConfirmationRole | Root |
| ConfirmationByUserRequired | Boolean | Optional |
XMLbewerken
<Workflow Name="ActionField921" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Confirm ObjectConfirmationRole.</Description>
<Properties>
<Property Name="ObjectConfirmationRole" Type="ObjectConfirmationRole" Accessor="Root" Direction="In" />
<Property Name="ConfirmationByUserRequired" Type="Boolean" Accessor="Optional" Direction="In" Default="True" Comment="Controls whether the user gets a confirmation dialog." />
<Property Name="ConfirmationStatement" Type="List[UltimoString]" Accessor="Internal" Comment="Use a list to be able to use checkbox group in dialog" />
<Property Name="ConfirmationStatementAddition" Type="List[UltimoString]" Accessor="Internal" Comment="Use a list to be able to use checkbox group in dialog" />
<Property Name="ConfirmationStatementAdditionRatified" Type="Boolean" Accessor="Internal" Default="False" />
<Property Name="ConfirmationStatementAdditionRequired" Type="Boolean" Accessor="Internal" />
<Property Name="ConfirmationStatementRatified" Type="Boolean" Accessor="Internal" Default="False" />
<Property Name="ConfirmationStatementRequired" Type="Boolean" Accessor="Internal" />
<Property Name="CorrectPerson" Type="Boolean" Accessor="Internal" Default="True" />
<Property Name="Count" Type="Int64" Accessor="Internal" />
<Property Name="CountRole" Type="Int64" Accessor="Internal" />
<Property Name="DomainObject" Type="DomainObject" Accessor="Internal" Comment="WF made generic to allow other domain objects to use it" />
<Property Name="Employee" Type="Employee" Accessor="Internal" Default="#{User.EmployeeId}" />
<Property Name="ObjectConfirmationRoles" Type="List[ObjectConfirmationRole]" Accessor="Internal" />
<Property Name="SelectedConfirmationStatement" Type="List[UltimoString]" Accessor="Internal" Comment="Use a list to be able to use checkbox group in dialog" />
<Property Name="SelectedConfirmationStatementAddition" Type="List[UltimoString]" Accessor="Internal" Comment="Use a list to be able to use checkbox group in dialog" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<Assign Name="Set DomainObject to Permit" Property="${DomainObject}" Value="${ObjectConfirmationRole.Permit}" />
<WorkflowCall Name="ObjectConfirmationRole_FourEyesPrinciple" WorkflowName="ObjectConfirmationRole_FourEyesPrinciple">
<Parameter Name="ObjectConfirmationRole" Direction="In" Value="${ObjectConfirmationRole}" />
</WorkflowCall>
<Choose Name="which context?">
<When Name="Confirmation" Condition="${ObjectConfirmationRole.Context} == ObjectConfirmationRoleContext.WorkPermitConfirmation">
<When Name="When confirmation statement is required" Condition="${ObjectConfirmationRole.ConfirmationStatement} != Empty">
<Assign Name="Add confirmation statement to list" Property="${ConfirmationStatement}" Value="${ObjectConfirmationRole.ConfirmationStatement}" />
<Assign Name="Set confirmation statement required" Property="${ConfirmationStatementRequired}" Value="True" />
</When>
<When Name="When confirmation statement LOTO addition is required" Condition="${DomainObject.LockoutTagoutApplicable} == True && ${ObjectConfirmationRole.LockoutTagoutConfirmationStatementAddition} != Empty">
<Assign Name="Add confirmation statement LOTO addition to list" Property="${ConfirmationStatementAddition}" Value="${ObjectConfirmationRole.LockoutTagoutConfirmationStatementAddition}" />
<Assign Name="Set confirmation statement LOTO addition required" Property="${ConfirmationStatementAdditionRequired}" Value="True" />
</When>
</When>
<When Name="Acceptance" Condition="${ObjectConfirmationRole.Context} == ObjectConfirmationRoleContext.WorkPermitAcceptance">
<When Name="When acceptance statement is required" Condition="${ObjectConfirmationRole.AcceptanceStatement} != Empty">
<Assign Name="Add acceptance statement to list" Property="${ConfirmationStatement}" Value="${ObjectConfirmationRole.AcceptanceStatement}" />
<Assign Name="Set acceptance statement required" Property="${ConfirmationStatementRequired}" Value="True" />
</When>
</When>
</Choose>
<Validation Name="Not Confirmed" Condition="${ObjectConfirmationRole.Confirmed} == False" MessageCode="1689">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
<Parameter Name="ObjectConfirmationRole" Direction="In" Value="${ObjectConfirmationRole}" />
</Validation>
<Validation Name="Sign Digitally" Condition="${ObjectConfirmationRole.SignatureType} == Digitally" MessageCode="1693">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
<Parameter Name="ObjectConfirmationRole" Direction="In" Value="${ObjectConfirmationRole}" />
</Validation>
<GetCount Name="Check correct role" Type="EmployeeConfirmationRole" OutputProperty="${CountRole}">
<Filters>
<PropertyFilter PropertyName="Id.Employee" Operator="=" PropertyValue="${Employee}" />
<PropertyFilter PropertyName="Id.ConfirmationRole" Operator="=" PropertyValue="${ObjectConfirmationRole.ConfirmationRole}" />
</Filters>
</GetCount>
</Transaction>
<Validation Name="Correct Role" Condition="${ObjectConfirmationRole.Requester} == True || ${CountRole} > 0" MessageCode="1695">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
</Validation>
<When Name="Provider" Condition="${ObjectConfirmationRole.LastConfirmation} == True">
<Transaction>
<GetCount Name="Count other digitally needed confirmations" Type="ObjectConfirmationRole" OutputProperty="${Count}">
<Filters>
<WhenFilter Condition="${ObjectConfirmationRole.Permit} != Empty">
<PropertyFilter PropertyName="Permit" Operator="=" PropertyValue="${ObjectConfirmationRole.Permit}" />
</WhenFilter>
<PropertyFilter PropertyName="Confirmed" Operator="=" PropertyValue="False" />
<PropertyFilter PropertyName="Context" Operator="=" PropertyValue="${ObjectConfirmationRole.Context}" />
<PropertyFilter PropertyName="SignatureType" Operator="=" PropertyValue="Digitally" />
<NotFilter>
<PropertyFilter PropertyName="Id" Operator="=" PropertyValue="${ObjectConfirmationRole}" />
</NotFilter>
</Filters>
</GetCount>
</Transaction>
<Validation Name="Provider can confirm" Condition="${Count} == 0" MessageCode="1690">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
</Validation>
</When>
<Choose Name="Correct Person">
<When Name="Employee filed" Condition="${ObjectConfirmationRole.Employee} != Empty">
<When Name="Not current employee" Condition="${ObjectConfirmationRole.Employee} != ${Employee}">
<Assign Name="Not correct employee" Property="${CorrectPerson}" Value="False" />
</When>
</When>
<When Name="Department filed" Condition="${ObjectConfirmationRole.Department} != Empty">
<When Name="Not current Department" Condition="${ObjectConfirmationRole.Department} != ${Employee.Department}">
<Assign Name="Not correct Department" Property="${CorrectPerson}" Value="False" />
</When>
</When>
<When Name="Vendor filed" Condition="${ObjectConfirmationRole.Vendor} != Empty">
<When Name="Not current Vendor" Condition="${ObjectConfirmationRole.Vendor} != ${Employee.Vendor}">
<Assign Name="Not correct Vendor" Property="${CorrectPerson}" Value="False" />
</When>
</When>
</Choose>
<When Name="Should Ask to continue" Condition="${CorrectPerson} == False">
<ContinuationQuestion Name="Confirm for this confirmation role" MessageCode="1688">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
<Parameter Name="ObjectConfirmationRole" Direction="In" Value="${ObjectConfirmationRole}" />
</ContinuationQuestion>
</When>
<When Name="When there is a statement to ratify" Condition="${ConfirmationStatementRequired} || ${ConfirmationStatementAdditionRequired}">
<When Name="ConfirmationByUserRequired" Condition="${ConfirmationByUserRequired} == True">
<Dialog Name="Permit_RatifyConfirmationStatements" TitleCode="RATIFYCONFIRMATIONSTATEMENT">
<Container>
<CheckBoxGroup Name="ConfirmationStatement" Visible="${ConfirmationStatementRequired}" OutputProperty="${SelectedConfirmationStatement}" Items="${ConfirmationStatement}" />
<CheckBoxGroup Name="LockoutTagoutConfirmationStatementAddition" Visible="${ConfirmationStatementAdditionRequired}" OutputProperty="${SelectedConfirmationStatementAddition}" Items="${ConfirmationStatementAddition}" />
</Container>
<Validations>
<ValidationExpression Name="ValidateConfirmationStatement" Condition="${ConfirmationStatementRequired} == False || ${SelectedConfirmationStatement.Count} > 0" MessageCode="2292" TriggerType="OnPropertyChange" />
<ValidationExpression Name="ValidateConfirmationStatementAddition" Condition="${ConfirmationStatementAdditionRequired} == False || ${SelectedConfirmationStatementAddition.Count} > 0" MessageCode="2994" TriggerType="OnPropertyChange" />
</Validations>
</Dialog>
</When>
</When>
<Transaction>
<Assign Name="Confirmed" Property="${ObjectConfirmationRole.Confirmed}" Value="True" />
<Assign Name="ConfirmedEmployee" Property="${ObjectConfirmationRole.ConfirmedEmployee}" Value="#{User.EmployeeId}" />
<Assign Name="ConfirmedEmployeeName" Property="${ObjectConfirmationRole.ConfirmedEmployeeName}" Value="=#toneutral(${Employee.Description})" />
<Assign Name="ConfirmedDate" Property="${ObjectConfirmationRole.ConfirmedDate}" Value="#{Environment.CurrentDateTime}" />
</Transaction>
<When Name="Is it a Permit?" Condition="${DomainObject.EntityName} == Permit">
<WorkflowCall Name="Delete the generated document from Mobile after the validation was done" WorkflowName="Permit_DeleteLinkedDocumentGeneratedFromMobile">
<Parameter Name="Permit" Direction="In" Value="${DomainObject}" />
</WorkflowCall>
</When>
<UserContent Name="Post" />
<Message Name="Confirmed" MessageCode="1687">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
<Parameter Name="ObjectConfirmationRole" Direction="In" Value="${ObjectConfirmationRole}" />
</Message>
</Execution>
</Workflow>