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

ActionField704

Beschrijving: Assign value to properties Craftsman(from Employee), HourTariffCategory (from CraftsmanHourCategory) and HourCode (from Job.WorkOrderType). ActionField must be attached to property EmployeeLabourLine.Job. Custom: Nee

Propertiesbewerken

Property Type Accessor
EmployeeLabourLine EmployeeLabourLine Root

XMLbewerken

<Workflow Name="ActionField704" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Assign value to properties Craftsman(from Employee), HourTariffCategory (from CraftsmanHourCategory) and HourCode (from Job.WorkOrderType). ActionField must be attached to property EmployeeLabourLine.Job.</Description>
	<Properties>
		<Property	Name="EmployeeLabourLine"		Type="EmployeeLabourLine"		Accessor="Root"		Direction="In" />

		<Property	Name="CraftsmanHourCategory"	Type="CraftsmanHourCategory"	Accessor="Internal"						Default="Empty" />
		<Property	Name="Employee"					Type="Employee"					Accessor="Internal"						Default="${EmployeeLabourLine.Id.EmployeeLabour.Id.Employee}" />
		<Property	Name="Job"						Type="Job"						Accessor="Internal"						Default="${EmployeeLabourLine.Job}" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Choose Name="Check if Craftsman set on Employee or not">
			<When Name="When craftsman is not set" Condition="${Employee.Craftsman} == Empty">
				<Transaction>
					<DeleteObject Name="Delete EmployeeLabourLine" DomainObject="${EmployeeLabourLine}" Comment="Any booked hours should be subtracted from EmployeeLabour." />
				</Transaction>

				<Message Name="NotifyCraftsmanNotSet" MessageCode="0408">
					<Parameter	Name="Employee"	Direction="In"		Value="${Employee}" />
				</Message>
			</When>

			<Otherwise Name="Otherwise, Craftsman is set">
				<Transaction>
					<Assign Name="Craftsman" Property="${EmployeeLabourLine.Craftsman}" Value="${Employee.Craftsman}" />

					<WorkflowCall Name="Craftsman_GetHourCategory" WorkflowName="Craftsman_GetHourCategory">
						<Parameter	Name="Craftsman"					Direction="In"		Value="${EmployeeLabourLine.Craftsman}" />
						<Parameter	Name="Job"							Direction="In"		Value="${EmployeeLabourLine.Job}" />
						<Parameter	Name="PreferredHourTariffCategory"	Direction="In"		Value="${EmployeeLabourLine.HourTariffCategory}" />
						<Parameter	Name="CraftsmanHourCategory"		Direction="Out"															OutputProperty="${CraftsmanHourCategory}" />
					</WorkflowCall>

					<Assign Name="HourTariffCategory" Property="${EmployeeLabourLine.HourTariffCategory}" Value="${CraftsmanHourCategory.Id.HourTariffCategory}" />

					<When Name="HasJob" Condition="${Job} != Empty">
						<When Name="HasWorkOrderType" Condition="${Job.WorkOrderType} != Empty">
							<Assign Name="HourCode" Property="${EmployeeLabourLine.HourCode}" Value="${Job.WorkOrderType.HourCode}" />
						</When>

						<Validation Name="HasHourCode" Condition="${EmployeeLabourLine.HourCode} != Empty" MessageCode="1455">
							<Parameter	Name="EmployeeLabourLine"	Direction="In"		Value="${EmployeeLabourLine}" />
						</Validation>
					</When>
				</Transaction>
			</Otherwise>
		</Choose>

		<UserContent Name="Post" />
	</Execution>
</Workflow>