Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield299
ActionField299
Beschrijving: Create a Receipt/ReceiptLines for a Purchase and open Receipt screen. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| Purchase | Purchase | Root |
| FormName | UltimoString | Optional |
| ReceiptContext | Context | Optional |
| SelectReceivedPurchases | Boolean | Optional |
XMLbewerken
<Workflow Name="ActionField299" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Create a Receipt/ReceiptLines for a Purchase and open Receipt screen.</Description>
<Properties>
<Property Name="Purchase" Type="Purchase" Accessor="Root" Direction="In" />
<Property Name="FormName" Type="UltimoString" Accessor="Optional" Direction="In" Comment="Open this screen with the created Receipt" />
<Property Name="ReceiptContext" Type="Context" Accessor="Optional" Direction="In" Comment="Create the Receipt with this context" />
<Property Name="SelectReceivedPurchases" Type="Boolean" Accessor="Optional" Direction="In" Default="False" Comment="When False only select Purchases with statuses Active,PartReceived when True also select Purchases with status Received" />
<Property Name="CopyAllPurchLines" Type="RequestResult" Accessor="Internal" Default="Yes" />
<Property Name="CreatedReceipt" Type="Receipt" Accessor="Internal" />
<Property Name="MustExist" Type="Boolean" Accessor="Internal" Default="False" />
<Property Name="PurchaseLines" Type="GroupedList[Warehouse,PurchaseLine]" Accessor="Internal" />
<Property Name="PurchaseLinesStockArticleCount" Type="Int64" Accessor="Internal" />
<Property Name="Warehouse" Type="Warehouse" Accessor="Internal" />
<Property Name="WhereClause" Type="String" Accessor="Internal" />
<Property Name="WhereClauseSite" Type="String" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<When Name="SelectReceivedPurchases is true" Condition="${SelectReceivedPurchases} == True">
<Validation Name="PurchaseStatus OK?" Condition="${Purchase.Status} == PurchaseStatus.Active || ${Purchase.Status} == PurchaseStatus.PartReceived || ${Purchase.Status} == PurchaseStatus.Received" MessageCode="2716">
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
</Validation>
</When>
<When Name="SelectReceivedPurchases is False" Condition="${SelectReceivedPurchases} == False">
<Validation Name="PurchaseStatus OK?" Condition="${Purchase.Status} == PurchaseStatus.Active || ${Purchase.Status} == PurchaseStatus.PartReceived" MessageCode="0513">
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
</Validation>
</When>
<Transaction>
<GetGroupedList Name="Get PurchaseLines without InvoiceLine and not status Closed" Type="PurchaseLine" OutputProperty="${PurchaseLines}" GroupBy="Warehouse" OrderBy="Id.LineId" OrderDirection="Ascending">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Id.Purchase" Operator="=" PropertyValue="${Purchase}" />
<PropertyEmptyFilter PropertyName="InvoiceLine" />
<NotFilter>
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="PurchaseLineStatus.Closed" />
</NotFilter>
<NotFilter>
<PropertyEmptyFilter PropertyName="Warehouse" />
</NotFilter>
</CombinedFilter>
</Filters>
</GetGroupedList>
<GetCount Name="Count PurchaseLine with stockarticle" Type="PurchaseLine" OutputProperty="${PurchaseLinesStockArticleCount}">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Id.Purchase" Operator="=" PropertyValue="${Purchase}" />
<PropertyEmptyFilter PropertyName="InvoiceLine" />
<NotFilter>
<PropertyFilter PropertyName="Status" Operator="=" PropertyValue="PurchaseLineStatus.Closed" />
</NotFilter>
<PropertyFilter PropertyName="StockArticle" Operator="=" PropertyValue="True" />
</CombinedFilter>
</Filters>
</GetCount>
</Transaction>
<When Name="Check count" Condition="${PurchaseLines.Count} > 1">
<Question Name="Copy All Purchase Lines" Type="YesNo" MessageCode="2306" OutputProperty="${CopyAllPurchLines}" />
</When>
<When Name="Check count" Condition="${PurchaseLines.Count} == 1">
<Assign Name="Set Default for Collectinput" Property="${Warehouse}" Value="=#getpropertyvalue(#elementat(${PurchaseLines}, 0), 'Key')" />
</When>
<When Name="Filter on Site?" Condition="${Purchase.Site} != Empty && #{UltimoSettings.StockLevelPerSite} == True">
<Assign Name="Set WhereClauseSite" Property="${WhereClauseSite}" Value="WhsSitId = '${Purchase.Site.Id}'" />
<Choose Name="Set WhereClause">
<When Name="WhereClause is Empty" Condition="${WhereClause} == Empty">
<Assign Name="Set WhereClause" Property="${WhereClause}" Value="${WhereClauseSite}" />
</When>
<Otherwise Name="WhereClause not Empty">
<Assign Name="Add addition to WhereClause" Property="${WhereClause}" Value="=#concat(${WhereClause}, ' AND ', ${WhereClauseSite})" />
</Otherwise>
</Choose>
</When>
<When Name="PurchaseLinesWithStockArticle" Condition="${PurchaseLinesStockArticleCount} > 0">
<Dialog Name="Request a WareHouse" TitleCode="WAREHOUSECODE">
<Container>
<SelectionList Name="RequestWareHouse" Value="${Warehouse}" OutputProperty="${Warehouse}" ColumnName="WhsId" ViewfieldConfiguration="Default" Required="=(${PurchaseLinesStockArticleCount} > 0)" SqlWhereClause="${WhereClause}" />
</Container>
</Dialog>
</When>
<Transaction>
<Command Name="Create receipt" CommandName="Purchase_CreateReceipt">
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
<Parameter Name="ReceiptContext" Direction="In" Value="${ReceiptContext}" />
<Parameter Name="Warehouse" Direction="In" Value="${Warehouse}" />
<Parameter Name="Receipt" Direction="Out" OutputProperty="${CreatedReceipt}" />
</Command>
<WorkflowCall Name="Create receiptlines from purchaselines" WorkflowName="Purchase_CreateReceiptLines">
<Parameter Name="CopyAllPurchLines" Direction="In" Value="${CopyAllPurchLines}" />
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
<Parameter Name="Receipt" Direction="In" Value="${CreatedReceipt}" />
<Parameter Name="SelectReceivedPurchases" Direction="In" Value="${SelectReceivedPurchases}" />
</WorkflowCall>
<WorkflowCall Name="Receipt_CreateObjectBatches" WorkflowName="Receipt_CreateObjectBatches">
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
<Parameter Name="Receipt" Direction="In" Value="${CreatedReceipt}" />
<Parameter Name="ShowMessage2131" Direction="In" Value="False" />
</WorkflowCall>
<WorkflowCall Name="Receipt_SetDefaultWarehouseLocations" WorkflowName="Receipt_SetDefaultWarehouseLocations">
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
<Parameter Name="Receipt" Direction="In" Value="${CreatedReceipt}" />
<Parameter Name="ShowMessage2131" Direction="In" Value="False" />
</WorkflowCall>
<WorkflowCall Name="Receipt_CopyPurchaseValues" WorkflowName="Receipt_CopyPurchaseValues">
<Parameter Name="Purchase" Direction="In" Value="${Purchase}" />
<Parameter Name="Receipt" Direction="In" Value="${CreatedReceipt}" />
</WorkflowCall>
</Transaction>
<UserContent Name="Post" />
<View Name="Open screen to view created receipt" ViewName="DataEntryScreen">
<Parameter Name="DomainObject" Direction="In" Value="${CreatedReceipt}" />
<Parameter Name="FocusEditableField" Direction="In" Value="=${CreatedReceipt.Description} == Empty" />
<Parameter Name="ScreenName" Direction="In" Value="${FormName}" />
</View>
</Execution>
</Workflow>