Tally.ERP 9 Customisations with TallyPrime
Introduction
The enhanced interface has enforced to provide revolutionary changes in TDL. However, there have been efforts to ensure we do have backward compatibility to ensure the existing TDLs are working in TallyPrime with minimal effort.
No Migration of TCP
There are no changes in TCP format to ensure minimum transition hurdles. Hence, all the compiled files would work without the need for re-compilation or any procedure to convert encryption format. However, for a better user experience, there have been numerous changes in Default TDL.TDL Management Report
Product and Features report now has been renamed as ‘TDL Management’. Since F12: Configuration menu has been removed, this Report now can be navigated through
Menu in F1: Help
TDL Management report can be opened from F1: Help > TDL & Add-On
Also, the TDLs can be configured in the INI file.
A global shortcut key
A global shortcut key Ctrl + Alt + T can be used to open the TDL management report.
About screen
TDL management report could also be opened through the About page. In F1: Help à About. Then click enter on TDLs Configured.
Also, the TDLs can be configured in the INI file.
TDL Management View
The TDL Management report view is enhanced to provide better clarity of the list of customisation linked to the application. The Report has been provided as a hierarchy report.
The new screen with totals has to be taken
Add-on Features Screen
F11: Features screen is entirely revamped in TallyPrime, and the button F11 is now available as System Key, instead of Menu Button.
The Add-on feature screen has been moved to the TDL Management Report. (F1: Help à TDL & Add-on à F6 : Add-on Features). Though, the company features screen has been revamped, the part definition name hasn’t changed.
Earlier Code:
[#Form: Company Operations]
Switch : TSPL Addon Name LowerRel : TSPL Addon Name NotFor3.2 : $$Number:$$ProdInfo: + ProdReleaseAsStr)< 3.2
Switch : TSPL Addon Name CurrenRel : TSPL Addon Name For3.2: ($$Number:$$ProdInfo:
ProdReleaseAsStr) >= 3.2
[!Form : TSPL Addon Name NOTFor3.2]
Local : Part : CMP AccFeat Left : Add : Line : At End : TSPL Addon Name TEST
[!Form : TSPL Addon Name For3.2]
Local : Part : CMP TallyShopFeatures Left : Add : Line : At End : TSPL Addon Name TESTFrom3.2
New Code
[#Part : CMP TallyShopFeatures Left]
Add : Line : At End : TSPL Addon Name TESTFrom3.2
TDL Code Changes Required
Code compatibility for TallyPrime & Tally.ERP 9
Incase customisation needs to be made compatible with Tally.ERP 9 and TallyPrime ‘Option’ can be used in most of the case. The option can be achieved with the help of function $$ProdInfo as given below:
For Tally.ERP 9
$$ProdInfo:ProdMajorVersion = 1 and $$ProdInfo:ProdMinorVersion = 0
For TallyPrime
$$ProdInfo:ProdMajorVersion = 1 and $$ProdInfo:ProdMinorVersion > 0
Buttons
The buttons in the customised solutions shall not be functional in the following cases.
- Button F12 has been removed from Menu context.
- The custom buttons shall fail if any of the shortcut keys are already used in Default TDL. For example, F1 is a global key used for help; hence such button in customisation shall not work.
- Bottom ToolBar has been removed.
- Top Toolbar buttons have been completely reformed. Hence the existing toolbar buttons shall fail to load.
- By specifying the ‘Column Report’ and ‘Repeat’ attributes at the Report, “New Column”, “Alter Column” and “Delete Column” buttons shall not be automatically added in TallyPrime. Now the required buttons should be added as needed. The change provides the ability in the hands of the developer. It aids them to position the buttons as per their design choice and order.
Example
[Report: MulCol Trial Balance]
ColumnReport: MyMultiColumns
[Form: MulCol Trial Balance]
;; To incorporate the change in TallyPrime
Bottom Button : Add Column, Alter Column, Delete Column
Menu Items
- Menu Items at Gateway of Tally for masters, i.e. Accounts Info, Inventory Info, Payroll Info has been re-engineered for better user experience. All Master menu items have been moved under Create and Alter item. Each master has now been added as an Object, and related action needs to be specified at the object. Following coding elements should be referred.
-
- The field has related Tables
[Field: CreateAlter Master]
Act On Table Element : @CreateMaster : Execute Obj Actions : MasterCreate
Act On Table Element : @AlterMaster : Execute Obj Actions : MasterAlter
Table : CreateAlter Master, CreateAlter Action
The developer needs to modify the Collection ‘F10Accounting Masters Objects’ as all the objects would be in the context of an Internal Object as an Object. While adding Action in Object, make use of Label – ‘MasterAlter’ to change the existing values and an object Label –‘MasterCreate’ to create a new master. These changes should be implemented as the field is already ready with the rest of engineering.
- The import menu option moved from the menu ‘Gateway of Tally’ to Top toolbar button. The name of the menu ‘Import of Data’ has been replaced with the popup menu ‘Import TopMenu’ in the Top toolbar button.
- The menu definition ‘Company info’ has been replaced with the popup menu ‘Company TopMenu’ in the Top toolbar button.
- The menu ‘Configuration’ has been removed. The related configurations have been added under the respective features. For example, any configuration related to Import is moved under the menu definition ‘Import TopMenu’. These configurations are now specified as Objects.
[Menu: Import TopMenu]
|
|
Key Item : @@locConfiguration : N : Execute : Import Configuration
|
[Report: Import Configuration]
Object : App INI Config
|
|
[Field: Import Configuration]
Use : Table Config Template
Width : @@OutputConfigWidth
Table : Import Configurations, ImportExport ShowMore
|
|
[Table: Import Configurations]
|
Objects : Cfg Grouping Title, Cfg Bank Grouping Title
;; A new title can be to this list
Explode : Import General Configurations : $Name = @@ConfigGeneral
|
|
[Collection: Import General Configurations]
|
|
Objects : Cfg ExpImp File Location, Cfg SV Ignore Error In Import, Cfg SV Overwrite ImpVch
|
|
[Object: Cfg ExpImp File Location]
Use : Output Configuration
Name : @@ImpExpFilePathTitle
Value : $$ReportObject:$ExportPath
Action : Config Action : Modify Variables : Cfg ExpImp File Location
;; This opens a report to provide a path
|
|
[Object: Cfg SV Ignore Error In Import]
Use : Output Configuration
Name : @@IgnoreErrorsTitle
Value : ##SVIgnoreErrInImport
Action : Config Action : Set: SVIgnoreErrInImport: NOT ##SVIgnoreErrInImport
;; Variable value is changed
|
|
;; to provide any configuration item as advanced, i.e. hidden until the demand to show the following snippet is helpful
|
|
[Object: Cfg Import BatchSize]
Use : Output Configuration
Name : @@ImpBatchSizeTitle
Value : ##ImportBatchSize
IsAdvanced : Yes
;; This method name is identified whether to show or hide an object in a table
Action : Config Action : Modify Variables : Cfg Import BatchSize
General configuration
- With the enhanced Popup Menu capability, the items in the General Configuration have now been placed in the Popup Menu, F1: Help invoked from the top buttons (F1: Help > Settings). The definition-name for the same is [Menu: Default Settings]
- An individual optional form has been added to all the vouchers types to maintain unique configuration for each type of voucher. You may refer to the definition
[Form: Voucher Configuration]
Browser Reports
The customised reports could be viewed in a browser, and there were few lines of code which was required to be added from Tally.ERP 9 Release 6.6.1. However, from TallyPrime attributes/methods, ‘DefinitionName’ and ‘IsCollection’ at Object definition have been eliminated.
Two new attributes have been introduced at Object Definition, that would allow displaying a report and displaying a collection in the Browser. The changes enable viewing of all reports in browser, giving an experience of structured navigation as ‘GoTo’ reports.
Attribute – Current Report
The attribute ‘Current Report’ at the object definition allows providing the name of a report which is required to be in the browser list.
Syntax
Current Report : <Display Report Name>
Example
[Object: GT Trial Balance]
Use : GoTo Report Obj
Name : $$LocaleString:”Trial Balance”
Current Report : Trial Balance
Attribute – Current Collection
The attribute ‘Current Collection’ at the object definition allows providing the name of a collection which is required to be in the browser list.
Syntax
Current Collection : <Display Collection Name>
Example
[Object: GT Group Overdue Receivables]
Use : GoTo Group Obj
Name : $$LocaleString:”Group Overdue Receivables”
ViewName : $$LocaleString:”Overdue Receivables”
Current Collection : Group Overdue Receivables
The List of Features in Read-only
- Most of the interfaces in TallyPrime are customisable; however, few interfaces would be restricted. They are:
- Top menus : Toolbar
- About Page Report
- All licensing and upgrade reports.
- GoTo / Switch To– Customised reports can be included in GoTo. However, it is restricted to change the structure of the collection.
- Company selection reports
- All default folder selections
- Core actions such as Shut company and Login as remote.
- Create/Alter Master – New options can be added, structure change is not allowed
Please note that this reference manual is made while we are still working to refine the product for the official launch; this is based on the current view of the features/capabilities.
Unused Code
-
- Since the default application TDL has changed to accommodate the desired experience, some definitions are updated or removed. We may also find some code categorised as unused which may be eventually removed. Hence we suggest you to perform thorough testing of all your customisations.
Example
[Menu: Import of Data]
- Suggesting not to use any unused code as it may be removed in the upcoming releases.