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

ActionField490

Beschrijving: Change status of InternalCharges/InternalChargeLines/InternalChargeCreate to Approved. Custom: Nee

Propertiesbewerken

Property Type Accessor
InternalChargeCreate InternalChargeCreate Root

XMLbewerken

<Workflow Name="ActionField490" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Change status of InternalCharges/InternalChargeLines/InternalChargeCreate to Approved.</Description>
	<Properties>
		<Property	Name="InternalChargeCreate"	Type="InternalChargeCreate"		Accessor="Root"		Direction="In" />

		<Property	Name="InternalChargeLines"	Type="List[InternalChargeLine]"	Accessor="Internal" />
		<Property	Name="InternalCharges"		Type="List[InternalCharge]"		Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<GetList Name="Get InternalChargeLines" Type="InternalChargeLine" OutputProperty="${InternalChargeLines}" OrderBy="Id" OrderDirection="Ascending">
				<Joins>
					<Join	Name="ContractLine"	Alias="cl"	Type="InnerJoin" />
				</Joins>
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="InternalChargeCreate.Id"	Operator="="		PropertyValue="${InternalChargeCreate.Id}" />
						<PropertyFilter	PropertyName="cl.StartDateChargePeriod"	Operator="&gt;"		PropertyValue="%PeriodFromDate" />
					</CombinedFilter>
				</Filters>
			</GetList>

			<Validation Name="Check StartDateChargePeriod of contractlines" Condition="${InternalChargeLines.Count} == 0" MessageCode="1782" Comment="we'll first have to check whether there are contractlines that have a StartDateChargePeriod that is past the the PeriodFromDate of the InternalChargeLine. If so, this cannot proceed">
				<Parameter	Name="InternalChargeLines"	Direction="In"		Value="${InternalChargeLines}" />
			</Validation>

			<GetList Name="Get InternalCharges" Type="InternalCharge" OutputProperty="${InternalCharges}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="InternalChargeCreate.Id"	Operator="="		PropertyValue="${InternalChargeCreate.Id}" />
				</Filters>
			</GetList>

			<ForEach Name="Approve all internalcharges asscoiated with the run" In="${InternalCharges}" As="InternalCharge">
				<ChangeStatus Name="Change status of charge record" DomainObject="${InternalCharge}" NewStatus="InternalChargeStatus.Approved" />
			</ForEach>

			<Validation Name="Check whether there are any invoices to approve" Condition="${InternalCharges.Count} != 0" MessageCode="1838" />

			<ChangeStatus Name="Change status of run record" DomainObject="${InternalChargeCreate}" NewStatus="InternalChargeCreateStatus.Approved" />

			<GetList Name="Get InternalChargeLines" Type="InternalChargeLine" OutputProperty="${InternalChargeLines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="InternalChargeCreate.Id"	Operator="="		PropertyValue="${InternalChargeCreate.Id}" />
				</Filters>
			</GetList>

			<ForEach Name="Approve all internalchargelines asscoiated with the run" In="${InternalChargeLines}" As="InternalChargeLine">
				<ChangeStatus Name="Change status of line" DomainObject="${InternalChargeLine}" NewStatus="InternalChargeLineStatus.Approved" />
			</ForEach>

			<Command Name="InternalChargeCreate_ContractLinesUpdateDates" CommandName="InternalChargeCreate_ContractLinesUpdateDates">
				<Parameter	Name="InternalChargeCreate"	Direction="In"		Value="${InternalChargeCreate}" />
			</Command>
		</Transaction>

		<UserContent Name="Post" />

		<Message Name="MessageApproved" MessageCode="0852">
			<Parameter	Name="InternalChargeCount"	Direction="In"		Value="${InternalCharges.Count}" />
			<Parameter	Name="InternalChargeCreate"	Direction="In"		Value="${InternalChargeCreate}" />
		</Message>
	</Execution>
</Workflow>