Tally.Developer 9 Release 3.3 - Available Now
The fundamental highlight of this version is
"Enhanced Security, protection of TCP’s along with a track of TCP de-compilation operations"
• New compilation format "Irreversible" is introduced in Tally.Developer 9 to secure the IP and the source code. Now you will be able to compile TCP's which cannot be recovered back. This provides an additional layer of source code protection to avoid misuse in hands of unauthorized hackers.
• For tracking the decompilations for earlier TCP's, a new report "Decompilation Report" is introduced in the Web Control Centre/Partner account which allows complete traceability of users decompiling the files for the particular account.

Tally.Developer 9 Release 3.2 - Enhancements
Tally.Developer 9 Series A Release 3.2 in congruence with Tally.ERP 9 - Auditors’ Edition Release 3.2.
This comes with the latest source code for Tally.ERP 9 - Auditors’ Edition Release 3.2 and some minor bug fixes.

Tally.Developer 9 Release 3.0 - Enhancements
Tally.Developer 9 Release 3.0 comes to you with the enhanced features as listed along with its unique features like Easy programming by Syntax Colouring and Navigation of code, Auto Completion, Project Management, Ease of debugging with error listing and diagnosis, Authorisation techniques for TCP, Access to the Complete Tally source and so on.
• Multi Version Default TDL Loading
• Optional Default TDL Loading
• Managing TCP's
• Hyperlink and Navigation Enhancements
• Error Handling
• Syntax Coloring
• Access to Online Help
TDL Enhancements in Tally.ERP 9 Release 3.0
1. Collection Enhancements
We have made some path breaking enhancements at the Collection level in the previous Releases for Tally.ERP 9. The latest in this release is the introduction of the Attribute Walk Ex for performance improvements and the capability of Data Source Attribute to gather the information from a disk directory/folder within a collection.
a. Attribute - Walk Ex
There are scenarios where we have Union of multiple collections using the same source collection and each collection walks over its sub objects across different paths and computes/aggregates the values from sub level. In such cases, significant CPU cycles will be utilised in gathering and walking over the same Source Object along different paths more than once. WalkEx is introduced which when specified in the resultant collection, allows us to specify a collection list. The collections referred in WalkEx contain attributes only to walk the source collection and aggregate over Sub Objects of an already gathered collection. All walk paths specified in the collection list are traversed in a single pass for each object in the source collection. This results in improvements in performance drastically.
b. Directory as a Data Source
The collection attribute Data Source is enhanced to support "Directory" as data source type. This will enable to gather all information pertaining to the contents of the disk directory/folder. Each folder constituent ie either File or Directory along with its corresponding details are available as an object in the collection.
2. Image Printing Capabilities
Over the years, there has been a major requirement from the user community to enable Image Printing in Tally. From this release onwards, we are supporting Image Printing using the latest enhancements mentioned as below
a. Graph Type attribute of Part allows the specification of BMP/JPG/JPEG image enabled for Print Mode also.
b. A new Definition type "Resource" has been introduced in TDL. This will allow accessing and using the resources (images/icons/cursors etc) from a local disk, HTTP/FTP or from a DLL/EXE. The image formats supported at present are BMP/JPEG/ICON/CUR. The resource thus created can be used in a part definition using the attribute "Image" .This is applicable in both Print and Display mode.
These enhancements have been used in default to print the company logo in the top left of the default Reports like Sales Invoice, Delivery Note/Challan, Debit/Credit Notes etc
3. Enhanced Columnar Capability
In Tally, two dimensional matrix reports can be designed using the auto column report approach (using Repeat Variables). Traditionally these types of Reports are referred as columnar Reports.
The latest enhancements in the area of Columnar Reporting enables us to design the reports using a new approach altogether. A field within a line can display method values from multiple objects of the collection. Context Free repeat within the part and line enable repetition on simple/list variable values also. These features give a better control in the hands of the programmer in designing such reports. The syntax of the attribute Repeat for Part and Line has been made consistent to support Context Based as well as Context Free repetition of line/field contained within it.
4. Persisting Variables at System Scope in a User Specified File
As per enhancements as announced in Release 2.0, we are aware that the variables at the report scope can be persisted in a user specified file using the action SAVE VARIABLE. These can be re-loaded as required using the action LOAD VARIABLE. The latest enhancements in variable persistence allows the user to persist and re-load the variables at System Scope(in a User Specified File) as well. The variable list specification in the syntax of the action SAVE VARIABLE helps in achieving the same
5. Import/Export Events Introduced
As a part of the Language enhancements, in recent past there have been significant enhancements as a part of the Event Framework. Before this release events introduced were mostly related to handling application start up and close, company loading and unloading. The Object specific events were mainly focused around trapping events while rendering the data on screen and print.
In this Release, we have introduced events to handle user specific requirements on data manipulation to be handled during Export and Import of data. With the introduction of Events, Start Import, Import Object and End Import, the programmers have got complete control to manipulate the data prior to importing the same into the company. This can be useful in scenarios like data transfers between Inter Branch where Delivery Note in a branch gets transformed into Receipt Note in the second branch; Sales transaction in a Branch gets transformed into Purchase transaction in the second branch and so on. Also, an action Import Object is introduced to begin the Import process.
While exporting Full objects to XML and SDF formats with the introduction of Export Events, Before Export, Export Object and After Export, the user will be able to trap these events and get an access to the object being exported which can be altered as required before export. This can be useful in scenarios like changing required information during export, not displaying price/amount of the stock item while synchronising Delivery Note to the branch offices, creating a consolidated sales entry from all the sales transactions of the day etc.
6. Enhancement - Programmable Configuration
Prior to Tally.ERP 9 when multiple reports were printed or mass mailing was being done in a sequence, prior to each Action, a configuration report is displayed for user input. This would interrupt the flow, thereby requiring a dedicated person to monitor the process which is time consuming. This had been addressed in Tally.ERP 9 release 1.6, by providing an optional logical parameter to suppress the repeated display for the configuration screen before the invocation of global actions 'Print', 'Export', 'Upload' and 'Email'.
From this Release onwards, programmable configurations are supported for actions 'Print Report', 'Export Report', 'Upload Report' and 'Email Report' also. These actions support the print, export, upload and email of the current report in context.
7. Optional Default TDL Loading
Many Third Party Applications use Tally's rapid application development environment to render various complex reports using Tally Definition Language (TDL). Tally.ERP 9 acts as a front end application for various external databases to retrieve and manipulate information as and when required. Tally, being a comprehensive business application loads all the TDL's required as per the functional aspects of the Application. In cases where the third party applications require using Tally purely as a development platform, loading of complete application TDLs may prove to be expensive in terms of startup time. Specifically, to avoid the overheads in loading the functional TDL files in environments like above the command line parameter /NODEF has been introduced which will load the basic template files ONLY.
8. Refresh Issues in context of User Defined Function Evaluation
In case of a predefined Function, whenever the function accessed and manipulated certain UI elements like a variable, field value, method values of objects the link between the element and the calling UI is established. Each time these get manipulated again, the function gets reevaluated, new values get calculated and the corresponding UI is refreshed with new values.
In case of a TDL procedural "Function" we faced certain issues, where the fields calling the function for some evaluation, were not refreshed with new values when the UI elements get modified elsewhere and the function does not get reevaluated. The refresh problems which we may have faced in context of using "Function" in evaluation scenario, has been resolved in the latest Release.
9. Function and Attribute Enhancements
In the latest Release 3.0, there have been quite a few enhancements related to various attributes and functions.
a. Report Attribute - Plain XML
There are some legacy and non-standard applications which require an XML without formatting and applied styles. They consume the entire unformatted XML available as a single string without even a new line character. The attribute Plain XML introduced in Report definition allows the generation of XML without applying any formats and styles.
b. Field Attribute - Format for Quantity Datatype
When a method of type quantity is retrieved in a report, it is always expressed in terms of the primary unit. In case of the Unit of Measure is a nested compound unit, the user may require the quantity in terms of any of the units in the entire Compound unit chain. The format attribute of the field has been enhanced to specify the Tail unit in which the quantity value needs to be extracted.
c. Field Attribute - Cell Write
When the data is exported from an external application to Excel Format, especially in the following scenarios Excel faces refresh issues in some specific scenarios.This problem is addressed at the TDL level with the introduction of new Field attribute 'Cell Write' which enables writing data corresponding to cells on which rest of the cells containing the formula/template are dependent prior to writing the entire chunk.
d. Function - $$StrByCharCode
The function $$StrByCharCode accepts the ASCII code or Unicode and displays the corresponding special symbol. The Indian Rupee symbol display has been supported in the product using this function. The ASCII code for the new rupee symbol is 8377.
e. Function - $$InPreviewMode
In the scenarios, where the printing events Before Print and After Print are used to trigger an Action, the action was called even if the report is in preview mode. To overcome this problem the function $$InPreviewMode is introduced, using which actions can be triggered conditionally as required.
f. Function - $$RemoteUserId
In a remote environment, there may be scenarios where some restrictions need to be applied to the data access based on the user identity. This can be achieved at the TDL level by using a new function $$RemoteUserId which will return the user name of the remote user accessing the TDL.
g. Function $$InWords Enhancements
Prior to this release, the function $$InWords accepted only amount data type and displayed the amount in words. Now the function $$InWords is extended to accept Number data type as well and display it in words.
h. Function $$ContextKeyword enhancements
Prior to this release, the function $$ContextKeyword was used to return the Title of the Report or Menu. In the scenarios, like adding a report in the list of favorites, where the definition name of the current report was required instead of the report Title. The function $$ContextKeyword is enhanced to return Report name or Definition name.
|