Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1640
ActionField1640
Beschrijving: Add Theme (with Questions linked to this theme) to SurveyTemplate(Line). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| SurveyTemplate | SurveyTemplate | Root |
| SqlWhereClause | String | Optional |
XMLbewerken
<Workflow Name="ActionField1640" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Add Theme (with Questions linked to this theme) to SurveyTemplate(Line).</Description>
<Properties>
<Property Name="SurveyTemplate" Type="SurveyTemplate" Accessor="Root" Direction="In" />
<Property Name="SqlWhereClause" Type="String" Accessor="Optional" Direction="In" Default="Empty" />
<Property Name="OrderByQuestion" Type="Int16" Accessor="Internal" />
<Property Name="OrderByTheme" Type="Int16" Accessor="Internal" />
<Property Name="Questions" Type="List[Question]" Accessor="Internal" />
<Property Name="SqlWhereClauseStandard" Type="String" Accessor="Internal" Default="not exists (select SvyTLSvyTId from dba.SurveyTemplateLine where SvyTLSvyTId = '${SurveyTemplate.Id}' AND SvyTLThmId = ThmId) AND (select count(*) from dba.Question where QstThmId = ThmId and QstRecStatus = 2) > 0 AND ThmRecStatus = 2" />
<Property Name="SurveyTemplateLine" Type="SurveyTemplateLine" Accessor="Internal" />
<Property Name="SurveyTemplateLines" Type="List[SurveyTemplateLine]" Accessor="Internal" />
<Property Name="Theme" Type="Theme" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<When Name="Name" Condition="${SurveyTemplate.Context} == SurveyTemplateContext.VendorRating">
<Choose Name="SqlWhereClause">
<When Name="SqlWhereClause not empty" Condition="${SqlWhereClause} != Empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="${SqlWhereClause} AND ThmContext = 1" />
</When>
<Otherwise Name="SqlWhereClause empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="ThmContext = 1" />
</Otherwise>
</Choose>
</When>
<When Name="Name" Condition="${SurveyTemplate.Context} == SurveyTemplateContext.ContractAssessment">
<Choose Name="SqlWhereClause">
<When Name="SqlWhereClause not empty" Condition="${SqlWhereClause} != Empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="${SqlWhereClause} AND ThmContext = 2" />
</When>
<Otherwise Name="SqlWhereClause empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="ThmContext = 2" />
</Otherwise>
</Choose>
</When>
<Choose Name="SqlWhereClause">
<When Name="SqlWhereClause not empty" Condition="${SqlWhereClause} != Empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="${SqlWhereClause} AND ${SqlWhereClauseStandard}" />
</When>
<Otherwise Name="SqlWhereClause empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="${SqlWhereClauseStandard}" />
</Otherwise>
</Choose>
<SystemDialog Name="DialogSelectTheme" DialogName="SelectDomainObject">
<Parameter Name="EntityName" Direction="In" Value="Theme" />
<Parameter Name="SelectionListConfiguration" Direction="In" Value="Default" />
<Parameter Name="SqlWhereClause" Direction="In" Value="${SqlWhereClause}" />
<Parameter Name="DomainObject" Direction="Out" OutputProperty="${Theme}" />
</SystemDialog>
<When Name="Theme choosen" Condition="${Theme} != Empty">
<Transaction>
<Assign Name="Set OrderByTheme" Property="${OrderByTheme}" Value="10" />
<GetList Name="Get SurveyTemplateLine" Type="SurveyTemplateLine" OutputProperty="${SurveyTemplateLines}" OrderBy="OrderByTheme" OrderDirection="Descending" Top="1">
<Filters>
<PropertyFilter PropertyName="Id.SurveyTemplate" Operator="=" PropertyValue="${SurveyTemplate}" />
</Filters>
</GetList>
<When Name="SurveyTemplateLine found" Condition="${SurveyTemplateLines.Count} > 0">
<Assign Name="Set OrderByTheme" Property="${OrderByTheme}" Value="${SurveyTemplateLines[0].OrderByTheme}" />
<Add Name="OrderByTheme + 10" ValueLeft="${OrderByTheme}" ValueRight="10" OutputProperty="${OrderByTheme}" />
</When>
<Insert Name="Insert SurveyTemplateLine Theme" ObjectType="SurveyTemplateLine" OutputProperty="${SurveyTemplateLine}">
<Parameter Name="Id.SurveyTemplate" Direction="In" Value="${SurveyTemplate}" />
<Parameter Name="Context" Direction="In" Value="SurveyTemplateLineContext.Theme" />
<Parameter Name="OrderByQuestion" Direction="In" Value="0" />
<Parameter Name="OrderByTheme" Direction="In" Value="${OrderByTheme}" />
<Parameter Name="Theme" Direction="In" Value="${Theme}" />
<Parameter Name="Weight" Direction="In" Value="1" />
</Insert>
<GetList Name="Get Questions" Type="Question" OutputProperty="${Questions}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Theme" Operator="=" PropertyValue="${Theme}" />
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="QuestionStatus.Approved" />
</Filters>
</GetList>
<Assign Name="Set OrderByQuestion" Property="${OrderByQuestion}" Value="10" />
<ForEach Name="For all Questions" In="${Questions}" As="Question">
<Insert Name="Insert SurveyTemplateLine Question" ObjectType="SurveyTemplateLine" OutputProperty="${SurveyTemplateLine}">
<Parameter Name="Id.SurveyTemplate" Direction="In" Value="${SurveyTemplate}" />
<Parameter Name="Context" Direction="In" Value="SurveyTemplateLineContext.Question" />
<Parameter Name="OrderByQuestion" Direction="In" Value="${OrderByQuestion}" />
<Parameter Name="OrderByTheme" Direction="In" Value="${OrderByTheme}" />
<Parameter Name="Question" Direction="In" Value="${Question}" />
<Parameter Name="Theme" Direction="In" Value="${Theme}" />
<Parameter Name="Weight" Direction="In" Value="1" />
</Insert>
<When Name="Question.Open == true" Condition="${Question.Open} == true">
<Assign Name="Set SurveyTemplateLine.Weight to 0" Property="${SurveyTemplateLine.Weight}" Value="0" />
</When>
<Add Name="OrderByQuestion + 10" ValueLeft="${OrderByQuestion}" ValueRight="10" OutputProperty="${OrderByQuestion}" />
</ForEach>
</Transaction>
</When>
<UserContent Name="Post" />
</Execution>
</Workflow>