Monday, May 25, 2009

Tally ERP 9 Speed Issues

This is with regards to my earlier post on this issue. i.e Tally ERP 9 Speed problem

It has been confirmed by Tally Solutions, Bangalore that there are Speed problems/ issues while using SELECT statement to fetch Tally data from Tally ERP 9. Tally Solutions, Bangalore has also assured that this issue will be resolved in the forthcoming release of Tally ERP 9.

Friday, May 8, 2009

Tally ERP 9 SPEED Issues

Recently while working on Tally ERP 9 we faced some problems. Tally ERP 9 was very slow in processing SQL-SELECT statements.

Click here for more details on the Tally ERP 9 SPEED Tests that we performed.

Friday, March 6, 2009

Attempting managed execution inside OS Loader lock

I am trying to link my VB.NET / C# application with Tally using RTSlink DLL. But I get this error while calling Open() function :-

"Attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a DllMain or image initialization function since doing so can cause the application to hang. "

Solution 1
1. Go to Debug/Exceptions
2. Open up the Managed Debugging Assistants node on the tree and scroll down till you find LoaderLock and uncheck it.

After this recompile the project.

Solution 2
1) If you cannot find that the "Exceptions" option under "Debug" menu-option in Visual Studio, then refer this link to get it back.
2) Next, follow the steps given in Solution 1.


Saturday, January 10, 2009

Tally 9 - Support for UNICODE characters

Support for UNICODE characters is available in Tally 9. This post deals with some issues relating to UNICODE.

1) When we programmatically import / export data from Tally 9, the default character-set used by Tally Software is ASCII.

2) However, in case if NO Company is opened in Tally 9 and we programmatically send a SQL-Request to Tally (like to check if any company is open or not), the RESPONSE received from Tally is always in UNICODE. This may cause error as generally the Tally Integration programs written now-a-days do not provide support for handling UNICODE characters. This prima-facia appears to be a BUG in Tally 9, but has not been confirmed by Tally Solutions, Bangalore as of now.

BUG
Tally 9 returns data in UNICODE even though the character-set is set as ASCII (i.e. UNICODE="No"). This occurs when we send a SQL-Request to Tally when NO company is open in Tally 9. It does not occur in any other situations tested by us till now.



Sunday, December 14, 2008

Tally SQL-SELECT returns incorrect results at times

While using SQL-SELECT to retrieve Tally data, we found that in certain cases, Tally Software returns incorrect results. This problem prima-facia appears to be a bug in Tally.

The BUG relating to SQL-SELECT statements
The SQL-SELECT statement in Tally returns incorrect result when some specific characters are used like period (a dot).

Steps to replicate the problem:-

Step 1
Create a new Company in Tally (we tested it with Tally 7.2, Tally 9 Release 2.14, Tally 9 Release 3 [Beta])

Step 2
Select option "Gateway of Tally >> F12 >> Accts / Inventory Info". Next, set the option "Use PART NUMBERS for Stock Items" to YES under the section "Inventory Masters"

Step 3
Next, create two Stock Items using option "Gateway of Tally >> Inventory Info >> Stock Items >> Create" as shown below:-


STOCKNAME PARTNUMBER
Cylinder 100
Cyl. Block 101

Step 4
Try out the using following SQL-SELECT statement.

SELECT $Name,$AdditionalName FROM Ledger where $Name="Cylinder"

Result:-
Correct. You get one record.

Step 5
Next, try out the following SQL-SELECT statement.

SELECT $Name,$AdditionalName FROM Ledger where $Name="Cyl. Block"

Result:-
Incorrect. There is no output even though the Stock-Item "Cyl. Block" exists in Tally.

Step 6
Next, try out the following SQL-SELECT statement.

SELECT $Name,$AdditionalName FROM Ledger where $Name="Cyl Block"

Result:-
Correct. You get one record.

Conclusion

Case 1 (refer Step 5)
$Name="Cyl. Block" does not work even though the Stock Item exists in Tally. This is because we have used a dot (period) i.e (Cyl. Block)

Case 2 (refer Step 6)
$Name="Cyl Block" works fine and the query returns data.

Wednesday, November 12, 2008

EFFECTIVE DATE in Tally Software

FAQs: What is the usage of EFFECTIVE DATE in Tally

The HELP menu in Tally describes EFFECTIVE DATE. Refer topic Voucher-types which provides explanation for Effective Date. The same is given below for your reference.

Use EFFECTIVE dates for vouchers?

Select Yes if you want to enter effective dates for vouchers. You would opt for this if you have instances where a transaction under consideration for overdue/ageing analysis is recorded currently but will take effect from another date. If effective date is entered, the overdue/ageing will be considered from the effective date and not from voucher date.


Monday, September 22, 2008

Escape Sequences in XML, XSL

What is an Escape Sequence ?

"An Escape sequence is a series of characters which cause an escape from normal interpretation".

Escape sequences use a Special (Escape) character to change the meaning of characters that follow it.

For example, you cannot use the & (ampersand sign) in XML as you would normally use it elsewhere. The & (ampersand sign) is a special character and is to be used differently in XML.

This tag contains incorrect value.
<NAME>ABC & Company Ltd</NAME>

Here's the corrected tag.
<NAME>ABC &amp; Company Ltd</NAME>

XML Escape Sequences

In XML, there are 5 Escape sequences. Refer this link for more information on XML Escape sequences.

XSL Escape Sequences

XML Escape sequences are well documented and you can get lot's of information about it. But, what about using special characters in XSL ?

Well, the Escape sequences used in XML do NOT work in XSL. Now, let's try understand this.

Task 1
Search for all LEDGER nodes that have an attribute named NAME which contains "some-value".

This works fine.

//LEDGER[@NAME='some-value']

Task 2
Search for all LEDGER nodes that have an attribute named NAME which contains "Here's a special one".

This does not work :-

//LEDGER[@NAME="Here's a special one"]

This does not work :-

//LEDGER[@NAME='Here&apos;s a special one']

This WORKS!!!

//LEDGER[@NAME='Here\'s a special one']

Remarks:-
In Task 2, we search for a text-value that contains a special character ( ' ) .i.e. an apostrophe.



Friday, September 19, 2008

Tally Software || What is a Cancelled Voucher ?

Deleted voucher Vs Cancelled voucher

Deleting a Voucher

You can use Alt+D to manually delete a Voucher in Tally Software. When you delete a voucher, the Voucher and its effect is removed from the Tally Software.

Cancelling a Voucher

You can use Alt+X to manually cancel a Voucher in Tally Software. Cancelling a Voucher does not delete/remove the Voucher from Tally; but its effect is removed. In simple words, the Cancelled Voucher still appears in Tally; but it's effect is not reflected in Books of Accounts.

The XML tag <ISCANCELLED> is used to programmatically specify whether the Voucher is Cancelled or not.


Monday, September 15, 2008

Tally Group-Master XML tags contain Invalid unicode character

This prima-facie appears to be a BUG with Tally 9 and Tally 7.2

Steps to replicate the PROBLEM
1) Use the following SQL-SELECT to retrieve Tally data :-

Select $name , $parent from GROUPS

2) Extract of the XML-output generated by the above SQL-SELECT is given below for your reference:-

<ROW>
<COL>Branch / Divisions</COL>
<COL>&#4; Primary</COL>
</ROW>

Notice the line shown in RED color. It contains an invalid unicode character. When you load the data in XML DOM object, it does not work as there is an INVALID UNICODE CHARACTER.

This problems occurs even with Tally 7.2 which does not support UNICODE.


Thursday, August 28, 2008

Tally 9 Release 3 BETA issues

Tally Solutions, Bangalore has come out with a new Release of Tally Software. i.e. Tally 9 Release 3 Beta.

What is BETA Software?
Beta is a nickname for software which has passed the alpha testing stage of development and has been released to a limited amount of users for software testing before its official release.

Tally 9 Release 3 BETA
Some new and advanced features have been introduced in the Tally 9 Release 3 which relate to :-
a) Tally Synchronization
b) Accessing Tally data over Internet

The new features and functionality are applaudable. However, this is a BETA version and many problems have been reported with this new Release 3 BETA. As there are several issues; I am not putting up all the problems / issues here.

As a result we advice all our Customers (users of RTSlink DLL and UDIMagic software) to wait till Tally Solutions, Bangalore comes out with a stable Release.