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

ActionField591

Beschrijving: Create a PurchaseRequestLine or link a existing PurchaseRequestLine To PurchaseRequest(Tender). Custom: Nee

Propertiesbewerken

Property Type Accessor
Tender PurchaseRequest Root
Context Context Optional
FormName UltimoString Optional

XMLbewerken

<Workflow Name="ActionField591" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create a PurchaseRequestLine or link a existing PurchaseRequestLine To PurchaseRequest(Tender).</Description>
	<Properties>
		<Property	Name="Tender"											Type="PurchaseRequest"		Accessor="Root"		Direction="In" />

		<Property	Name="Context"											Type="Context"				Accessor="Optional"	Direction="In"		Default="PurchaseRequestLineContext.Standard"	Comment="Find PurchaseRequests or Create PurchaseRequestLine with this context" />
		<Property	Name="FormName"											Type="UltimoString"			Accessor="Optional"	Direction="In"		Default="Pchrl04"								Comment="Open this screen with the created/linked PurchaseRequestLine" />

		<Property	Name="AnswerToAddExistingPurchaseRequestLineToTender"	Type="RequestResult"		Accessor="Internal"						Default="No" />
		<Property	Name="PurchaseRequestLine"								Type="PurchaseRequestLine"	Accessor="Internal" />
		<Property	Name="PurchaseRequestsWithContextTender"				Type="QueryResult"			Accessor="Internal" />
		<Property	Name="SQLSubClause"										Type="String"				Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Question Name="AddExistingPurchaseRequestLineToTender?" Type="YesNoCancel" MessageCode="1199" Default="No" OutputProperty="${AnswerToAddExistingPurchaseRequestLineToTender}">
			<Parameter	Name="Tender"	Direction="In"		Value="${Tender}" />
		</Question>

		<Choose Name="AddExistingPurchaseRequestLineToTender">
			<When Name="Answer is Yes" Condition="${AnswerToAddExistingPurchaseRequestLineToTender} == Yes">
				<Transaction>
					<Query Name="QueryPurchaseRequestsWithContextTender" Type="PurchaseRequest" OrderBy="Id" OrderDirection="Ascending" OutputProperty="${PurchaseRequestsWithContextTender}">
						<Filters>
							<PropertyFilter	PropertyName="Context"	Operator="="		PropertyValue="PurchaseRequestContext.Tender" />
						</Filters>
						<Properties>
							<Property Name="Id" Type="GroupProperty" />
						</Properties>
					</Query>
				</Transaction>

				<ForEach Name="ForEachPurchaseRequest" In="${PurchaseRequestsWithContextTender}" As="PurchaseRequest">
					<When Name="WhenClauseNotEmpty" Condition="${SQLSubClause} != Empty">
						<Assign Name="AddSeparatorToClause" Property="${SQLSubClause}" Value="${SQLSubClause}," />
					</When>

					<Assign Name="AddPurchaseRequestIdToClause" Property="${SQLSubClause}" Value="${SQLSubClause}'${PurchaseRequest.Id}'" />
				</ForEach>

				<Dialog Name="PurchaseRequestLineDialog" TitleCode="SELECT_ORDER_REQUESTLINE">
					<Container>
						<SelectionList Name="PurchaseRequestLine" OutputProperty="${PurchaseRequestLine}" ColumnName="PchrlId" Required="True" SqlWhereClause="(PchrlRecStatus = 4 OR PchrlRecStatus = 8) AND (PchrlPchrId in (${SQLSubClause}) or PchrlPchrId IS NULL)" />
					</Container>
				</Dialog>

				<When Name="CheckDeliveryDateInfo » IfDeliveryDateInfoPresentInPurchaseRequestLine" Condition="${PurchaseRequestLine.RequestedDeliveryDate} != Empty">
					<Message Name="DeliveryDateInfo" MessageCode="1213">
						<Parameter	Name="PurchaseRequestLine"	Direction="In"		Value="${PurchaseRequestLine}" />
					</Message>
				</When>

				<Transaction>
					<Assign Name="Set tender" Property="${PurchaseRequestLine.Tender}" Value="${Tender}" />

					<ChangeStatus Name="Set Status" DomainObject="${PurchaseRequestLine}" NewStatus="PurchaseRequestLineStatus.Tender" />
				</Transaction>
			</When>


			<When Name="Answer is No" Condition="${AnswerToAddExistingPurchaseRequestLineToTender} == No">
				<Transaction>
					<Insert Name="Create PurchaseRequestLine" ObjectType="PurchaseRequestLine" OutputProperty="${PurchaseRequestLine}">
						<Parameter	Name="Context"	Direction="In"		Value="${Context}" />
						<Parameter	Name="Status"	Direction="In"		Value="PurchaseRequestLineStatus.None" />
						<Parameter	Name="Tender"	Direction="In"		Value="${Tender}" />
					</Insert>

					<ChangeStatus Name="Change PurchaseRequestLineStatus" DomainObject="${PurchaseRequestLine}" NewStatus="PurchaseRequestLineStatus.Tender" />
				</Transaction>

				<View Name="OpenScreen" ViewName="DataEntryScreen">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${PurchaseRequestLine}" />
					<Parameter	Name="FocusEditableField"	Direction="In"		Value="True" />
					<Parameter	Name="ScreenName"			Direction="In"		Value="${FormName}" />
				</View>
			</When>


			<When Name="Answer is Cancel" Condition="${AnswerToAddExistingPurchaseRequestLineToTender} == Cancel">
				<Stop Name="Stop" Mode="Abort" />
			</When>
		</Choose>

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