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

ActionField559

Beschrijving: Create InvoiceLines from Purchase(Lines) linked to Invoice. Custom: Nee

Propertiesbewerken

Property Type Accessor
Invoice Invoice Root

XMLbewerken

<Workflow Name="ActionField559" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create InvoiceLines from Purchase(Lines) linked to Invoice.</Description>
	<Properties>
		<Property	Name="Invoice"					Type="Invoice"				Accessor="Root"		Direction="In" />

		<Property	Name="DeleteInvoiceLines"		Type="RequestResult"		Accessor="Internal" />
		<Property	Name="InvoiceLines"				Type="List[InvoiceLine]"	Accessor="Internal" />
		<Property	Name="NegativePurchaseLines"	Type="Boolean"				Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="ummINV_MORE_PCH_ALLOWED_IS_SET" Condition="#{UltimoSettings.InvoiceMorePurchaseAllowed} == False" MessageCode="0821" />
		<Validation Name="InvoiceStatus OK?" Condition="${Invoice.Status} == InvoiceStatus.Created" MessageCode="0681">
			<Parameter	Name="Invoice"	Direction="In"		Value="${Invoice}" />
		</Validation>
		<Validation Name="Invoice has purchase" Condition="${Invoice.Purchase} != Empty" MessageCode="0682">
			<Parameter	Name="Invoice"	Direction="In"		Value="${Invoice}" />
		</Validation>

		<When Name="Invoice has lines » Yes" Condition="${Invoice.Lines} != Empty">
			<Question Name="Delete invoicelines?" Type="YesNo" MessageCode="0683" OutputProperty="${DeleteInvoiceLines}" />

			<When Name="Delete invoicelines » Answer is No" Condition="${DeleteInvoiceLines} == No">
				<Stop Name="Stop" Mode="Abort" Comment="return -1" />
			</When>
		</When>

		<Transaction>
			<GetList Name="Get invoicelines" Type="InvoiceLine" OutputProperty="${InvoiceLines}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="Id.Invoice"	Operator="="		PropertyValue="${Invoice}" />
				</Filters>
			</GetList>

			<ForEach Name="Foreach invoiceline" In="${InvoiceLines}" As="InvoiceLine">
				<DeleteObject Name="Delete invoiceline" DomainObject="${InvoiceLine}" />
			</ForEach>

			<WorkflowCall Name="Create invoicelines from purchaselines" WorkflowName="Purchase_CreateInvoiceLines">
				<Parameter	Name="Invoice"					Direction="In"		Value="${Invoice}" />
				<Parameter	Name="Purchase"					Direction="In"		Value="${Invoice.Purchase}" />
				<Parameter	Name="NegativePurchaseLines"	Direction="Out"									OutputProperty="${NegativePurchaseLines}" />
			</WorkflowCall>
		</Transaction>

		<UserContent Name="Post" />

		<When Name="Negative purchaselines encountered » Yes" Condition="${NegativePurchaseLines} == True">
			<Message Name="ummPURCHCONTNEG" MessageCode="0587" />
		</When>
	</Execution>
</Workflow>