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

ActionField033

Beschrijving: Create JobWeek with status Created for Job. Custom: Nee

Propertiesbewerken

Property Type Accessor
Job Job Root
FormNameForStatusCreated UltimoString Optional
FormNameForStatusNotCreated UltimoString Optional

XMLbewerken

<Workflow Name="ActionField033" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create JobWeek with status Created for Job.</Description>
	<Properties>
		<Property	Name="Job"							Type="Job"				Accessor="Root"		Direction="In" />

		<Property	Name="FormNameForStatusCreated"		Type="UltimoString"		Accessor="Optional"	Direction="In"										Comment="Open this screen after jobweek is created" />
		<Property	Name="FormNameForStatusNotCreated"	Type="UltimoString"		Accessor="Optional"	Direction="In"										Comment="Open this screen when jobweek is not created" />

		<Property	Name="DomainGlobals"				Type="DomainGlobals"	Accessor="Internal"						Default="#{UltimoSettings.Id}" />
		<Property	Name="FormName"						Type="UltimoString"		Accessor="Internal" />
		<Property	Name="JobWeek"						Type="JobWeek"			Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<When Name="JobStatusIsClosed" Condition="${Job.Status} == JobStatus.Closed">
			<Stop Name="Stop" Mode="Abort" />
		</When>

		<Transaction>
			<GetItem Name="Get JobWeek for current week" Type="JobWeek" OutputProperty="${JobWeek}">
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="Id.Job"	Operator="="		PropertyValue="${Job}" />
						<PropertyFilter	PropertyName="Id.Week"	Operator="="		PropertyValue="${Job.CurrentWeek}" />
					</CombinedFilter>
				</Filters>
			</GetItem>

			<When Name="No Job week" Condition="${JobWeek} == Empty">
				<Validation Name="Check JobStatus" Condition="${Job.Status} == JobStatus.Active || ${Job.Status} == JobStatus.Finished" MessageCode="0381">
					<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
				</Validation>
				<Validation Name="Check Job.CurrentWeek" Condition="${Job.CurrentWeek} &gt; ${DomainGlobals.LastClosedWeek}" MessageCode="0382">
					<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
				</Validation>

				<Insert Name="Create JobWeek" ObjectType="JobWeek" OutputProperty="${JobWeek}">
					<Parameter	Name="Id.Job"	Direction="In"		Value="${Job}" />
					<Parameter	Name="Id.Week"	Direction="In"		Value="${Job.CurrentWeek}" />
					<Parameter	Name="Status"	Direction="In"		Value="JobWeekStatus.None" />
				</Insert>

				<ChangeStatus Name="JobWeek to Created" DomainObject="${JobWeek}" NewStatus="JobWeekStatus.Created" />
			</When>
		</Transaction>

		<Choose Name="JobWeekStatusCheck">
			<When Name="JobWeekStatusCreated" Condition="${JobWeek.Status} == JobWeekStatus.Created">
				<Assign Name="fn1" Property="${FormName}" Value="${FormNameForStatusCreated}" />
			</When>

			<Otherwise Name="JobWeekStatusNotCreated">
				<Assign Name="fn2" Property="${FormName}" Value="${FormNameForStatusNotCreated}" />
			</Otherwise>
		</Choose>

		<UserContent Name="Post" />

		<View Name="OpenScreen" ViewName="DataEntryScreen">
			<Parameter	Name="DomainObject"			Direction="In"		Value="${JobWeek}" />
			<Parameter	Name="FocusEditableField"	Direction="In"		Value="=${JobWeek.Description} == Empty" />
			<Parameter	Name="ScreenName"			Direction="In"		Value="${FormName}" />
		</View>
	</Execution>
</Workflow>