Report Filter
In Release 3.0, an enhanced report filtering capability is introduced for better end-user usability. New definitions are introduced to aid the functionality for developers to provide filters quickly within customised reports, including UDF values.
Button – Report Value Filters
A new button, Report Value Filters, is introduced to provide simple filters. The developer can add the button to any customised report.
Example:
[Form : TSPL Report Filter Capabilities]
Button : Report Value Filters
A template report Range Value Template is available to ease the coding for the developers. However, the button utilises variables to update and filter the collection. Hence it is required to add those variables to the report.
Example:
[Report: TSPL Report Filter Capabilities]
Use : Range Value Template
Collection – SVFilterObjsColl
A new collection, SVFilterObjsColl, is introduced to enhance report filter capability. The developers can add new objects to the collection with appropriate methods for newly added UDFs.
Syntax
[#Collection: SVFilterObjsColl]
Add : Object : <ObjectName>
Example:
[#Collection: SVFilterObjsColl]
;; New object, requires definition
Add: Object: Flt Voucher SalesMan
[Object: Flt Voucher SalesMan]
FLTGroupLabel : @@FLTGeneralDetails
FltUserMethodName : $$LocaleString : “SalesMan”
FltMethodName : “SalesmanStr”
FltMethodType : Voucher
FltDataType : String
Methods of Filter Object
Sl.No. |
Name |
Description |
1 |
FltMethodType |
It indicates Primary Object Type. Example: FltMethodType : Group |
2 |
FltUserMethodName |
This method displays the provided text in the method table, found in String and to match nested object user method. |
3 |
FltMethodName |
The method requires the storage name to be searched for the provided value.
Example: FltMethodName : “Name” |
4 |
FltChain |
It is the list of collections in which the method name should be evaluated. It supports index syntax where ‘1’ stands for first and ‘-1’ for last. Only the 1 & -1 are supported. Example : 1 FltChain : “All Ledger Entries, Bank Allocations” Methods will be evaluated in All Ledger Entries and within Bank Allocations and so on. Example : 2 FltChain : “All Ledger Entries, Inventory Allocations, Category Allocations, Cost Centre Allocations” The method will be evaluated in All Ledger Entries then Inventory Allocations; if it’s found, then ok, else ignore it and proceed with Category Allocations and so on. Example : 3 FltChain : “gst, stat, tallycontentuser[1]” |
5 |
FltSecObject |
The method creates the next object in the filter tree. |
6 |
FltDataType |
The method populates the match type table. |
7 |
FltNestedObjType |
The method refers to the parent object. |
8 |
FltNestedObjUserMethod |
The method refers to the parent object’s TDL names (usernames). |
9 |
FltIsFeatureEnabled |
If ‘Yes’, the method is shown in the method table used in Any expansion. |
10 |
FltGroupLabel |
The method helps to arrange methods as a set of groups (Hierarchical Table). |
11 |
FltUsedFor |
If there are a set of methods for different purposes in one object type, we need a mechanism to filter it out. Example: For cost centre object, the Employee Number is applicable when Payroll is enabled. Similarly, Cost Category is applicable when it is non-payroll. |
12 |
FltTableIdentifier |
It is used to identify which table to display for a selected method. |
13 |
FltMatchedInfoDispExp |
Format to display matched information. |
14 |
FltIsMethodAlias |
This method checks whether the object is used as an alias for another or not. and it accepts a logical value. |