Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield365
ActionField365
Beschrijving: Delete InvoiceLines with linked PurchaseLines of this Invoice. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| Invoice | Invoice | Root |
XMLbewerken
<Workflow Name="ActionField365" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Delete InvoiceLines with linked PurchaseLines of this Invoice.</Description>
<Properties>
<Property Name="Invoice" Type="Invoice" Accessor="Root" Direction="In" />
<Property Name="InvoiceLines" Type="List[InvoiceLine]" Accessor="Internal" />
<Property Name="Purchase" Type="Purchase" Accessor="Internal" />
<Property Name="Purchases" Type="List[Purchase]" Accessor="Internal" />
<Property Name="Receipt" Type="Receipt" Accessor="Internal" />
<Property Name="Receipts" Type="List[Receipt]" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Validation Name="InvoiceStatus OK?" Condition="${Invoice.Status} == InvoiceStatus.Created || ${Invoice.Status} == InvoiceStatus.CreditCreated || ${Invoice.Status} == InvoiceStatus.CreatedNoPurchase || ${Invoice.Status} == InvoiceStatus.CreditCreatedNoPurchase" MessageCode="0686">
<Parameter Name="Invoice" Direction="In" Value="${Invoice}" />
</Validation>
<Transaction>
<GetList Name="Get purchases on invoice" Type="Purchase" OutputProperty="${Purchases}" OrderBy="Id" OrderDirection="Ascending">
<Joins>
<Join Name="InvoiceLines" Alias="invoiceLine" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="invoiceLine.Id.Invoice" Operator="=" PropertyValue="${Invoice}" />
</Filters>
</GetList>
<GetList Name="Get Receipts on invoice" Type="Receipt" OutputProperty="${Receipts}" OrderBy="Id" OrderDirection="Ascending">
<Joins>
<Join Name="InvoiceLines" Alias="invoiceLine" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="invoiceLine.Id.Invoice" Operator="=" PropertyValue="${Invoice}" />
</Filters>
</GetList>
</Transaction>
<Validation Name="Items Added" Condition="${Invoice.PurchaseAddType} != None && ( (${Purchases} != Empty && ${Purchases.Count} != 0) || (${Receipts} != Empty && ${Receipts.Count} != 0) )" MessageCode="2342">
<Parameter Name="Invoice" Direction="In" Value="${Invoice}" />
</Validation>
<Choose Name="PurchaseAddType">
<When Name="Purchase" Condition="${Invoice.PurchaseAddType} == Purchase">
<When Name="One" Condition="${Purchases.Count} == 1">
<Assign Name="Set Purchase" Property="${Purchase}" Value="=#elementat(${Purchases},0)" />
</When>
<When Name="More than one" Condition="${Purchases.Count} > 1">
<SystemDialog Name="DialogSelectPurchase" DialogName="SelectDomainObject">
<Parameter Name="EntityName" Direction="In" Value="Purchase" />
<Parameter Name="SelectionListConfiguration" Direction="In" Value="Default" />
<Parameter Name="SqlWhereClause" Direction="In" Value="PchId in (#foreach(${PossiblePurchase} in ${Purchases})#each'${PossiblePurchase.Id}'#between, #end)" />
<Parameter Name="DomainObject" Direction="Out" OutputProperty="${Purchase}" />
</SystemDialog>
</When>
<ContinuationQuestion Name="Continue Purchase" MessageCode="2345">
<Parameter Name="DomainObject" Direction="In" Value="${Purchase}" />
</ContinuationQuestion>
</When>
<Otherwise Name="Receipt">
<When Name="One" Condition="${Receipts.Count} == 1">
<Assign Name="Set Receipt" Property="${Receipt}" Value="=#elementat(${Receipts},0)" />
</When>
<When Name="More than one" Condition="${Receipts.Count} > 1">
<SystemDialog Name="DialogSelectReceipt" DialogName="SelectDomainObject">
<Parameter Name="EntityName" Direction="In" Value="Receipt" />
<Parameter Name="SelectionListConfiguration" Direction="In" Value="Default" />
<Parameter Name="SqlWhereClause" Direction="In" Value="RcpId in (#foreach(${PossibleReceipt} in ${Receipts})#each'${PossibleReceipt.Id}'#between, #end)" />
<Parameter Name="DomainObject" Direction="Out" OutputProperty="${Receipt}" />
</SystemDialog>
</When>
<ContinuationQuestion Name="Continue Receipt" MessageCode="2345">
<Parameter Name="DomainObject" Direction="In" Value="${Receipt}" />
</ContinuationQuestion>
</Otherwise>
</Choose>
<Transaction>
<GetList Name="Get invoicelines of selected Receipt" Type="InvoiceLine" OutputProperty="${InvoiceLines}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Id.Invoice" Operator="=" PropertyValue="${Invoice}" />
<WhenFilter Condition="${Receipt} != Empty">
<PropertyFilter PropertyName="ReceiptLine.Id.Receipt" Operator="=" PropertyValue="${Receipt}" />
</WhenFilter>
<WhenFilter Condition="${Purchase} != Empty">
<PropertyFilter PropertyName="PurchaseLine.Id.Purchase" Operator="=" PropertyValue="${Purchase}" />
</WhenFilter>
</CombinedFilter>
</Filters>
</GetList>
<ForEach Name="Foreach invoiceline" In="${InvoiceLines}" As="InvoiceLine">
<DeleteObject Name="Delete invoiceline" DomainObject="${InvoiceLine}" />
</ForEach>
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>