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 &amp;&amp; (${ModifiedAllowOnlyDefaultUnit} == True || ${ModifiedPhysicalQuantityUnit} == True) &amp;&amp; ${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 &amp;&amp; (${ModifiedAllowOnlyDefaultUnit} == True || ${ModifiedPhysicalQuantityUnit} == True) &amp;&amp; ${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} &lt; 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} &lt; 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>