Categorie: reference Bijgewerkt: 2026-04-08 actionfield workflow actionfield1720

ActionField1720

Beschrijving: Create an ObjectDowntime record for an unplanned downtime. Custom: Nee

Propertiesbewerken

Property Type Accessor
DomainObject DomainObject Root
ScreenName String Optional

XMLbewerken

<Workflow Name="ActionField1720" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create an ObjectDowntime record for an unplanned downtime.</Description>
	<Properties>
		<Property	Name="DomainObject"						Type="DomainObject"						Accessor="Root"		Direction="In" />

		<Property	Name="ScreenName"						Type="String"							Accessor="Optional"	Direction="In"		Default="JOB14"	Comment="Screen to open when creating job for solved downtime, when not using dialog" />

		<Property	Name="ActiveUnplannedDownTimesCount"	Type="Int64"							Accessor="Internal" />
		<Property	Name="Component"						Type="Component"						Accessor="Internal" />
		<Property	Name="ComponentProblem"					Type="ComponentProblem"					Accessor="Internal" />
		<Property	Name="CreatedJob"						Type="Job"								Accessor="Internal" />
		<Property	Name="Description"						Type="UltimoString"						Accessor="Internal" />
		<Property	Name="EndDate"							Type="DateTime?"						Accessor="Internal"										Comment="EndDate of ObjectDowntime" />
		<Property	Name="Equipment"						Type="Equipment"						Accessor="Internal" />
		<Property	Name="EquipmentCause"					Type="Equipment"						Accessor="Internal" />
		<Property	Name="FailType"							Type="FailType"							Accessor="Internal" />
		<Property	Name="ObjectDowntime"					Type="ObjectDowntime"					Accessor="Internal" />
		<Property	Name="ProcessFunction"					Type="ProcessFunction"					Accessor="Internal" />
		<Property	Name="ProcessFunctionCause"				Type="ProcessFunction"					Accessor="Internal" />
		<Property	Name="RegistrationType"					Type="ObjectDowntimeRegistrationType"	Accessor="Internal" />
		<Property	Name="Remark"							Type="UltimoString"						Accessor="Internal" />
		<Property	Name="Remedy"							Type="Remedy"							Accessor="Internal" />
		<Property	Name="ReportText"						Type="UltimoString"						Accessor="Internal" />
		<Property	Name="StartDate"						Type="DateTime"							Accessor="Internal"										Comment="StartDate of ObjectDowntime" />
		<Property	Name="UseDialogWhenReporting"			Type="Boolean"							Accessor="Internal" />
		<Property	Name="WorkOrderType"					Type="WorkOrderType"					Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="does this object need downtime registration" Condition="${DomainObject.RegisterObjectDowntime?} == True" MessageCode="3457" />

		<Transaction>
			<GetCount Name="Count active, unplanned downtimes for this equipment/process function" Type="ObjectDowntime" OutputProperty="${ActiveUnplannedDownTimesCount}">
				<Filters>
					<WhenFilter Condition="${DomainObject.EntityName} == Equipment">
						<PropertyFilter	PropertyName="Equipment"	Operator="="		PropertyValue="${DomainObject}" />
					</WhenFilter>
					<WhenFilter Condition="${DomainObject.EntityName} == ProcessFunction">
						<PropertyFilter	PropertyName="ProcessFunction"	Operator="="		PropertyValue="${DomainObject}" />
					</WhenFilter>
					<PropertyFilter	PropertyName="Status"	Operator="="		PropertyValue="ObjectDowntimeStatus.Approved" />
					<PropertyFilter	PropertyName="Context"	Operator="="		PropertyValue="ObjectDowntimeContext.Unplanned" />
					<PropertyEmptyFilter PropertyName="EndDate" />
				</Filters>
			</GetCount>
		</Transaction>

		<When Name="if there are active objectDownTimes" Condition="${ActiveUnplannedDownTimesCount} != 0">
			<ContinuationQuestion Name="Continue despite other active objectDownTimes?" MessageCode="3458" Default="Yes">
				<Parameter	Name="ActiveUnplannedDownTimesCount"	Direction="In"		Value="${ActiveUnplannedDownTimesCount}" />
			</ContinuationQuestion>
		</When>

		<WorkflowCall Name="Dialog_RegisterDowntime" WorkflowName="Dialog_RegisterDowntime">
			<Parameter	Name="DomainObject"					Direction="In"		Value="${DomainObject}" />
			<Parameter	Name="RegistrationStartsFromObject"	Direction="In"		Value="True" />
			<Parameter	Name="SkipOverlapValidation"		Direction="In"		Value="=${ActiveUnplannedDownTimesCount} != 0" />
			<Parameter	Name="RegistrationType"				Direction="InOut"	Value="${RegistrationType}"						OutputProperty="${RegistrationType}" />
			<Parameter	Name="Component"					Direction="Out"														OutputProperty="${Component}" />
			<Parameter	Name="ComponentProblem"				Direction="Out"														OutputProperty="${ComponentProblem}" />
			<Parameter	Name="Description"					Direction="Out"														OutputProperty="${Description}" />
			<Parameter	Name="EndDate"						Direction="Out"														OutputProperty="${EndDate}" />
			<Parameter	Name="Equipment"					Direction="Out"														OutputProperty="${Equipment}" />
			<Parameter	Name="EquipmentCause"				Direction="Out"														OutputProperty="${EquipmentCause}" />
			<Parameter	Name="FailType"						Direction="Out"														OutputProperty="${FailType}" />
			<Parameter	Name="ProcessFunction"				Direction="Out"														OutputProperty="${ProcessFunction}" />
			<Parameter	Name="ProcessFunctionCause"			Direction="Out"														OutputProperty="${ProcessFunctionCause}" />
			<Parameter	Name="Remark"						Direction="Out"														OutputProperty="${Remark}" />
			<Parameter	Name="Remedy"						Direction="Out"														OutputProperty="${Remedy}" />
			<Parameter	Name="ReportText"					Direction="Out"														OutputProperty="${ReportText}" />
			<Parameter	Name="StartDate"					Direction="Out"														OutputProperty="${StartDate}" />
			<Parameter	Name="UseDialogWhenReporting"		Direction="Out"														OutputProperty="${UseDialogWhenReporting}" />
			<Parameter	Name="WorkOrderType"				Direction="Out"														OutputProperty="${WorkOrderType}" />
		</WorkflowCall>

		<WorkflowCall Name="ObjectDowntime_Register" WorkflowName="ObjectDowntime_Register">
			<Parameter	Name="Component"			Direction="In"		Value="${Component}" />
			<Parameter	Name="ComponentProblem"		Direction="In"		Value="${ComponentProblem}" />
			<Parameter	Name="Description"			Direction="In"		Value="${Description}" />
			<Parameter	Name="DomainObject"			Direction="In"		Value="${DomainObject}" />
			<Parameter	Name="EndDate"				Direction="In"		Value="${EndDate}" />
			<Parameter	Name="Equipment"			Direction="In"		Value="${Equipment}" />
			<Parameter	Name="EquipmentCause"		Direction="In"		Value="${EquipmentCause}" />
			<Parameter	Name="FailType"				Direction="In"		Value="${FailType}" />
			<Parameter	Name="ProcessFunction"		Direction="In"		Value="${ProcessFunction}" />
			<Parameter	Name="ProcessFunctionCause"	Direction="In"		Value="${ProcessFunctionCause}" />
			<Parameter	Name="RegistrationType"		Direction="In"		Value="${RegistrationType}" />
			<Parameter	Name="Remark"				Direction="In"		Value="${Remark}" />
			<Parameter	Name="Remedy"				Direction="In"		Value="${Remedy}" />
			<Parameter	Name="ReportText"			Direction="In"		Value="${ReportText}" />
			<Parameter	Name="StartDate"			Direction="In"		Value="${StartDate}" />
			<Parameter	Name="WorkOrderType"		Direction="In"		Value="${WorkOrderType}" />
			<Parameter	Name="CreatedJob"			Direction="Out"										OutputProperty="${CreatedJob}" />
			<Parameter	Name="ObjectDowntime"		Direction="Out"										OutputProperty="${ObjectDowntime}" />
		</WorkflowCall>

		<UserContent Name="Post" />

		<When Name="UseDialogWhenReporting disabled" Condition="${UseDialogWhenReporting} == False &amp;&amp; ${CreatedJob} != Empty">
			<Choose Name="Check if job is to be reported afterwards">
				<When Name="Report solved job" Condition="${RegistrationType} == Solved">
					<View Name="Navigate to report job afterwards" ViewName="DataEntryScreen">
						<Parameter	Name="DomainObject"			Direction="In"		Value="${CreatedJob}" />
						<Parameter	Name="FocusEditableField"	Direction="In"		Value="=${CreatedJob.Description} == Empty" />
						<Parameter	Name="ScreenName"			Direction="In"		Value="${ScreenName}" />
					</View>
				</When>

				<Otherwise Name="Report non-solved job">
					<View Name="Navigate to default screen for job" ViewName="DataEntryScreen">
						<Parameter	Name="DomainObject"			Direction="In"		Value="${CreatedJob}" />
						<Parameter	Name="FocusEditableField"	Direction="In"		Value="=${CreatedJob.Description} == Empty" />
					</View>
				</Otherwise>
			</Choose>
		</When>
	</Execution>
</Workflow>