Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1081
ActionField1081
Beschrijving: Change a SoftwareInstallation. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| SoftwareInstallation | SoftwareInstallation | Root |
| SqlWhereClauseEmp | UltimoString | Optional |
XMLbewerken
<Workflow Name="ActionField1081" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Change a SoftwareInstallation.</Description>
<Properties>
<Property Name="SoftwareInstallation" Type="SoftwareInstallation" Accessor="Root" Direction="In" />
<Property Name="SqlWhereClauseEmp" Type="UltimoString" Accessor="Optional" Direction="In" Comment="Only select Employees with this sqlwhereclause" />
<Property Name="CurrentlyCoveredByLicense" Type="Boolean" Accessor="Internal" Default="False" />
<Property Name="InstallationsCount" Type="Int64" Accessor="Internal" />
<Property Name="SelectedInstallationDate" Type="Date?" Accessor="Internal" />
<Property Name="SelectedInstallationEmployee" Type="Employee" Accessor="Internal" />
<Property Name="SelectedRemovalDate" Type="Date?" Accessor="Internal" />
<Property Name="SelectedRemovalEmployee" Type="Employee" Accessor="Internal" />
<Property Name="SelectedVersion" Type="UltimoString" Accessor="Internal" />
<Property Name="TotalSeatsCount" Type="Int64" Accessor="Internal" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<Transaction>
<GetSum Name="Get totals seats for active software licenses at current installation date" Type="SoftwareLicense" OutputProperty="${TotalSeatsCount}" PropertyName="NumberOfSeats">
<Filters>
<PropertyFilter PropertyName="Software" Operator="=" PropertyValue="${SoftwareInstallation.Software}" />
<PropertyFilter PropertyName="StartDate" Operator="<=" PropertyValue="${SoftwareInstallation.InstallationDate}" />
<CombinedFilter FilterOperator="Or">
<PropertyFilter PropertyName="ExpirationDate" Operator="=" PropertyValue="Empty" />
<PropertyFilter PropertyName="ExpirationDate" Operator=">=" PropertyValue="${SoftwareInstallation.InstallationDate}" />
</CombinedFilter>
<PropertyFilter PropertyName="Status" Operator=">=" PropertyValue="SoftwareLicenseStatus.None" />
</Filters>
</GetSum>
<GetCount Name="Get number of installations for software at current installation date" Type="SoftwareInstallation" OutputProperty="${InstallationsCount}">
<Filters>
<PropertyFilter PropertyName="Software" Operator="=" PropertyValue="${SoftwareInstallation.Software}" />
<PropertyFilter PropertyName="InstallationDate" Operator="<=" PropertyValue="${SoftwareInstallation.InstallationDate}" />
<CombinedFilter FilterOperator="Or">
<PropertyFilter PropertyName="RemovalDate" Operator="=" PropertyValue="Empty" />
<PropertyFilter PropertyName="RemovalDate" Operator=">" PropertyValue="${SoftwareInstallation.InstallationDate}" />
</CombinedFilter>
<PropertyFilter PropertyName="Status" Operator=">=" PropertyValue="SoftwareLicenseStatus.None" />
</Filters>
</GetCount>
</Transaction>
<When Name="When installation is currently covered by a license" Condition="(${TotalSeatsCount} - ${InstallationsCount}) >= 0">
<Assign Name="Set flag to True" Property="${CurrentlyCoveredByLicense}" Value="True" />
</When>
<Dialog Name="ChangeSoftwareInstallation" TitleCode="CHANGESOFTWAREINSTALLATION">
<Container Border="True">
<Date Name="SelectedInstallationDate" Width="100" Visible="=${SoftwareInstallation.RemovalDate} == Empty && ${SoftwareInstallation.RemovalEmployee} == Empty" Value="${SoftwareInstallation.InstallationDate}" OutputProperty="${SelectedInstallationDate}" Required="True" LabelCode="DATEINSTALL" />
<Date Name="SelectedInstallationDateWithEndInput" Width="100" Visible="=${SoftwareInstallation.RemovalDate} != Empty || ${SoftwareInstallation.RemovalEmployee} != Empty" Value="${SoftwareInstallation.InstallationDate}" OutputProperty="${SelectedInstallationDate}" Required="True" LabelCode="DATEINSTALL" EndTimeInput="SelectedRemovalDate" />
<SelectionList Name="SelectedInstallationEmployee" Value="${SoftwareInstallation.InstallationEmployee}" OutputProperty="${SelectedInstallationEmployee}" ColumnName="EmpId" LabelCode="EMPINSTALL" SqlWhereClause="${SqlWhereClauseEmp}" />
<Text Name="SelectedVersion" Value="${SoftwareInstallation.Version}" OutputProperty="${SelectedVersion}" ColumnName="SoiVersion" LabelCode="VERSION" />
<Date Name="SelectedRemovalDate" Width="100" Visible="=${SoftwareInstallation.RemovalDate} != Empty || ${SoftwareInstallation.RemovalEmployee} != Empty" Value="${SoftwareInstallation.RemovalDate}" OutputProperty="${SelectedRemovalDate}" Required="=${SoftwareInstallation.RemovalEmployee} != Empty" LabelCode="DATEREMOVAL" />
<SelectionList Name="SelectedRemovalEmployee" Visible="=${SoftwareInstallation.RemovalDate} != Empty || ${SoftwareInstallation.RemovalEmployee} != Empty" Value="${SoftwareInstallation.RemovalEmployee}" OutputProperty="${SelectedRemovalEmployee}" ColumnName="EmpId" LabelCode="EMPREMOVAL" SqlWhereClause="${SqlWhereClauseEmp}" />
</Container>
</Dialog>
<When Name="When a license is required, check availability and usage" Condition="${SoftwareInstallation.Software.LicenseRequired} == True">
<Transaction>
<GetSum Name="Get totals seats for active software licenses at selected installation date" Type="SoftwareLicense" OutputProperty="${TotalSeatsCount}" PropertyName="NumberOfSeats">
<Filters>
<PropertyFilter PropertyName="Software" Operator="=" PropertyValue="${SoftwareInstallation.Software}" />
<PropertyFilter PropertyName="StartDate" Operator="<=" PropertyValue="${SelectedInstallationDate}" />
<CombinedFilter FilterOperator="Or">
<PropertyFilter PropertyName="ExpirationDate" Operator="=" PropertyValue="Empty" />
<PropertyFilter PropertyName="ExpirationDate" Operator=">=" PropertyValue="${SelectedInstallationDate}" />
</CombinedFilter>
<PropertyFilter PropertyName="Status" Operator=">=" PropertyValue="SoftwareLicenseStatus.None" />
</Filters>
</GetSum>
<GetCount Name="Get number of installations for software at selected installation date" Type="SoftwareInstallation" OutputProperty="${InstallationsCount}">
<Filters>
<PropertyFilter PropertyName="Software" Operator="=" PropertyValue="${SoftwareInstallation.Software}" />
<PropertyFilter PropertyName="InstallationDate" Operator="<=" PropertyValue="${SelectedInstallationDate}" />
<CombinedFilter FilterOperator="Or">
<PropertyFilter PropertyName="RemovalDate" Operator="=" PropertyValue="Empty" />
<PropertyFilter PropertyName="RemovalDate" Operator=">" PropertyValue="${SelectedInstallationDate}" />
</CombinedFilter>
<PropertyFilter PropertyName="Status" Operator=">=" PropertyValue="SoftwareLicenseStatus.None" />
</Filters>
</GetCount>
</Transaction>
<When Name="When currently covered by license and selected installation date outside the original period between installation and removal date" Condition="${CurrentlyCoveredByLicense} == True && ${SelectedInstallationDate} < ${SoftwareInstallation.InstallationDate} && (${SoftwareInstallation.RemovalDate} == Empty || ${SelectedInstallationDate} > ${SoftwareInstallation.RemovalDate})">
<Assign Name="Count the installation being changed as well" Property="${InstallationsCount}" Value="=${InstallationsCount} + 1" />
</When>
<When Name="When no more seats available" Condition="(${TotalSeatsCount} - ${InstallationsCount}) < 0">
<ContinuationQuestion Name="NotEnoughAvailableSeatsContinue?" MessageCode="2121" Default="No">
<Parameter Name="InstallationDate" Direction="In" Value="${SelectedInstallationDate}" />
<Parameter Name="InstallationsCount" Direction="In" Value="${InstallationsCount}" />
<Parameter Name="Software" Direction="In" Value="${SoftwareInstallation.Software}" />
<Parameter Name="TotalSeatsCount" Direction="In" Value="${TotalSeatsCount}" />
</ContinuationQuestion>
</When>
</When>
<Transaction>
<Assign Name="Set SoftwareInstallation.InstallationDate" Property="${SoftwareInstallation.InstallationDate}" Value="${SelectedInstallationDate}" />
<Assign Name="Set SoftwareInstallation.InstallationEmployee" Property="${SoftwareInstallation.InstallationEmployee}" Value="${SelectedInstallationEmployee}" />
<Assign Name="Set SoftwareInstallation.RemovalDate" Property="${SoftwareInstallation.RemovalDate}" Value="${SelectedRemovalDate}" />
<Assign Name="Set SoftwareInstallation.RemovalEmployee" Property="${SoftwareInstallation.RemovalEmployee}" Value="${SelectedRemovalEmployee}" />
<Assign Name="Set SoftwareInstallation.Version" Property="${SoftwareInstallation.Version}" Value="${SelectedVersion}" />
</Transaction>
<UserContent Name="Post" />
</Execution>
</Workflow>