Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1643
ActionField1643
Beschrijving: Create SurveyAssessment for a Vendor. From the choosen SurveyTemplate. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| DomainObject | DomainObject | Root |
| UseProgressStatus | ProgressStatus | Required |
| SqlWhereClauseSurveyTemplate | String | Optional |
XMLbewerken
<Workflow Name="ActionField1643" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Create SurveyAssessment for a Vendor. From the choosen SurveyTemplate.</Description>
<Properties>
<Property Name="DomainObject" Type="DomainObject" Accessor="Root" Direction="In" />
<Property Name="UseProgressStatus" Type="ProgressStatus" Accessor="Required" Direction="In" Comment="Set PrsId for default desired progress status" />
<Property Name="SqlWhereClauseSurveyTemplate" Type="String" Accessor="Optional" Direction="In" Default="SvyTRecStatus = 2" Comment="Only approved SurveyTemplate's" />
<Property Name="Answer" Type="RequestResult" Accessor="Internal" Default="No" />
<Property Name="Employee" Type="Employee" Accessor="Internal" />
<Property Name="LabelDialogRemarkText" Type="String" Accessor="Internal" Default="VENDORRATINGDESCRIPTION" />
<Property Name="LabelDialogSurveyTemplate" Type="String" Accessor="Internal" Default="SURVEYTEMPLATE" />
<Property Name="LabelDialogTitle" Type="String" Accessor="Internal" Default="CREATEVENDORRATING" />
<Property Name="SurveyAssessment" Type="SurveyAssessment" Accessor="Internal" />
<Property Name="SurveyAssessmentContext" Type="String" Accessor="Internal" />
<Property Name="SurveyAssessmentRemarkText" Type="UltimoString" Accessor="Internal" />
<Property Name="SurveyAssessments" Type="List[SurveyAssessment]" Accessor="Internal" />
<Property Name="Surveys" Type="List[Survey]" Accessor="Internal" />
<Property Name="SurveyTemplate" Type="SurveyTemplate" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<GetList Name="Get last SurveyAssessment" Type="SurveyAssessment" OutputProperty="${SurveyAssessments}" OrderBy="Id" OrderDirection="Descending" Top="1">
<Filters>
<WhenFilter Condition="${DomainObject.EntityName} == Vendor">
<PropertyFilter PropertyName="Vendor" Operator="=" PropertyValue="${DomainObject}" />
</WhenFilter>
<WhenFilter Condition="${DomainObject.EntityName} == ServiceContract">
<PropertyFilter PropertyName="ServiceContract" Operator="=" PropertyValue="${DomainObject}" />
</WhenFilter>
<PropertyFilter PropertyName="IncidentalAssessment" Operator="=" PropertyValue="False" />
<InFilter PropertyName="Status" Values="SurveyAssessmentStatus.Processed, SurveyAssessmentStatus.FollowUp, SurveyAssessmentStatus.Finished" />
</Filters>
</GetList>
</Transaction>
<When Name="Found a SurveyAssessments" Condition="${SurveyAssessments.Count} == 1 && ${SurveyAssessments[0].SurveyTemplate.Status} == SurveyTemplateStatus.Approved">
<Question Name="Use last SurveyAssessment for new SurveyAssessment" Type="YesNoCancel" MessageCode="3155" OutputProperty="${Answer}">
<Parameter Name="DomainObject" Direction="In" Value="${DomainObject}" />
<Parameter Name="SurveyAssessment" Direction="In" Value="${SurveyAssessments[0]}" />
</Question>
</When>
<When Name="When answer is Cancel" Condition="${Answer} == Cancel">
<Stop Name="Stop" Mode="EndAll" />
</When>
<When Name="When answer is Yes" Condition="${Answer} == Yes">
<Assign Name="Set SurveyTemplate" Property="${SurveyTemplate}" Value="${SurveyAssessments[0].SurveyTemplate}" />
<Assign Name="Set SurveyAssessmentRemarkText" Property="${SurveyAssessmentRemarkText}" Value="${SurveyAssessments[0].RemarkText}" />
</When>
<When Condition="${DomainObject.EntityName} == Vendor">
<Choose Name="SqlWhereClauseSurveyTemplate">
<When Name="SqlWhereClauseSurveyTemplate not empty" Condition="${SqlWhereClauseSurveyTemplate} != Empty">
<Assign Name="SqlWhereClauseSurveyTemplate" Property="${SqlWhereClauseSurveyTemplate}" Value="${SqlWhereClauseSurveyTemplate} AND SvyTContext = 1" />
</When>
<Otherwise>
<Assign Name="SqlWhereClauseSurveyTemplate" Property="${SqlWhereClauseSurveyTemplate}" Value="SvyTContext = 1" />
</Otherwise>
</Choose>
<Assign Name="set SurveyAssessmentContext" Property="${SurveyAssessmentContext}" Value="SurveyAssessmentContext.VendorRating" />
</When>
<When Condition="${DomainObject.EntityName} == ServiceContract">
<Choose>
<When Name="SqlWhereClauseSurveyTemplate not empty" Condition="${SqlWhereClauseSurveyTemplate} != Empty">
<Assign Name="SqlWhereClauseSurveyTemplate" Property="${SqlWhereClauseSurveyTemplate}" Value="${SqlWhereClauseSurveyTemplate} AND SvyTContext = 2" />
</When>
<Otherwise>
<Assign Name="SqlWhereClauseSurveyTemplate" Property="${SqlWhereClauseSurveyTemplate}" Value="SvyTContext = 2" />
</Otherwise>
</Choose>
<Assign Name="set LabelDialogTitle" Property="${LabelDialogTitle}" Value="CREATECONTRACTRATING" />
<Assign Name="set LabelDialogSurveyTemplate" Property="${LabelDialogSurveyTemplate}" Value="SURVEYTEMPLATECONTRACT" />
<Assign Name="set LabelDialogRemarkText" Property="${LabelDialogRemarkText}" Value="CONTRACTRATINGDESCRIPTION" />
<Assign Name="set SurveyAssessmentContext" Property="${SurveyAssessmentContext}" Value="SurveyAssessmentContext.ContractAssessment" />
</When>
<Dialog Name="CreateSurveyAssessmentForVendorRating" TitleCode="${LabelDialogTitle}">
<Container Border="True">
<SelectionList Name="GetSurveyTemplate" Value="${SurveyTemplate}" OutputProperty="${SurveyTemplate}" ColumnName="SvyTId" ViewfieldConfiguration="Default" Required="True" ReadOnly="=${Answer} == Yes" LabelCode="${LabelDialogSurveyTemplate}" SqlWhereClause="${SqlWhereClauseSurveyTemplate}" />
<Html Name="VendorRatingDescription" Visible="true" Value="${SurveyAssessmentRemarkText}" OutputProperty="${SurveyAssessmentRemarkText}" Required="False" LabelCode="${LabelDialogRemarkText}" TextAreaRows="5" />
</Container>
</Dialog>
<Transaction>
<GetItem Name="Employee" Type="Employee" OutputProperty="${Employee}">
<Filters>
<PropertyFilter PropertyName="Id" Operator="=" PropertyValue="#{User.EmployeeId}" />
</Filters>
</GetItem>
<Insert Name="Insert SurveyAssessment" ObjectType="SurveyAssessment" OutputProperty="${SurveyAssessment}">
<Parameter Name="Context" Direction="In" Value="${SurveyAssessmentContext}" />
<Parameter Name="Status" Direction="In" Value="SurveyAssessmentStatus.InPreparation" />
<Parameter Name="Description" Direction="In" Value="=#concat(${SurveyTemplate.Description}, #toneutral(' - '), #toneutral(${DomainObject.Description}))" />
<Parameter Name="Employee" Direction="In" Value="${Employee}" />
<Parameter Name="NumberToSubmit" Direction="In" Value="0" />
<Parameter Name="RemarkText" Direction="In" Value="=#toneutral(${SurveyAssessmentRemarkText})" />
<Parameter Name="SurveyTemplate" Direction="In" Value="${SurveyTemplate}" />
</Insert>
<When Condition="${DomainObject.EntityName} == Vendor">
<Assign Name="Set SurveyAssessment Vendor" Property="${SurveyAssessment.Vendor}" Value="${DomainObject}" />
</When>
<When Condition="${DomainObject.EntityName} == ServiceContract">
<Assign Name="Set SurveyAssessment ServiceContract" Property="${SurveyAssessment.ServiceContract}" Value="${DomainObject}" />
<Assign Name="Set SurveyAssessment Vendor" Property="${SurveyAssessment.Vendor}" Value="${DomainObject.Vendor}" />
</When>
<WorkflowCall Name="SurveyAssessment" WorkflowName="SurveyAssessment_InsertSurveyAssessmentLinesFromTemplate">
<Parameter Name="SurveyAssessment" Direction="In" Value="${SurveyAssessment}" />
<Parameter Name="SurveyTemplate" Direction="In" Value="${SurveyTemplate}" />
</WorkflowCall>
<When Name="When answer is Yes" Condition="${Answer} == Yes">
<GetList Name="Get Surveys" Type="Survey" OutputProperty="${Surveys}" OrderBy="Id" OrderDirection="Ascending">
<Joins>
<Join Name="Employee" Alias="Emp" Type="LeftOuterJoin" />
</Joins>
<Filters>
<CombinedFilter FilterOperator="Or">
<PropertyFilter PropertyName="Emp.DateOutLabour" Operator="=" PropertyValue="Empty" />
<PropertyFilter PropertyName="Emp.DateOutLabour" Operator=">" PropertyValue="#{Environment.CurrentDate}" />
</CombinedFilter>
<PropertyFilter PropertyName="SurveyAssessment" Operator="=" PropertyValue="${SurveyAssessments[0]}" />
</Filters>
</GetList>
<ForEach Name="For all Employees" In="${Surveys}" As="Survey">
<WorkflowCall Name="Create a Survey" WorkflowName="Survey_CreateForAnEmployee">
<Parameter Name="DestinationEmployee" Direction="In" Value="${Survey.Employee}" />
<Parameter Name="NewSurveyStatus" Direction="In" Value="0" />
<Parameter Name="SurveyAssessment" Direction="In" Value="${SurveyAssessment}" />
<Parameter Name="SurveyCopy" Direction="In" Value="${Survey}" />
</WorkflowCall>
</ForEach>
<GetList Name="Get Surveys from employee Out labour" Type="Survey" OutputProperty="${Surveys}" OrderBy="Id" OrderDirection="Ascending">
<Joins>
<Join Name="Employee" Alias="Emp" Type="LeftOuterJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="Emp.DateOutLabour" Operator="<=" PropertyValue="#{Environment.CurrentDate}" />
<PropertyFilter PropertyName="SurveyAssessment" Operator="=" PropertyValue="${SurveyAssessments[0]}" />
</Filters>
</GetList>
</When>
<WorkflowCall Name="Call DomainObject_ChangeProgressStatus" WorkflowName="DomainObject_ChangeProgressStatus">
<Parameter Name="DomainObject" Direction="In" Value="${SurveyAssessment}" />
<Parameter Name="ProgressStatusContext" Direction="In" Value="${UseProgressStatus.Context}" />
<Parameter Name="UseProgressStatus" Direction="In" Value="${UseProgressStatus}" />
</WorkflowCall>
<WorkflowCall Name="SurveyAssessment_CalculateNumberToSubmit" WorkflowName="SurveyAssessment_CalculateNumberToSubmit">
<Parameter Name="SurveyAssessment" Direction="In" Value="${SurveyAssessment}" />
</WorkflowCall>
</Transaction>
<UserContent Name="Post" />
<When Name="When answer is Yes and there where Survey for Employees OutLabour" Condition="${Answer} == Yes && ${Surveys.Count} > 0">
<Message Name="Employees outlabour" MessageCode="3159">
<Parameter Name="Surveys" Direction="In" Value="${Surveys}" />
</Message>
</When>
<View Name="OpenScreen" ViewName="DataEntryScreen">
<Parameter Name="DomainObject" Direction="In" Value="${SurveyAssessment}" />
<Parameter Name="FocusEditableField" Direction="In" Value="=${SurveyAssessment.Description} == Empty" />
</View>
</Execution>
</Workflow>