Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield347
ActionField347
Beschrijving: Change InternalChargeSettings for Job (via dialog). Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| Job | Job | Root |
| Charge | JobChargeType | Optional |
| InstallmentsDescription | UltimoString | Optional |
| InstallmentsFixedPrice | Boolean | Optional |
| InstallmentsFixedPriceCost | CompanyMoney | Optional |
| InstallmentsFrequencyQuantity | Int16 | Optional |
| InstallmentsPayInTerms | Boolean | Optional |
| InstallmentsTermFrequency | Frequency | Optional |
| InstallmentsTermFromDate | Date? | Optional |
| InstallmentsTermQuantity | Int16 | Optional |
| InternalChargeMethod | InternalChargeMethod | Optional |
| ShowDialog | Boolean | Optional |
XMLbewerken
<Workflow Name="ActionField347" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Change InternalChargeSettings for Job (via dialog).</Description>
<Properties>
<Property Name="Job" Type="Job" Accessor="Root" Direction="In" Comment="Job to change the settings for" />
<Property Name="Charge" Type="JobChargeType" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsDescription" Type="UltimoString" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsFixedPrice" Type="Boolean" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsFixedPriceCost" Type="CompanyMoney" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsFrequencyQuantity" Type="Int16" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsPayInTerms" Type="Boolean" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsTermFrequency" Type="Frequency" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsTermFromDate" Type="Date?" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InstallmentsTermQuantity" Type="Int16" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="InternalChargeMethod" Type="InternalChargeMethod" Accessor="Optional" Direction="In" Comment="Property to update in dialog" />
<Property Name="ShowDialog" Type="Boolean" Accessor="Optional" Direction="In" Default="True" Comment="If True, update through dialog. Otherwise, set properties manually through screen/UserContent" />
<Property Name="InstallmentsFixedCostPerTerm" Type="CompanyMoney" Accessor="Internal" />
<Property Name="JobMaterials" Type="List[JobMaterial]" Accessor="Internal" />
<Property Name="MessageToDisplay" Type="Int16?" Accessor="Internal" />
<Property Name="UserHasModifiedInternalChargeSettings" Type="Boolean" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<When Name="Check if the job is a subjob" Condition="${Job.Multijob} != Empty && ${Job.Multijob} != ${Job}">
<Validation Name="Only allow changes to invoice settings if the multi-job is not fixed price" Condition="${Job.Multijob.InstallmentsFixedPrice} == False" MessageCode="1424">
<Parameter Name="Job" Direction="In" Value="${Job}" />
</Validation>
</When>
<WorkflowCall Name="Select new/updated internal charge settings" WorkflowName="DomainObject_SelectInternalChargeSettings">
<Parameter Name="DomainObject" Direction="In" Value="${Job}" />
<Parameter Name="JobHasCustomer" Direction="In" Value="=${Job.Customer} != Empty" />
<Parameter Name="ShowDialog" Direction="In" Value="${ShowDialog}" />
<Parameter Name="Charge" Direction="InOut" Value="${Charge}" OutputProperty="${Charge}" />
<Parameter Name="InstallmentsDescription" Direction="InOut" Value="${InstallmentsDescription}" OutputProperty="${InstallmentsDescription}" />
<Parameter Name="InstallmentsFixedPrice" Direction="InOut" Value="${InstallmentsFixedPrice}" OutputProperty="${InstallmentsFixedPrice}" />
<Parameter Name="InstallmentsFixedPriceCost" Direction="InOut" Value="${InstallmentsFixedPriceCost}" OutputProperty="${InstallmentsFixedPriceCost}" />
<Parameter Name="InstallmentsFrequencyQuantity" Direction="InOut" Value="${InstallmentsFrequencyQuantity}" OutputProperty="${InstallmentsFrequencyQuantity}" />
<Parameter Name="InstallmentsPayInTerms" Direction="InOut" Value="${InstallmentsPayInTerms}" OutputProperty="${InstallmentsPayInTerms}" />
<Parameter Name="InstallmentsTermFrequency" Direction="InOut" Value="${InstallmentsTermFrequency}" OutputProperty="${InstallmentsTermFrequency}" />
<Parameter Name="InstallmentsTermFromDate" Direction="InOut" Value="${InstallmentsTermFromDate}" OutputProperty="${InstallmentsTermFromDate}" />
<Parameter Name="InstallmentsTermQuantity" Direction="InOut" Value="${InstallmentsTermQuantity}" OutputProperty="${InstallmentsTermQuantity}" />
<Parameter Name="InternalChargeMethod" Direction="InOut" Value="${InternalChargeMethod}" OutputProperty="${InternalChargeMethod}" />
<Parameter Name="InstallmentsFixedCostPerTerm" Direction="Out" OutputProperty="${InstallmentsFixedCostPerTerm}" />
<Parameter Name="UserHasModifiedInternalChargeSettings" Direction="Out" OutputProperty="${UserHasModifiedInternalChargeSettings}" />
</WorkflowCall>
<When Name="User has modified invoice settings" Condition="${UserHasModifiedInternalChargeSettings} == True">
<When Name="Job is a multi-job" Condition="${Job.IsMultijob} == True">
<Message Name="Tell about subjobs already invoiced" MessageCode="1675">
<Parameter Name="Job" Direction="In" Value="${Job}" />
</Message>
</When>
<Transaction>
<Comment><![CDATA[ reset all charge flags on all WarehouseServeOuts related to job ]]></Comment>
<GetList Name="get jobmaterials grouped on WarehouseServeOut" Type="JobMaterial" OutputProperty="${JobMaterials}" OrderBy="Id" OrderDirection="Ascending">
<Joins>
<Join Name="WarehouseServeOutline" Alias="whsol" Type="InnerJoin" />
<Join Name="whsol.Id.WarehouseServeOut" Alias="whso" Type="InnerJoin" />
</Joins>
<Filters>
<PropertyFilter PropertyName="Id.Job" Operator="=" PropertyValue="${Job}" />
</Filters>
</GetList>
<ForEach Name="ForEach JobMaterial" In="${JobMaterials}" As="JobMaterial">
<Assign Name="reset Charge flag" Property="${JobMaterial.WarehouseServeOutline.Id.WarehouseServeOut.Charge}" Value="False" />
</ForEach>
<Assign Name="Set Job.Charge" Property="${Job.Charge}" Value="${Charge}" />
<Assign Name="Set Job.InstallmentsDescription" Property="${Job.InstallmentsDescription}" Value="${InstallmentsDescription}" />
<Assign Name="Set Job.InstallmentsFixedCostPerTerm" Property="${Job.InstallmentsFixedCostPerTerm}" Value="${InstallmentsFixedCostPerTerm}" />
<Assign Name="Set Job.InstallmentsFixedPrice" Property="${Job.InstallmentsFixedPrice}" Value="${InstallmentsFixedPrice}" />
<Assign Name="Set Job.InstallmentsFrequencyQuantity" Property="${Job.InstallmentsFrequencyQuantity}" Value="${InstallmentsFrequencyQuantity}" />
<Assign Name="Set Job.InstallmentsPayInTerms" Property="${Job.InstallmentsPayInTerms}" Value="${InstallmentsPayInTerms}" />
<Assign Name="Set Job.InstallmentsTermFrequency" Property="${Job.InstallmentsTermFrequency}" Value="${InstallmentsTermFrequency}" />
<Assign Name="Set Job.InstallmentsTermFromDate" Property="${Job.InstallmentsTermFromDate}" Value="${InstallmentsTermFromDate}" />
<Assign Name="Set Job.InstallmentsTermQuantity" Property="${Job.InstallmentsTermQuantity}" Value="${InstallmentsTermQuantity}" />
<Assign Name="Set Job.InternalChargeMethod" Property="${Job.InternalChargeMethod}" Value="${InternalChargeMethod}" />
<WorkflowCall Name="Update Job After Updating Invoice-Setting" WorkflowName="Job_SetAndUpdateAfterUpdateInvoiceSetting">
<Parameter Name="InstallmentsFixedPriceCost" Direction="In" Value="${InstallmentsFixedPriceCost}" />
<Parameter Name="Job" Direction="In" Value="${Job}" />
<Parameter Name="MessageToDisplay" Direction="Out" OutputProperty="${MessageToDisplay}" />
</WorkflowCall>
</Transaction>
<When Name="When a message should be displayed" Condition="${MessageToDisplay} != Empty">
<Choose Name="Check which message should be displayed">
<When Name="When message 1423" Condition="${MessageToDisplay} == 1423">
<Message Name="Notify the user that some sub jobs exist in charge lines" MessageCode="1423">
<Parameter Name="JobList" Direction="In" Value="${SkippedSubJobs}" />
</Message>
</When>
<When Name="When message 1452" Condition="${MessageToDisplay} == 1452">
<Message Name="Notify the user that this subjob is part of a non chargable multi-job" MessageCode="1452">
<Parameter Name="Job" Direction="In" Value="${Job}" />
</Message>
</When>
</Choose>
</When>
</When>
<UserContent Name="Post" />
</Execution>
</Workflow>