Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield977
ActionField977
Beschrijving: Edit settings for Feature (only when ValueType is Numeric). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| Feature | Feature | Root |
Gerelateerde workflowsbewerken
| Workflow | Beschrijving |
|---|---|
Feature_ActionField977_Modified |
Process modified settings for Feature (only when ValueType is Numeric). |
Feature_ActionField977_Modified_ValidateObjectFeatures |
Validate ObjectFeatures for Feature. |
XMLbewerken
<Workflow Name="ActionField977" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Edit settings for Feature (only when ValueType is Numeric).</Description>
<Properties>
<Property Name="Feature" Type="Feature" Accessor="Root" Direction="In" />
<Property Name="AllowOnlyDefaultUnit" Type="Boolean" Accessor="Internal" />
<Property Name="FeatureValueType" Type="FeatureValueType" Accessor="Internal" />
<Property Name="Modified" Type="Boolean" Accessor="Internal" />
<Property Name="ModifiedAllowOnlyDefaultUnit" Type="Boolean" Accessor="Internal" />
<Property Name="ModifiedPhysicalQuantityUnit" Type="Boolean" Accessor="Internal" />
<Property Name="ModifiedValueType" Type="Boolean" Accessor="Internal" />
<Property Name="PhysicalQuantity" Type="PhysicalQuantity" Accessor="Internal" />
<Property Name="PhysicalQuantityUnit" Type="PhysicalQuantityUnit" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Choose Name="Check if can be changed">
<When Name="Can be changed" Condition="${Feature.ValueType} == Numeric">
<Assign Name="Assign PhysicalQuantity" Property="${PhysicalQuantity}" Value="=${Feature.PhysicalQuantityUnit} != Empty ? ${Feature.PhysicalQuantityUnit.Id.PhysicalQuantity} : Empty" />
<WorkflowCall Name="Dialog_FeatureSettings" WorkflowName="Dialog_FeatureSettings">
<Parameter Name="Feature" Direction="In" Value="${Feature}" />
<Parameter Name="PhysicalQuantity" Direction="In" Value="${PhysicalQuantity}" />
<Parameter Name="AllowOnlyDefaultUnit" Direction="Out" OutputProperty="${AllowOnlyDefaultUnit}" />
<Parameter Name="FeatureValueType" Direction="Out" OutputProperty="${FeatureValueType}" />
<Parameter Name="Modified" Direction="Out" OutputProperty="${Modified}" />
<Parameter Name="ModifiedAllowOnlyDefaultUnit" Direction="Out" OutputProperty="${ModifiedAllowOnlyDefaultUnit}" />
<Parameter Name="ModifiedPhysicalQuantityUnit" Direction="Out" OutputProperty="${ModifiedPhysicalQuantityUnit}" />
<Parameter Name="ModifiedValueType" Direction="Out" OutputProperty="${ModifiedValueType}" />
<Parameter Name="PhysicalQuantityUnit" Direction="Out" OutputProperty="${PhysicalQuantityUnit}" />
</WorkflowCall>
<When Name="When modified" Condition="${Modified} == True">
<WorkflowCall Name="Feature_ActionField977_Modified" WorkflowName="Feature_ActionField977_Modified">
<Parameter Name="AllowOnlyDefaultUnit" Direction="In" Value="${AllowOnlyDefaultUnit}" />
<Parameter Name="Feature" Direction="In" Value="${Feature}" />
<Parameter Name="FeatureValueType" Direction="In" Value="${FeatureValueType}" />
<Parameter Name="ModifiedAllowOnlyDefaultUnit" Direction="In" Value="${ModifiedAllowOnlyDefaultUnit}" />
<Parameter Name="ModifiedPhysicalQuantityUnit" Direction="In" Value="${ModifiedPhysicalQuantityUnit}" />
<Parameter Name="ModifiedValueType" Direction="In" Value="${ModifiedValueType}" />
<Parameter Name="PhysicalQuantityUnit" Direction="In" Value="${PhysicalQuantityUnit}" />
</WorkflowCall>
</When>
</When>
<Otherwise Name="Can't be changed">
<Message Name="Show cannot be changed message" MessageCode="1900" />
</Otherwise>
</Choose>
<UserContent Name="Post" />
</Execution>
</Workflow>
Sub-workflow XMLbewerken
Feature_ActionField977_Modifiedbewerken
Beschrijving: Process modified settings for Feature (only when ValueType is Numeric).
<Workflow Name="Feature_ActionField977_Modified" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Process modified settings for Feature (only when ValueType is Numeric).</Description>
<Properties>
<Property Name="Feature" Type="Feature" Accessor="Root" Direction="In" />
<Property Name="AllowOnlyDefaultUnit" Type="Boolean" Accessor="Required" Direction="In" />
<Property Name="FeatureValueType" Type="FeatureValueType" Accessor="Required" Direction="In" />
<Property Name="ModifiedAllowOnlyDefaultUnit" Type="Boolean" Accessor="Required" Direction="In" />
<Property Name="ModifiedPhysicalQuantityUnit" Type="Boolean" Accessor="Required" Direction="In" />
<Property Name="ModifiedValueType" Type="Boolean" Accessor="Required" Direction="In" />
<Property Name="PhysicalQuantityUnit" Type="PhysicalQuantityUnit" Accessor="Optional" Direction="In" />
<Property Name="ObjectFeatures" Type="List[ObjectFeature]" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<When Name="Do only when numeric" Condition="${FeatureValueType} == Numeric && (${ModifiedAllowOnlyDefaultUnit} == True || ${ModifiedPhysicalQuantityUnit} == True) && ${AllowOnlyDefaultUnit} == True">
<Choose Name="Choose what to check">
<When Name="Do when modified physical quantity unit" Condition="${ModifiedPhysicalQuantityUnit} == True">
<Validation Name="Check if Feature has PhysicalQuantityUnit" Condition="${PhysicalQuantityUnit} != Empty" MessageCode="1861">
<Parameter Name="Feature" Direction="In" Value="${Feature}" />
</Validation>
<ContinuationQuestion Name="Ask to continue" MessageCode="1865" Default="No">
<Parameter Name="Unit" Direction="In" Value="${PhysicalQuantityUnit.Id.Unit}" />
</ContinuationQuestion>
</When>
<Otherwise Name="Default">
<Validation Name="Check if Feature has PhysicalQuantityUnit" Condition="${Feature.PhysicalQuantityUnit} != Empty" MessageCode="1861">
<Parameter Name="Feature" Direction="In" Value="${Feature}" />
</Validation>
<ContinuationQuestion Name="Ask to continue" MessageCode="1865" Default="No">
<Parameter Name="Unit" Direction="In" Value="${Feature.PhysicalQuantityUnit.Id.Unit}" />
</ContinuationQuestion>
</Otherwise>
</Choose>
</When>
<Transaction IncludeTrashedObjects="True">
<When Name="Modified physical quantity" Condition="${ModifiedValueType} == True">
<Assign Name="Set value type" Property="${Feature.ValueType}" Value="${FeatureValueType}" />
</When>
<When Name="Modified physical quantity" Condition="${ModifiedPhysicalQuantityUnit} == True">
<Assign Name="Set physical quantity unit" Property="${Feature.PhysicalQuantityUnit}" Value="${PhysicalQuantityUnit}" />
</When>
<When Name="Allow only default unit changed" Condition="${ModifiedAllowOnlyDefaultUnit} == True">
<Assign Name="Set allow only default unit" Property="${Feature.AllowOnlyDefaultUnit}" Value="${AllowOnlyDefaultUnit}" />
</When>
<When Name="Can only convert when numeric and allow only default unit" Condition="${Feature.ValueType} == Numeric && (${ModifiedAllowOnlyDefaultUnit} == True || ${ModifiedPhysicalQuantityUnit} == True) && ${AllowOnlyDefaultUnit} == True">
<GetList Name="Get object features" Type="ObjectFeature" OutputProperty="${ObjectFeatures}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Feature" Operator="=" PropertyValue="${Feature}" />
</Filters>
</GetList>
<WorkflowCall Name="Feature_ActionField977_Modified_ValidateObjectFeatures" WorkflowName="Feature_ActionField977_Modified_ValidateObjectFeatures">
<Parameter Name="Feature" Direction="In" Value="${Feature}" />
<Parameter Name="ObjectFeatures" Direction="In" Value="${ObjectFeatures}" />
</WorkflowCall>
<ForEach Name="Convert units" In="${ObjectFeatures}" As="ObjectFeature">
<When Name="Convert if PhysicalQuantityUnit is different" Condition="${ObjectFeature.PhysicalQuantityUnit} != ${Feature.PhysicalQuantityUnit}">
<Command Name="Convert value" CommandName="ConvertValue">
<Parameter Name="InputDerivedUnit" Direction="In" Value="${ObjectFeature.PhysicalQuantityUnit.Id.Unit.DerivedUnit}" />
<Parameter Name="InputValue" Direction="In" Value="${ObjectFeature.NumericValue}" />
<Parameter Name="OutputDerivedUnit" Direction="In" Value="${Feature.PhysicalQuantityUnit.Id.Unit.DerivedUnit}" />
<Parameter Name="OutputValue" Direction="Out" OutputProperty="${ObjectFeature.NumericValue}" />
</Command>
<Assign Name="Set physical quantity unit" Property="${ObjectFeature.PhysicalQuantityUnit}" Value="${Feature.PhysicalQuantityUnit}" />
</When>
</ForEach>
<Assign Name="Set" Property="${Feature.AllowOnlyDefaultUnit}" Value="True" />
</When>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>
Feature_ActionField977_Modified_ValidateObjectFeaturesbewerken
Beschrijving: Validate ObjectFeatures for Feature.
<Workflow Name="Feature_ActionField977_Modified_ValidateObjectFeatures" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Validate ObjectFeatures for Feature.</Description>
<Properties>
<Property Name="Feature" Type="Feature" Accessor="Root" Direction="In" />
<Property Name="ObjectFeatures" Type="List[ObjectFeature]" Accessor="Optional" Direction="In" />
<Property Name="ObjectFeaturesWithoutPhysicalQuantity" Type="List[ObjectFeature]" Accessor="Internal" />
<Property Name="ObjectFeaturesWithoutPhysicalQuantityCount" Type="Int64" Accessor="Internal" Default="0" />
<Property Name="ObjectFeaturesWithWrongPhysicalQuantity" Type="List[ObjectFeature]" Accessor="Internal" />
<Property Name="ObjectFeaturesWithWrongPhysicalQuantityCount" Type="Int64" Accessor="Internal" Default="0" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<ForEach Name="Check before converting units" In="${ObjectFeatures}" As="ObjectFeature">
<Choose Name="Checks">
<When Name="Check if ObjectFeature has PhysicalQuantityUnit" Condition="${ObjectFeature.PhysicalQuantityUnit} == Empty">
<Assign Name="Count it up" Property="${ObjectFeaturesWithoutPhysicalQuantityCount}" Value="=${ObjectFeaturesWithoutPhysicalQuantityCount} + 1" />
<When Name="Not enough" Condition="${ObjectFeaturesWithoutPhysicalQuantity} == Empty || ${ObjectFeaturesWithoutPhysicalQuantity.Count} < 15">
<AddToList Name="Add to wrong list" List="${ObjectFeaturesWithoutPhysicalQuantity}" Item="${ObjectFeature}" />
</When>
</When>
<Otherwise Name="Has physical quantity unit">
<When Name="Check if ObjectFeature has matching PhysicalQuantity" Condition="${ObjectFeature.PhysicalQuantityUnit.Id.PhysicalQuantity} != ${Feature.PhysicalQuantityUnit.Id.PhysicalQuantity}">
<Assign Name="Count it up" Property="${ObjectFeaturesWithWrongPhysicalQuantityCount}" Value="=${ObjectFeaturesWithWrongPhysicalQuantityCount} + 1" />
<When Name="Not enough" Condition="${ObjectFeaturesWithWrongPhysicalQuantity} == Empty || ${ObjectFeaturesWithWrongPhysicalQuantity.Count} < 15">
<AddToList Name="Add to wrong list" List="${ObjectFeaturesWithWrongPhysicalQuantity}" Item="${ObjectFeature}" />
</When>
</When>
</Otherwise>
</Choose>
</ForEach>
<Validation Name="Check if ObjectFeature has PhysicalQuantityUnit" Condition="${ObjectFeaturesWithoutPhysicalQuantityCount} == 0" MessageCode="1862">
<Parameter Name="Count" Direction="In" Value="${ObjectFeaturesWithoutPhysicalQuantityCount}" />
<Parameter Name="ObjectFeatures" Direction="In" Value="${ObjectFeaturesWithoutPhysicalQuantity}" />
</Validation>
<Validation Name="Check if ObjectFeature has matching PhysicalQuantity" Condition="${ObjectFeaturesWithWrongPhysicalQuantityCount} == 0" MessageCode="1863">
<Parameter Name="Count" Direction="In" Value="${ObjectFeaturesWithWrongPhysicalQuantityCount}" />
<Parameter Name="Feature" Direction="In" Value="${Feature}" />
<Parameter Name="ObjectFeatures" Direction="In" Value="${ObjectFeaturesWithWrongPhysicalQuantity}" />
</Validation>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>