Article Details
Id:19181
Product:finPOWER Connect Cloud
Type:NEW
Version:3.04.04.26
Opened:25/03/2022
Closed:10/05/2022
Released:13/06/2022
Job: J028492
High Importance

Account; Transactions grid; Additional columns added that can be configured to show via a "finPOWER Connect Cloud Actions" Script

By default, only a small number of columns are displayed on the Account form, Transactions page. The columns that are displayed depend on whether the Account is a Loan or Deposit.

Right-clicking on the Transactions grid header has a "Show Grid Information" option. This report has been updated to show a "Visible" column. Any columns that do not show an "X" are hidden unless included via a Script.

NOTE: The new "PromiseStatus" column will have its text coloured the same colour as the "PromiseStatusIcon" EXCEPT for "Pending" items since the icon is white.

A "finPOWER Connect Cloud Actions" Script can be used to make these additional columns visible and is configured on the finPOWER Connect Cloud Configuration form, "Form & Accounts", "Account" page.

The following columns are available. New columns are shown with an asterisk and are not visible by default:

  • Loan
    • UserFlag (providing at least one Transaction has a User Flag set)
    • ElementIcon
    • Date
    • Reference
    • ElementId
    • DirectDebitStatus * (only if licensed for the Advanced Banking Add-On and at least one Transaction has a Direct Debit)
    • DirectDebitValue * (only if licensed for the Advanced Banking Add-On and at least one Transaction has a Direct Debit)
    • Debit
    • Credit
    • Balance
    • ValueAllocatedPrincipalNIB * (Principal)
    • BalancePrincipalNIB * (Principal Balance)
    • ValueAllocatedInterest * (Interest)
    • BalanceInterest * (Interest Balance)
    • ValueAllocatedFeeIB * (Fee)
    • BalanceFeeIB * (Fee Balance)
    • Overdue
    • OverdueContractual *
    • BalanceOverdue
    • BalanceOverdueContractual *
    • PromiseStatusIcon * (providing at least one Transaction has a Promise)
    • PromiseStatus * (providing at least one Transaction has a Promise)
    • PromiseValue * (providing at least one Transaction has a Promise)
    • Notes
  • Deposit
    • UserFlag (providing at least one Transaction has a User Flag set)
    • ElementIcon
    • Date
    • Reference
    • ElementId
    • ValueGross
    • WTax
    • Value
    • Balance
    • ValueAllocatedPrincipalIB * (Principal)
    • BalancePrincipalIB * (Principal Balance)
    • ValueAllocatedInterest * (Interest)
    • BalanceInterest * (Interest Balance)
    • ValueAllocatedFeeIB * (Fee)
    • BalanceFeeIB * (Fee Balance)
    • Notes

The following is a sample "finPOWER Connect Cloud Actions" Script which will show some of these new columns:

Option Explicit On
Option Strict On

Public Function Main(source As Object,
                     headerInfo As finCloudConnectFormHeaderInfo,
                     requestInfo As finScriptRequestInfo) As Boolean

  Dim Account As finAccount
  
  ' Assume Success
  Main = True

  ' Change Transactions grid layout
  If TypeOf source Is finAccount Then
    Account = DirectCast(source, finAccount)
    
    Select Case Account.AccountClass
      Case isefinAccountClass.Deposit, isefinAccountClass.Disbursement
        ' Use default grid layout
      
      Case Else
        ' Custom layout for Loans
        With headerInfo.Pages.ItemByPageId("Transactions").Grid1Layout
          .Columns.FromCsvString("Date,ElementId,Debit,Credit,DirectDebitStatus,DirectDebitValue,Balance,PromiseStatus,PromiseValue,Notes")
        End With
    End Select
  End If
  
End Function

NOTE: A Script can also add columns individually (instead of as a CSV list). In this case, each column can be given a priority with 0 meaning the column will never be hidden (if the screen size becomes small) and other values such as 1, 2 and 3 meaning the column will auto-hide at certain screen sizes (these are subject to change but lower values have a higher priority and are therefore less likely to be hidden).

Option Explicit On
Option Strict On

Public Function Main(source As Object,
                     headerInfo As finCloudConnectFormHeaderInfo,
                     requestInfo As finScriptRequestInfo) As Boolean

  Dim Account As finAccount
  
  ' Assume Success
  Main = True

  ' Change Transactions grid layout and give columns a priority
  If TypeOf source Is finAccount Then
    Account = DirectCast(source, finAccount)
    
    Select Case Account.AccountClass
      Case isefinAccountClass.Deposit, isefinAccountClass.Disbursement
        ' Use default grid layout
      
      Case Else
        ' Custom layout for Loans
        With headerInfo.Pages.ItemByPageId("Transactions").Grid1Layout.Columns
          .Add("Date", 0)
          .Add("ElementId", 0)
          .Add("Value", 0)
          .Add("PromiseStatusIcon", 3)
          .Add("PromiseStatus", 0)
          .Add("PromiseValue", 0)
          .Add("Notes", 3)
        End With
    End Select
  End If
  
End Function

The Transactions grid can be defined to have multiple layouts which are available by right-clicking the grid's header or the dropdown icon that will appear in the header if multiple layouts are available. The following Script shows how to include additional layouts:

Option Explicit On
Option Strict On

Public Function Main(source As Object,
                     headerInfo As finCloudConnectFormHeaderInfo,
                     requestInfo As finScriptRequestInfo) As Boolean

  Dim Account As finAccount
  
  ' Assume Success
  Main = True

  ' Change Transactions grid layout and allow alternate layouts
  If TypeOf source Is finAccount Then
    Account = DirectCast(source, finAccount)
    
    Select Case Account.AccountClass
      Case isefinAccountClass.Deposit, isefinAccountClass.Disbursement
        ' Use default grid layout
      
      Case Else
        ' Custom layout for Loans
        With headerInfo.Pages.ItemByPageId("Transactions")
          With .Grid1Layout
            .Columns.FromCsvString("Date,ElementId,Debit,Credit,DirectDebitStatus,DirectDebitValue,Balance,PromiseStatus,PromiseValue,Notes")
          End With
          
        ' Alternate layout 1
        With .Grid1AlternateLayouts.Add("Overdues", "Overdue Focused")
          .Columns.FromCsvString("Date,ElementId,Balance,Overdue,BalanceOverdue")
        End With

        ' Alternate layout 1
        With .Grid1AlternateLayouts.Add("Contractual", "Contractual Focused")
          .Columns.FromCsvString("Date,ElementId,Balance,OverdueContractual,BalanceOverdueContractual")
        End With
      End With
    End Select
  End If
  
End Function