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

ActionField1810

Beschrijving: Create a new inspection line for a Job, JobPlan or PmJob and open it in its data entry screen. Custom: Nee

Propertiesbewerken

Property Type Accessor
DomainObject DomainObject Root
ScreenName UltimoString Optional

XMLbewerken

<Workflow Name="ActionField1810" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create a new inspection line for a Job, JobPlan or PmJob and open it in its data entry screen.</Description>
	<Properties>
		<Property	Name="DomainObject"					Type="DomainObject"	Accessor="Root"		Direction="In" />

		<Property	Name="ScreenName"					Type="UltimoString"	Accessor="Optional"	Direction="In" />

		<Property	Name="CreatedInspectionLine"		Type="DomainObject"	Accessor="Internal" />
		<Property	Name="DefaultInspectionLineTypeId"	Type="String"		Accessor="Internal"						Default="US001" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Choose Name="Approved PmJob check">
			<When Name="Check if PmJob" Condition="${DomainObject.EntityName} == PmJob">
				<Validation Name="Validate PmJob status" Condition="${DomainObject.Status} != PmJobStatus.Approved" MessageCode="3736">
					<Parameter	Name="Create"	Direction="In"		Value="True" />
					<Parameter	Name="PmJob"	Direction="In"		Value="${DomainObject}" />
				</Validation>
			</When>


			<When Name="Check if PmJobInspectionLine" Condition="${DomainObject.EntityName} == PmJobInspectionLine">
				<Validation Name="Validate PmJob status" Condition="${DomainObject.Id.PmJob.Status} != PmJobStatus.Approved" MessageCode="3736">
					<Parameter	Name="Create"	Direction="In"		Value="True" />
					<Parameter	Name="PmJob"	Direction="In"		Value="${DomainObject.Id.PmJob}" />
				</Validation>
			</When>
		</Choose>

		<Transaction>
			<When Name="When the inspection line is for the Job" Condition="${DomainObject.EntityName} == Job || ${DomainObject.EntityName} == JobInspectionLine">
				<Insert Name="Create a new inspection line" ObjectType="JobInspectionLine" OutputProperty="${CreatedInspectionLine}">
					<Parameter	Name="Id.Job"	Direction="In"		Value="=${DomainObject.EntityName} == Job ? ${DomainObject} : ${DomainObject.Id.Job}" />
					<Parameter	Name="Context"	Direction="In"		Value="JobInspectionLineContext.Inspection" />
					<Parameter	Name="Status"	Direction="In"		Value="JobInspectionLineStatus.Created" />
				</Insert>
			</When>

			<When Name="When the inspection line is for the PmJob" Condition="${DomainObject.EntityName} == PmJob || ${DomainObject.EntityName} == PmJobInspectionLine">
				<Insert Name="Create a new inspection line" ObjectType="PmJobInspectionLine" OutputProperty="${CreatedInspectionLine}">
					<Parameter	Name="Id.PmJob"	Direction="In"		Value="=${DomainObject.EntityName} == PmJob ? ${DomainObject} : ${DomainObject.Id.PmJob}" />
				</Insert>
			</When>

			<When Name="When the inspection line is for the JobPlan" Condition="${DomainObject.EntityName} == JobPlan || ${DomainObject.EntityName} == JobPlanInspectionLine">
				<Insert Name="Create a new inspection line" ObjectType="JobPlanInspectionLine" OutputProperty="${CreatedInspectionLine}">
					<Parameter	Name="Id.JobPlan"	Direction="In"		Value="=${DomainObject.EntityName} == JobPlan ? ${DomainObject} : ${DomainObject.Id.JobPlan}" />
				</Insert>
			</When>
		</Transaction>

		<WorkflowCall Name="Call WF to update Order (Point) on DomainObject" WorkflowName="DomainObject_UpdateSortOrderOnThisLineAndItsSiblings">
			<Parameter	Name="DomainObject"	Direction="In"		Value="${CreatedInspectionLine}" />
		</WorkflowCall>

		<WorkflowCall Name="Call WF to set InspectionLineType on DomainObject" WorkflowName="DomainObject_SetInspectionLineType">
			<Parameter	Name="DefaultInspectionLineTypeId"	Direction="In"		Value="${DefaultInspectionLineTypeId}" />
			<Parameter	Name="DomainObject"					Direction="In"		Value="${CreatedInspectionLine}" />
		</WorkflowCall>

		<UserContent Name="Post" />

		<View Name="OpenScreen" ViewName="DataEntryScreen">
			<Parameter	Name="DomainObject"	Direction="In"		Value="${CreatedInspectionLine}" />
			<Parameter	Name="ScreenName"	Direction="In"		Value="${ScreenName}" />
		</View>
	</Execution>
</Workflow>