Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1641
ActionField1641
Beschrijving: Add Question to SurveyTemplate(Line). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| SurveyTemplate | SurveyTemplate | Root |
| SqlWhereClause | String | Optional |
XMLbewerken
<Workflow Name="ActionField1641" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Add Question 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="Question" Type="Question" Accessor="Internal" />
<Property Name="SqlWhereClauseStandard" Type="String" Accessor="Internal" Default="not exists (select SvyTLSvyTId from dba.SurveyTemplateLine where SvyTLSvyTId = '${SurveyTemplate.Id}' and SvyTLQstId = QstId) AND QstRecStatus = 2" />
<Property Name="SurveyTemplateLine" Type="SurveyTemplateLine" Accessor="Internal" />
<Property Name="SurveyTemplateLines" Type="List[SurveyTemplateLine]" Accessor="Internal" />
<Property Name="SurveyTemplateLineTheme" Type="SurveyTemplateLine" 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 QstContext = 1" />
</When>
<Otherwise Name="SqlWhereClause empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="QstContext = 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 QstContext = 2" />
</When>
<Otherwise Name="SqlWhereClause empty">
<Assign Name="SqlWhereClause" Property="${SqlWhereClause}" Value="QstContext = 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="Question" />
<Parameter Name="SelectionListConfiguration" Direction="In" Value="Default" />
<Parameter Name="SqlWhereClause" Direction="In" Value="${SqlWhereClause}" />
<Parameter Name="DomainObject" Direction="Out" OutputProperty="${Question}" />
</SystemDialog>
<When Name="Question chosen" Condition="${Question} != Empty">
<Transaction>
<Assign Name="Set OrderByQuestion" Property="${OrderByQuestion}" Value="10" />
<GetList Name="Get SurveyTemplateLine" Type="SurveyTemplateLine" OutputProperty="${SurveyTemplateLines}" OrderBy="OrderByQuestion" OrderDirection="Descending" Top="1">
<Filters>
<PropertyFilter PropertyName="Id.SurveyTemplate" Operator="=" PropertyValue="${SurveyTemplate}" />
<PropertyFilter PropertyName="Theme" Operator="=" PropertyValue="${Question.Theme}" />
</Filters>
</GetList>
<When Name="SurveyTemplateLine found" Condition="${SurveyTemplateLines.Count} > 0">
<Assign Name="Set OrderByQuestion" Property="${OrderByQuestion}" Value="${SurveyTemplateLines[0].OrderByQuestion}" />
<Add Name="OrderByQuestion + 10" ValueLeft="${OrderByQuestion}" ValueRight="10" OutputProperty="${OrderByQuestion}" />
</When>
<GetItem Name="Get SurveyTemplateLine with context Theme" Type="SurveyTemplateLine" OutputProperty="${SurveyTemplateLineTheme}">
<Filters>
<PropertyFilter PropertyName="Id.SurveyTemplate" Operator="=" PropertyValue="${SurveyTemplate}" />
<PropertyFilter PropertyName="Theme" Operator="=" PropertyValue="${Question.Theme}" />
<PropertyFilter PropertyName="Context" Operator="=" PropertyValue="SurveyTemplateLineContext.Theme" />
<PropertyFilter PropertyName="Status" Operator=">=" PropertyValue="SurveyTemplateLineStatus.None" />
</Filters>
</GetItem>
<Choose Name="Check SurveyTemplateLineTheme">
<When Name="SurveyTemplateLine not Empty" Condition="${SurveyTemplateLineTheme} == Empty">
<GetMax Name="Get max value of OrderByTheme" Type="SurveyTemplateLine" OutputProperty="${OrderByTheme}" PropertyName="OrderByTheme">
<Filters>
<PropertyFilter PropertyName="Id.SurveyTemplate" Operator="=" PropertyValue="${SurveyTemplate}" />
<PropertyFilter PropertyName="Context" Operator="=" PropertyValue="SurveyTemplateLineContext.Theme" />
<PropertyFilter PropertyName="Status" Operator=">=" PropertyValue="SurveyTemplateLineStatus.None" />
</Filters>
</GetMax>
<Choose Name="SurveyTemplate has">
<When Name="no SurveyTemplateLines Theme" Condition="${OrderByTheme} == Empty">
<Assign Name="Set OrderByTheme" Property="${OrderByTheme}" Value="10" />
</When>
<Otherwise Name="one or more SurveyTemplateLines Theme">
<Add Name="OrderByTheme += 10" ValueLeft="${OrderByTheme}" ValueRight="10" OutputProperty="${OrderByTheme}" />
</Otherwise>
</Choose>
<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="OrderByTheme" Direction="In" Value="${OrderByTheme}" />
<Parameter Name="Theme" Direction="In" Value="${Question.Theme}" />
<Parameter Name="Weight" Direction="In" Value="1" />
</Insert>
</When>
<Otherwise Name="Name">
<Assign Name="Set OrderByTheme" Property="${OrderByTheme}" Value="${SurveyTemplateLines[0].OrderByTheme}" />
</Otherwise>
</Choose>
<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="${Question.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>
</Transaction>
</When>
<UserContent Name="Post" />
</Execution>
</Workflow>