<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6631004643071848411</id><updated>2012-01-10T09:23:47.865+05:30</updated><category term='Guidelines'/><category term='Tally.ERP'/><category term='Merge two Ledgers'/><category term='Stock Summary'/><category term='Tally Solution Providers'/><category term='TDL Reference Manual'/><category term='udiMaic Professional'/><category term='Walk Collection'/><category term='Tally'/><category term='Tally to SQL-Server'/><category term='Recycle bin'/><category term='MySQL to Tally'/><category term='Tally to Access'/><category term='Menu Option'/><category term='Tally to database'/><category term='Online Training Sessions'/><category term='Fetch'/><category term='UDIMAGIC TCP Source Code'/><category term='Installing UDIMagic FREE Edition'/><category term='Free add-on utility for Tally'/><category term='Tally Software'/><category term='MS-Access to Tally'/><category term='Tally ERP 9 to SQL Server'/><category term='Recycle bin for Tally'/><category term='Tally Customization'/><category term='Tally Software Customization'/><category term='Software'/><category term='Free TDL extensions'/><category term='TDL'/><category term='Salesman UDF'/><category term='Tally TDL'/><category term='Blog'/><category term='Multi Account Printing'/><category term='Tally 9 Release 3 [Beta] TCP format'/><category term='Tally XML tags'/><category term='RTS-XQuery'/><category term='Tally ERP 9'/><title type='text'>Learn TDL and Customize Tally Accounting Software</title><subtitle type='html'>A blog on customizing Tally Accounting Software by Shweta Softwares</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tdlplayground.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>94</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3973074792906752313</id><published>2012-01-10T09:23:00.000+05:30</published><updated>2012-01-10T09:23:47.877+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Training Sessions'/><title type='text'>Online Training Sessions</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Shweta Softwares now provides live (real time) online training sessions to enable users to use its products more effectively and easily.&lt;br /&gt;&lt;br /&gt;For more details, please refer &lt;a href="http://www.rtslink.com/online-training-sessions/"&gt;http://www.rtslink.com/online-training-sessions/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3973074792906752313?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3973074792906752313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3973074792906752313'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2012/01/online-training-sessions.html' title='Online Training Sessions'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3607015594745422165</id><published>2011-09-19T17:18:00.002+05:30</published><updated>2011-09-19T17:19:48.082+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Menu Option'/><category scheme='http://www.blogger.com/atom/ns#' term='Stock Summary'/><title type='text'>Change MENU Options in Tally</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;i&gt;&lt;b&gt;How can I move the Stock Summary option from "Gateway of Tally" to DISPLAY menu ?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Here's the TDL code :-&lt;br /&gt;&lt;pre class="alt2" dir="ltr" style="border-bottom: 1px inset; border-top: 1px inset; height: 150px; margin-bottom: 0px; margin-top: 0px; overflow: auto; padding-bottom: 6px; padding-top: 6px; text-align: left; width: 800px;"&gt;;;Remove the Stock Summary option from Gateway of Tally&lt;br /&gt;[#Menu : Gateway of Tally]&lt;br /&gt; Delete : Item : @@locStockSummary&lt;br /&gt; &lt;br /&gt;;;Add the Stock Summary option in Display Menu&lt;br /&gt;[#Menu : Display Menu] &lt;br /&gt; Add : Item : Before : @@locQuit : @@locStockSummary&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3607015594745422165?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3607015594745422165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3607015594745422165'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/09/change-menu-options-in-tally.html' title='Change MENU Options in Tally'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2810251017418604095</id><published>2011-09-10T18:04:00.000+05:30</published><updated>2011-09-10T18:04:58.883+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walk Collection'/><title type='text'>Walk Collection - Example 4</title><content type='html'>Here's a sample TDL program to get the Ledger Name and Address using the WALK COLLECTION statement.&lt;br /&gt;&lt;pre style="border-top: 1px inset; border-bottom: 1px inset; overflow: auto; margin-top: 0px; margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; width: 800px; height: 300px; text-align: left;" class="alt2" dir="ltr"&gt;;;Adds a new option to Gateway of Tally[#Menu : Gateway of Tally] Add : Item : Before : @@locQuit : Walk Collection - Example4 : Call : MyWalkCollectionExample4;;Collection definition based on Tally Internal Object named LEDGER[Collection : MyLedgers] Type  : Ledger ;;Expose/fetch the Name field and Address Collection Fetch   : Name, Address.*[Function : MyWalkCollectionExample4] 00 : SET FILE LOG ON 01 : LOG : "***************************"  ;; Loop through the Collection 05 : WALK COLLECTION : MyLedgers  ;;   Check the address. If empty, then skip the following code. 10 :  IF : $$IsEmptyCollection:Address 11:   CONTINUE 12 :  ENDIF ;;  Display the Ledger name  14 :  LOG : $Name   ;;  Loop through the Address Collection and display all the address lines 15 :  WALK COLLECTION : Address 20 :   LOG : "=&gt;" + $Address 25 :  END WALK  30 : END WALK 90 : SET FILE LOG OFF 100 : Exec Command  : Notepad  : "TDLFunc.Log" &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2810251017418604095?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2810251017418604095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2810251017418604095'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/09/walk-collection-example-4.html' title='Walk Collection - Example 4'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4202198492470927034</id><published>2011-09-10T16:43:00.000+05:30</published><updated>2011-09-10T16:43:34.094+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walk Collection'/><title type='text'>Walk Collection - Example 3</title><content type='html'>Here's a sample TDL program to get the Voucher details for a specific Ledger using the WALK COLLECTION statement&lt;br /&gt;&lt;pre style="border-top: 1px inset; border-bottom: 1px inset; overflow: auto; margin-top: 0px; margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; width: 800px; height: 300px; text-align: left;" class="alt2" dir="ltr"&gt;;;Adds a new option to Gateway of Tally[#Menu : Gateway of Tally] Add : Item : Before : @@locQuit : Walk Collection - Example3 : Call : MyWalkCollectionExample3;;This is a new Collection definition which is based on Tally Internal Object named VOUCHER.;;It is filtered using the CHILDOF attribute. In other words, only those Vouchers which contain ;;the specifed Ledger are available in the collection.[Collection : MyVouchers] Type  : Vouchers : Ledger ChildOf : ##MyLedger Fetch   : *, LedgerEntries.*;;Function to display the Voucher details for a specified ledger[Function : MyWalkCollectionExample3] Variable : MyLedger : String 00 : SET FILE LOG ON 01 : LOG : "***************************"  ;; ********** TO DO - CHANGE THE LEDGER NAME HERE ****** ;;****************************************************** ;; Assign value to the variable MyLedger 02 : SET : MyLedger : "ABC Softwares"  ;; Loop through the Voucher table and display the vouchers 05 : WALK COLLECTION : MyVouchers 10 :  LOG : $$String:$Date + "," + $VoucherTypeName + "," + $VoucherNumber  ;;  Loop through the ledgers and display the Ledger-name and amount 15 :  WALK COLLECTION : LedgerEntries 20 :   LOG : "=&gt;" + $LedgerName + "," + $$String:$Amount 25 :  END WALK  30 : END WALK 90 : SET FILE LOG OFF 100 : Exec Command  : Notepad  : "TDLFunc.Log" &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4202198492470927034?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4202198492470927034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4202198492470927034'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/09/walk-collection-example-3.html' title='Walk Collection - Example 3'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-183989713151739447</id><published>2011-09-10T16:38:00.001+05:30</published><updated>2011-09-10T16:39:28.764+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walk Collection'/><title type='text'>Walk Collection - Example 2</title><content type='html'>Here's a sample TDL program to get the Voucher details with all ledgers using the WALK COLLECTION statement.&lt;br /&gt;&lt;pre style="border-top: 1px inset; border-bottom: 1px inset; overflow: auto; margin-top: 0px; margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; width: 800px; height: 300px; text-align: left;" class="alt2" dir="ltr"&gt;;;Adds a new option to Gateway of Tally[#Menu : Gateway of Tally] Add : Item : Before : @@locQuit : Walk Collection - Example2 : Call : MyWalkCollectionExample2;;This is a new Collection definition which is based on Tally Internal Object named Voucher which contains Voucher details[Collection : MyVouchers] Type  : Voucher Fetch   : *, LedgerEntries.*;;Function to display the Voucher details[Function : MyWalkCollectionExample2] 00 : SET FILE LOG ON 01 : LOG : "***************************"  ;; Loop through the Voucher table and display the vouchers 05 : WALK COLLECTION : MyVouchers 10 :  LOG : $$String:$Date + "," + $VoucherTypeName + "," + $VoucherNumber  ;;  Loop through the ledgers and display the Ledger-name and amount 15 :  WALK COLLECTION : LedgerEntries 20 :   LOG : "=&gt;" + $LedgerName + "," + $$String:$Amount 25 :  END WALK  30 : END WALK 90 : SET FILE LOG OFF 100 : Exec Command  : Notepad  : "TDLFunc.Log"  &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-183989713151739447?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/183989713151739447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/183989713151739447'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/09/walk-collection_10.html' title='Walk Collection - Example 2'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5852573834986992985</id><published>2011-09-09T18:27:00.000+05:30</published><updated>2011-09-09T18:27:40.658+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Walk Collection'/><category scheme='http://www.blogger.com/atom/ns#' term='Fetch'/><title type='text'>Walk Collection</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here's a sample TDL program to get the Voucher details using the WALK COLLECTION statement.&lt;br /&gt;&lt;br /&gt;&lt;pre style="border-top: 1px inset; border-bottom: 1px inset; overflow: auto; margin-top: 0px; margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; width: 800px; height: 300px; text-align: left;" class="alt2" dir="ltr"&gt;;;Adds a new option to Gateway of Tally[#Menu : Gateway of Tally]&amp;nbsp;&amp;nbsp;&amp;nbsp; Add&amp;nbsp;&amp;nbsp;&amp;nbsp; : Item&amp;nbsp;&amp;nbsp;&amp;nbsp; : Before : @@locQuit&amp;nbsp;&amp;nbsp;&amp;nbsp; : Walk Collection - Example1 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;: Call&amp;nbsp;&amp;nbsp;&amp;nbsp; : MyWalkCollectionExample1&amp;nbsp;&amp;nbsp;&amp;nbsp; ;;This is a new Collection definition which is based on Tally Internal Object named Voucher which contains Voucher details[Collection : MyVouchers]&amp;nbsp;&amp;nbsp;&amp;nbsp; Type &amp;nbsp;&amp;nbsp;&amp;nbsp; : Voucher&amp;nbsp;&amp;nbsp;&amp;nbsp; Fetch&amp;nbsp;&amp;nbsp; : *, LedgerEntries.*;;Function definition ;;Displays the Voucher details[Function : MyWalkCollectionExample1]&amp;nbsp;&amp;nbsp;&amp;nbsp; 00 : SET FILE LOG ON&amp;nbsp;&amp;nbsp;&amp;nbsp; 01 : LOG : "***************************"&amp;nbsp;&amp;nbsp;&amp;nbsp; 05 : WALK COLLECTION : MyVouchers&amp;nbsp;&amp;nbsp;&amp;nbsp; 10 : &amp;nbsp;&amp;nbsp;&amp;nbsp; LOG : $$String:$Date + "," + $VoucherTypeName + "," + $$String:($LedgerEntries[1].LedgerName) + "," + $$String:$LedgerEntries[1].Amount&amp;nbsp;&amp;nbsp;&amp;nbsp; 20 : END WALK&amp;nbsp;&amp;nbsp;&amp;nbsp; 90 : SET FILE LOG OFF&amp;nbsp;&amp;nbsp;&amp;nbsp; 100 : Exec Command&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; : Notepad &amp;nbsp;&amp;nbsp;&amp;nbsp; : "TDLFunc.Log"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5852573834986992985?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5852573834986992985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5852573834986992985'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/09/walk-collection.html' title='Walk Collection'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3288284060430554731</id><published>2011-08-21T17:52:00.000+05:30</published><updated>2011-08-21T17:52:49.864+05:30</updated><title type='text'>Jan Lokpal Bill - How to get details of M.P in your Area</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Friends,&lt;br /&gt;&lt;br /&gt;Here's the link to get the details of the Member of Parliament of your Area :-&lt;br /&gt;&lt;a href="http://india.gov.in/howdo/otherservice_details.php?service=23"&gt;http://india.gov.in/howdo/otherservice_details.php?service=23&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Those you wish, may lodge their views / protest against the Government version of Lokpal bill by sending a simple letter to your M.P. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3288284060430554731?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3288284060430554731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3288284060430554731'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/08/jan-lokpal-bill-how-to-get-details-of.html' title='Jan Lokpal Bill - How to get details of M.P in your Area'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4641856482354800236</id><published>2011-04-12T19:12:00.000+05:30</published><updated>2011-04-12T19:12:08.612+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally.ERP'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog'/><title type='text'>About Tally ERP</title><content type='html'>We have started a new blog to discuss and disseminate information about Tally ERP.&lt;br /&gt;&lt;br /&gt;For more information, please visit &lt;a target="_BLANK" href="http://www.rtslink.com/tally-erp"&gt;http://www.rtslink.com/tally-erp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4641856482354800236?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4641856482354800236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4641856482354800236'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/04/about-tally-erp.html' title='About Tally ERP'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3118726203811595223</id><published>2011-03-26T10:15:00.000+05:30</published><updated>2011-03-26T10:15:18.385+05:30</updated><title type='text'>India against Corruption</title><content type='html'>&lt;a href="http://www.indiaagainstcorruption.org"&gt;India against corruption&lt;/a&gt; is a movement created by concerned citizens from all spheres, professions who have come together to fight corruption in India.&lt;br /&gt;&lt;br /&gt;Anna Hazare sits on fast unto death from 5th April for strong anti-corruption laws.&lt;br /&gt;&lt;br /&gt;Appeal to do what you can :-&lt;br /&gt;1) If you can, spare some time and go through the site http://www.indiaagainstcorruption.org and do communicate to your friends.&lt;br /&gt;2) If you can, provide your valuable comments....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3118726203811595223?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3118726203811595223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3118726203811595223'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/03/india-against-corruption.html' title='India against Corruption'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4320062105770637895</id><published>2011-03-18T12:34:00.002+05:30</published><updated>2011-03-18T12:37:58.695+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Guidelines'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally Solution Providers'/><title type='text'>Guidelines for Tally Customization Services Providers</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span style="color: black; font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; font-size: small;"&gt;Tally Solutions has recently provided some useful guidelines for &lt;b&gt;Tally Solution providers&lt;/b&gt;. This would be helpful both for the Solution providers and the End-Users (Customers). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;Below are few key guidelines while  engaging with the customers on Solution Business:  &lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 12pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;AMC on Code Maintenance &lt;/b&gt;&lt;b&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: black;"&gt;Make sure that you state (&lt;b&gt;in writing&lt;/b&gt;), the need  for your customers to enter into an AMC on customization so that the code is  maintained for future version &amp;amp; release compatibility.&amp;nbsp;This is typically 30%  (of customization cost) per year and is payable 90 days after  go-live.&amp;nbsp;&amp;nbsp;Alternatively mention that code rework will cost INR&lt;span style="color: #1f497d;"&gt;&amp;nbsp;&lt;/span&gt;5,400/7,200 per man day in case customer does not  want to go for AMC. &lt;/span&gt;&lt;/div&gt;&lt;span style="color: black;"&gt;In case you have not made this clear for  existing customizations, please ensure that you do so at the earliest to avoid  conflicts.&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 12pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;IP (Intellectual Property) of the Customization Code&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: black;"&gt;The communication in the proposal has to be very clear on  who owns the IP (Source Code) of the customization done: is it your customer or  you. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 12pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;Testing Timelines &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: black;"&gt;Proposal should contain clear timelines for the customer  to test the customization and get back with any issues. This is typically 90  days from final implementation. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: black;"&gt;Solution Business engagement templates (listed below) are  available in this link ‘Partner Portal (&lt;/span&gt;&lt;a href="http://www.tallysolutions.com/"&gt;&lt;span style="color: black;"&gt;www.tallysolutions.com&lt;/span&gt;&lt;/a&gt;&lt;span style="color: black;"&gt; - use your login) &lt;span style="font-family: Wingdings;"&gt;&amp;gt;&lt;/span&gt;  Resource Centre &amp;gt;  Tally Integrator’ &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Pre-Proposal Checklist &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Requirement Specification Template &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Commercial Proposal (2 formats) &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Customization Proposal &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Implementation – Project Plan &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Options for Service Agreement &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;High-Level Design Template &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Low-Level Design Template &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Sample Data &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Web Integration POC &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4320062105770637895?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4320062105770637895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4320062105770637895'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/03/guidelines-for-tally-customization.html' title='Guidelines for Tally Customization Services Providers'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8238371020868299793</id><published>2011-01-01T16:12:00.000+05:30</published><updated>2011-01-01T16:12:48.092+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally ERP 9 to SQL Server'/><title type='text'>Tally ERP 9 to SQL Server</title><content type='html'>Here's a VB6 program which allows you to get data from &lt;a href="http://www.rtslink.com/dx-fusion/getting-data-from-tally-into-sql-server.html"&gt;Tally ERP 9 into SQL Server&lt;/a&gt; database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8238371020868299793?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8238371020868299793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8238371020868299793'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2011/01/tally-erp-9-to-sql-server.html' title='Tally ERP 9 to SQL Server'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8764812609448013358</id><published>2010-10-09T09:56:00.000+05:30</published><updated>2010-10-09T09:56:06.495+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally to SQL-Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally to database'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally to Access'/><title type='text'>DX-Fusion - Tally to database</title><content type='html'>DX-Fusion (Free Edition) is an utility that transfers data from Tally ERP 9 into your database. It transfers all masters and all vouchers without any restriction on date or voucher-type or number of records.&lt;br /&gt;&lt;br /&gt;You can get more details about DX-fusion at &lt;a href="http://www.rtslink.com/dx-fusion/index.html"&gt;http://www.rtslink.com/dx-fusion/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The DX-fusion (Commercial Editions) supports transfer of all masters and vouchers from Tally into your database in Real-time (online mode).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8764812609448013358?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8764812609448013358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8764812609448013358'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2010/10/dx-fusion-tally-to-database.html' title='DX-Fusion - Tally to database'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-642830693570151743</id><published>2010-03-24T15:54:00.004+05:30</published><updated>2010-03-24T16:05:58.291+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multi Account Printing'/><title type='text'>Multi Account Printing option</title><content type='html'>In &lt;span style="font-weight: bold;"&gt;Tally educational mode&lt;/span&gt;, the &lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;Multi Account Printing&lt;/span&gt; option does NOT appear. Here's the TDL code that allows you to get the same.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[#Menu: Gateway of Tally]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Add : Key Item  : After : @@locDisplay    : Multi Account Printing     : M : Menu    : RTSPrinting Menu                &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Menu: RTSPrinting Menu]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Title        : $$LocaleString:"Printing Menu"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locAccountBooks                : A : Menu    : Print Account Books    : $$IsAccountingOn:$$CurrentCompany &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locOutstandingStatements    : O : Menu    : Print Outstandings    : $$IsAccountingOn:$$CurrentCompany AND $$IsBillWiseOn:$$CurrentCompany &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Item        : BLANK &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locInventoryBooks            : I : Menu  : Print Inventory Books : $$IsInventoryOn:$$CurrentCompany &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Item        : &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locDayBook                   : D : Print : Day Book              : NOT $$IsEmpty:$$SelectedCmps &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Item        : BLANK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locMultiVoucherPrinting      : M : Print : Multi Voucher Print   : NOT $$IsEmpty:$$SelectedCmps &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locMultiPayslipPrinting      : P : Print : Multi Payslip Print   : NOT $$IsEmpty:$$SelectedCmps AND $$IsPayrollOn:$$CurrentSimpleCompany &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Item        : BLANK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Key Item    : @@locQuit                        : Q&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Control        : @@locOutstandingStatements    : $$Allow:Print:Outstandings AND $$IsAccountingOn:$$CurrentCompany AND $$IsBillWiseOn:$$CurrentCompany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Control        : @@locInventoryBooks            : $$IsInventoryOn&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Control        : @@locDayBook                   : $$Allow:Print:DayBook&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Control        : @@locMultiPayslipPrinting      : $$IsPayrollOn AND $$MODPayroll AND $$Allow:Print:PayrollReports&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Download the file &lt;a href="http://www.rtslink.com/images/multi-account-printing.zip"&gt;multi-accounting-printing.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To use this file, you must make changes in the Tally.ini file as shown below :-&lt;br /&gt;&lt;br /&gt;User TDL = Yes&lt;br /&gt;TDL = c:\tally\multi-account-printing.txt&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-642830693570151743?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/642830693570151743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/642830693570151743'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2010/03/multi-account-printing-option.html' title='Multi Account Printing option'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4109855350232372333</id><published>2009-11-27T17:40:00.004+05:30</published><updated>2009-11-27T17:43:06.832+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recycle bin'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally ERP 9'/><title type='text'>Recycle bin for Tally ERP 9</title><content type='html'>Recycle bin is now available for Tally ERP 9.&lt;br /&gt;&lt;br /&gt;For more information visit &lt;a target="_BLANK" href="http://www.rtslink.com/Recycle-bin-for-Tally-Accounting-Software.html"&gt;Recycle Bin for Tally ERP 9&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4109855350232372333?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4109855350232372333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4109855350232372333'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/11/recycle-bin-for-tally-erp-9.html' title='Recycle bin for Tally ERP 9'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6786169263916276148</id><published>2009-11-17T11:10:00.002+05:30</published><updated>2009-11-17T11:16:04.328+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='TDL Reference Manual'/><title type='text'>TDL Reference Manual</title><content type='html'>Download the complete  &lt;a target="_BLANK" href="http://www.rtslink.com/free-tally-utilities.html#tdl-reference-manual"&gt;TDL Reference Manual&lt;/a&gt; (By Tally Solutions, Bangalore).&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;TDL, Tally definition language. Tally ERP are trademarks or registered trademarks of Tally Solutions, Bangalore&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6786169263916276148?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6786169263916276148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6786169263916276148'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/11/tdl-reference-manual.html' title='TDL Reference Manual'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2818638217621104893</id><published>2009-11-04T06:18:00.004+05:30</published><updated>2009-11-04T06:53:20.291+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='RTS-XQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Free add-on utility for Tally'/><title type='text'>RTS-XQuery Freemium - A FREE add-on utility for Tally Software</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;RTS-XQuery Freemium&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's a &lt;a target="_BLANK" href="http://www.rtslink.com/rts-xquery-freemium/"&gt;FREE add-on utility for Tally Accounting Software&lt;/a&gt; that facilitates transfer of data from&lt;br /&gt;a) Tally to Excel&lt;br /&gt;b) Tally to Foxpro DBF&lt;br /&gt;c) Tally to SQL-Server&lt;br /&gt;d) Tally to MySQL&lt;br /&gt;e) Tally to other popular databases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;More on RTS-XQuery Freemium&lt;/span&gt;&lt;br /&gt;1) Get raw data (with or without Inventory details) from Tally into Excel or Tally to any other  database (single or multiple tables).&lt;br /&gt;2) Get Reports as per your requirement (Refer  "party-and-stockitem-wise-sales" in the &lt;a target="_BLANK" href="http://www.rtslink.com/rts-xquery-freemium/sample-xqueries.html"&gt;xquery samples&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Visit &lt;a target="_BLANK" href="http://www.rtslink.com/rts-xquery-freemium/"&gt;http://www.rtslink.com/rts-xquery-freemium/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2818638217621104893?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2818638217621104893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2818638217621104893'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/11/rts-xquery-freemium-free-add-on-utility.html' title='RTS-XQuery Freemium - A FREE add-on utility for Tally Software'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2476077206352787196</id><published>2009-10-29T05:19:00.004+05:30</published><updated>2009-10-29T06:43:27.382+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Free TDL extensions'/><title type='text'>Free TDL extensions to Tally ERP 9</title><content type='html'>Here are some FREE TDL extensions  for Tally ERP 9 which have provided by Tally Solutions, Bangalore.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Auto Backup&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Auto Bank Reconciliation&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Auto Manual Voucher Numbering&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Automatic Cheque Number Generation&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Auto Fill from PRN&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Barcode Label Printing&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Cheque Number Tracking&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Cost Centre Wise Balance Sheet&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Cost Centre Wise Profit &amp;amp; Loss&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Credit Control on Days&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Godown Security&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Inter Company Data Transfer&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Logo Print in Invoice&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Multi Voucher Print&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Negative Cash Control&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Negative Stock Control&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Print User Name in all the default Reports and Vouchers&lt;/strong&gt;&lt;strong&gt;Price List Import from Excel&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Purchase to Purchase Order&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Stock Group wise Inventory total in Invoice print&lt;/strong&gt;&lt;strong&gt;Synchronise as a consolidated Journal Voucher&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Stock Items with Multi-line Description&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Voucher Authorisation&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Visit &lt;a target="_BLANK" href="http://tallysolutions.com/newwebsite/html/index.html?url=http://tallysolutions.com/newwebsite/html/DeveloperNetwork/TallyTechnologyMain-FreeFeatureExtensions.shtml"&gt;Tally Solutions&lt;/a&gt; to download the above.&lt;br /&gt;&lt;br /&gt;You can alternatively download all the files in a single ZIP file from this link :-&lt;br /&gt;&lt;a target="_BLANK" href="http://www.rtslink.com/images/free-tdl-extensions.zip"&gt;Free-TDL-extensions&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2476077206352787196?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2476077206352787196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2476077206352787196'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/10/free-tdl-extensions-to-tally-erp-9.html' title='Free TDL extensions to Tally ERP 9'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7299609539665660966</id><published>2009-02-23T16:41:00.004+05:30</published><updated>2009-02-23T17:02:12.927+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='UDIMAGIC TCP Source Code'/><title type='text'>Merge two Ledgers - UDIMagic TCP Source Code</title><content type='html'>Those facing difficulties in using UDIMagic FREE Edition with some specific Tally versions can now use the UDIMAGIC.TXT file to solve the issue.&lt;br /&gt;&lt;br /&gt;The UDIMagic TCP Source-code file is not provided separately but is available with the &lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://www.rtslink.com/free-tally-utilities.html#udimagic-free-edition"&gt;UDIMagic FREE Edition v1.0 Release 2.3&lt;/a&gt;&lt;/span&gt;. Hence, you must download and install the new version to get the source-code file (viz udimagic.txt)&lt;br /&gt;&lt;br /&gt;Make changes in your Tally.ini to include the UDIMAGIC.TXT file as shown below :-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;User TDL = Yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;tdl = c:\UDIMagicFreeEdition\udimagic.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr size="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7299609539665660966?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7299609539665660966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7299609539665660966'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/02/merge-two-ledgers-udimagic-tcp-source.html' title='Merge two Ledgers - UDIMagic TCP Source Code'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4812586558942666332</id><published>2009-02-19T16:19:00.007+05:30</published><updated>2009-02-19T16:35:02.449+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Installing UDIMagic FREE Edition'/><title type='text'>Merge two Legders - Installing UDIMagic FREE Edition</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;UDIMagic FREE Edition&lt;/span&gt; uses a TCP file. Before you use this utility,  &lt;span style="font-weight: bold;"&gt;you need to make some changes in the Tally.ini&lt;/span&gt; (configuration file).&lt;br /&gt;&lt;br /&gt;Here are the &lt;a target="_BLANK" href="http://www.rtslink.com/free-tally-utilities.html#how-to-install"&gt;Steps for Installing UDIMagic FREE Edition&lt;/a&gt; utility and to make changes in the Tally.ini file.&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;UDIMagic FREE Edition has been tested with the following Tally versions viz&lt;br /&gt;- Tally 9 Release 3 [BETA]&lt;br /&gt;- Tally 9 Release 2.14&lt;br /&gt;- Tally 7.2 Release 3.12&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4812586558942666332?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4812586558942666332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4812586558942666332'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/02/merge-two-legders-installing-udimagic.html' title='Merge two Legders - Installing UDIMagic FREE Edition'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5082361652652687911</id><published>2009-02-17T17:51:00.002+05:30</published><updated>2009-02-17T18:00:02.597+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Merge two Ledgers'/><title type='text'>Merge two Ledgers</title><content type='html'>Here's a FREE Tally utility that allows you to &lt;a target="_BLANK" href="http://www.rtslink.com/free-tally-utilities.html#udimagic-free-edition"&gt;Merge two Ledgers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;hr size="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5082361652652687911?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5082361652652687911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5082361652652687911'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2009/02/merge-two-ledgers.html' title='Merge two Ledgers'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-918809333242718037</id><published>2008-12-13T06:08:00.002+05:30</published><updated>2008-12-13T06:13:34.958+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally 9 Release 3 [Beta] TCP format'/><title type='text'>How to convert Tally 9 TCP files to Tally 9 Release 3 [Beta] format ?</title><content type='html'>Here are the steps to convert your existing &lt;a target="_BLANK" href="http://www.rtslink.com/tally/tally-9-release-3-beta.html#convert-tcp"&gt;TCP files to Tally 9 Release 3 [Beta]&lt;/a&gt; format&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-918809333242718037?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/918809333242718037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/918809333242718037'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2008/12/how-to-convert-tally-9-tcp-files-to.html' title='How to convert Tally 9 TCP files to Tally 9 Release 3 [Beta] format ?'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7041745308746667063</id><published>2008-12-08T21:47:00.000+05:30</published><updated>2008-12-08T21:53:19.927+05:30</updated><title type='text'>Recycle-bin TCP for Tally 9 Release 3 [Beta]</title><content type='html'>Here's &lt;a href="http://www.rtslink.com/images/rbin9v-release-3.tcp"&gt;Recycle-bin TCP&lt;/a&gt; for &lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;Tally 9 Release 3 [Beta]&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Usage:-&lt;/span&gt;&lt;br /&gt;1) Download and copy the TCP file to the folder where Tally 9 Release 3 [Beta] is installed.&lt;br /&gt;2) Make changes in the Tally.ini file as shown below:-&lt;br /&gt;&lt;br /&gt;User TDL = Yes&lt;br /&gt;tdl = c:\Tally9\rbin9v-release3.tcp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr size="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7041745308746667063?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7041745308746667063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7041745308746667063'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2008/12/recycle-bin-tcp-for-tally-9-release-3.html' title='Recycle-bin TCP for Tally 9 Release 3 [Beta]'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7686370824061465723</id><published>2008-07-09T05:36:00.001+05:30</published><updated>2008-09-20T10:55:33.705+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally XML tags'/><title type='text'>Learn Tally XML tags</title><content type='html'>Learn &lt;span style="font-style: italic;"&gt;"How to write XML tags to import data into Tally Software ?"&lt;/span&gt; at &lt;a target="_blank" href="http://learn-tally-xml-tags.blogspot.com/"&gt;http://learn-tally-xml-tags.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Additional References:-&lt;br /&gt;1) &lt;a target="_blank" href="http://www.rtslink.com/udimagic-standard.html"&gt;Excel to Tally&lt;/a&gt;&lt;br /&gt;2) &lt;a target="_blank" href="http://www.rtslink.com/sql-server-to-tally.html"&gt;SQL to Tally&lt;/a&gt;&lt;br /&gt;3) &lt;a target="_blank" href="http://www.rtslink.com/mysql-to-tally.html"&gt;MySQL to Tally&lt;/a&gt;&lt;br /&gt;4) &lt;a target="_blank" href="http://www.rtslink.com/dbf-to-tally.html"&gt;DBF to Tally&lt;/a&gt;&lt;br /&gt;5) &lt;a target="_blank" href="http://www.rtslink.com/ms-access-to-tally.html"&gt;MS-Access to Tally&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7686370824061465723?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7686370824061465723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7686370824061465723'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2008/07/laern-tally-xml-tags.html' title='Learn Tally XML tags'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4873398801805784617</id><published>2008-02-24T17:36:00.000+05:30</published><updated>2008-02-24T17:43:54.560+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recycle bin for Tally'/><title type='text'>Recycle-bin for Tally - Incorrect / Missing link</title><content type='html'>While going through &lt;a href="http://apnitally.blogspot.com/"&gt;ApniTally&lt;/a&gt;, I  noticed that the link given for Recycle bin for Tally was incorrect/missing. It seems that this might have happened some-time back as we had changed our Web-server .&lt;br /&gt;&lt;br /&gt;For those who had problems in accessing / downloading the Recycle bin TCP, here's the correct link.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.rtslink.com/images/RBIN.ZIP"&gt;Recycle bin for Tally&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;hr size="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4873398801805784617?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4873398801805784617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4873398801805784617'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2008/02/recycle-bin-for-tally-incorrect-missing.html' title='Recycle-bin for Tally - Incorrect / Missing link'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8211595991266536928</id><published>2008-01-02T08:09:00.000+05:30</published><updated>2008-01-02T08:13:24.006+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL to Tally'/><category scheme='http://www.blogger.com/atom/ns#' term='udiMaic Professional'/><category scheme='http://www.blogger.com/atom/ns#' term='MS-Access to Tally'/><title type='text'>Introducing udiMagic  v3.0</title><content type='html'>UDI-Magic in now available in two versions viz.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UDI-Magic v3.0  [Standard]&lt;/strong&gt;&lt;br /&gt;Supports transfer  of  data from Excel to Tally and vice versa. (i.e. push and pull Tally data  from/to MS-Excel).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UDI-Magic v3.0 [Professional]&lt;/strong&gt;&lt;br /&gt;Supports transfer of  data from external  databases to Tally viz.&lt;br /&gt;&lt;a id="rtslinks" href="http://www.rtslink.com/mysql-to-tally.html"&gt;MySQL to Tally &lt;/a&gt;&lt;br /&gt;&lt;a id="rtslinks" href="http://www.rtslink.com/ms-access-to-tally.html"&gt;MS-Access to Tally&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;The professional version is a superset of  the standard version and includes all the features of the standard version.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Other new features in udiMagic version 3.0&lt;/span&gt;&lt;br /&gt;&lt;a id="rtslinks" href="http://www.rtslink.com/udimagic.htm#using-separate-xmltags"&gt;Using separate file for XML  tags&lt;br /&gt;&lt;/a&gt; &lt;a id="rtslinks" href="http://www.rtslink.com/udimagic.htm#using-vba"&gt;Using VBA macros with udi-Magic&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8211595991266536928?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8211595991266536928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8211595991266536928'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2008/01/introducing-udimagic-v30.html' title='Introducing udiMagic  v3.0'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2499602764703278713</id><published>2007-12-15T17:55:00.000+05:30</published><updated>2007-12-15T18:31:25.151+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Salesman UDF'/><title type='text'>Salesman UDF - User defined field</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;&lt;/span&gt;TDL24.zip which creates a Salesman field had been put-up on this blog-site long back.  As there have been some queries relating to this TDL recently, we are providing some more details about it :-&lt;br /&gt;&lt;br /&gt;TDL24.zip contains the following files:-&lt;br /&gt;a) tdl24.txt      (TDL Source-code for Tally 7.2)&lt;br /&gt;b) tdl24.tcp     (Compiled TDL code for Tally 7.2)&lt;br /&gt;&lt;br /&gt;c) tdl9v24.txt (TDL Source-code for Tally 9)&lt;br /&gt;d) tdl9v24.tcp (Compiled TDL code for Tally 9)&lt;br /&gt;&lt;br /&gt;Though most of the code for tdl24.txt and tdl9v24.txt is same, the main difference is given below:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tally 9 TDL code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[#Part: CMP AccFeat Left]&lt;br /&gt;.... rest of the code&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tally 7.2 TDL code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[#Part: CMP Advanced Features]&lt;br /&gt;.... rest of the code&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For Tally 9 users&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How to enable Salesman UDF and input master-records ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a) In the Gateway of Tally, press F11 to change FEATURES.&lt;br /&gt;b) Next, select option "Accounting features"&lt;br /&gt;c) Next, set the option "Enable Salesman" to Yes and input the Salesman records.&lt;br /&gt;&lt;br /&gt;After enabling the Salesman UDF feature, you shall be able to view/input the Salesman Name in the SALES voucher entry screen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For Tally 7.2 users&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How to enable Salesman UDF and input master-records ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a) In the Gateway of Tally, press F11 to change FEATURES.&lt;br /&gt;b) Next, set the option "Set/modify other Company features" to Yes&lt;br /&gt;c) Next, set the option "Enable Salesman" to Yes and input the Salesman records.&lt;br /&gt;&lt;br /&gt;After enabling the Salesman UDF feature, you shall be able to view/input the Salesman Name in the SALES voucher entry screen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl24.zip"&gt;Download the TDL24.ZIP file&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2499602764703278713?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2499602764703278713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2499602764703278713'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/12/salesman-udf-user-defined-field.html' title='Salesman UDF - User defined field'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1360473332417462803</id><published>2007-10-18T18:53:00.000+05:30</published><updated>2007-10-18T19:08:24.668+05:30</updated><title type='text'>Using the $$FilterValue function</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;$$FilterValue Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Syntax :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 153); font-family: courier new;"&gt;$$FilterValue : ValueExpression : CollectionName : PositionSpecifier : FilterExpression&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Remarks:-&lt;br /&gt;1) The $$FilterValue function allows you to apply a filter (&lt;span style="color: rgb(0, 0, 153);"&gt;FilterExpression&lt;/span&gt;) on a specified Collection (&lt;span style="color: rgb(0, 0, 153);"&gt;CollectionName&lt;/span&gt;), and&lt;br /&gt;2) Get the first or the last Object (&lt;span style="color: rgb(0, 0, 153);"&gt;PositionSpecifier&lt;/span&gt;) of that filtered list and&lt;br /&gt;3) Retrieve the value of any field/method (&lt;span style="color: rgb(0, 0, 153);"&gt;ValueExpression&lt;/span&gt;)  of the first or last object as specified by PositionSpecifier.&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1360473332417462803?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1360473332417462803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1360473332417462803'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/10/using-filtervalue-function.html' title='Using the $$FilterValue function'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1680292440269059259</id><published>2007-09-03T17:31:00.000+05:30</published><updated>2007-09-03T17:36:15.029+05:30</updated><title type='text'>Example 45: Using the $$Table function to lookup values in a Table</title><content type='html'>This program illustrates how to use the $$TABLE function to lookup records in a Table.&lt;br /&gt;&lt;br /&gt;Herein, we shall create a Collection of STOCK ITEM's having two fields viz. Item-Name and Part-number. When the user selects an ITEM from the list, it's Part-Number must be automatically displayed. &lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/ef4efb0d-b04a-4bcf-b656-1c1846663713/tdl45"&gt;TDL45&lt;/a&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0,0);font-family:Arial;" &gt;;;Program  :- TDL45.TXT&lt;br /&gt;;;Author   :- Shweta Computers&lt;br /&gt;;;Objective:- Using $$Table to lookup/fetch field values&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Item: TDL45 : Alter: My ItemReport&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Report: My ItemReport]&lt;br /&gt;    Form: My ItemForm&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Form: My ItemForm]&lt;br /&gt;    Part: My ItemPart&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: My ItemPart]&lt;br /&gt;    Line: My Line1, Myline2&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My Line1]&lt;br /&gt;    Fields: Short Prompt, My ItemName&lt;br /&gt;    Local: Field: Short prompt: Set as: "Item Name:- "&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My Line2]&lt;br /&gt;    Fields: Short Prompt, My ItemPartNo&lt;br /&gt;    Local: Field: Short prompt: Set as: "Part Number:- "&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My ItemName]&lt;br /&gt;    Use: Name Field&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Variable to hold the user-input&lt;br /&gt;    Modifies: varItemName&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Specify the Collection Name&lt;br /&gt;    Table: My ItemList&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Show Table: Always&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My ItemPartNo]&lt;br /&gt;    Use: Name Field&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Variable to hold the user-input&lt;br /&gt;    Modifies: varItemPartNo&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Set as: $$Table:MyItemName:$PartNo&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Required to assign value automatically on selection of ItemName&lt;br /&gt;    Set Always: Yes&lt;/p&gt;&lt;br /&gt;    &lt;br /&gt;[System: Variables]&lt;br /&gt;    varItemName: ""&lt;br /&gt;    varItemPartNo: ""&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Variable: varItemName]&lt;br /&gt;    Type: String&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Variable: varItemPartNo]&lt;br /&gt;    Type: String&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Collection: My ItemList]&lt;br /&gt;    Title: "Item List"&lt;br /&gt;    ListName : $$SysName:EndOfList&lt;br /&gt;    Objects: Item1,Item2,Item3,Item4,Item5&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Object: Item1]&lt;br /&gt;    Name: "Bush"&lt;br /&gt;    PartNo: "1001"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Object: Item2]&lt;br /&gt;    Name: "Piston"&lt;br /&gt;    PartNo: "1002"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Object: Item3]&lt;br /&gt;    Name: "Gear Box"&lt;br /&gt;    PartNo: "1003"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Object: Item4]&lt;br /&gt;    Name: "O-Ring"&lt;br /&gt;    PartNo: "1004"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Object: Item5]&lt;br /&gt;    Name: "Camshaft"&lt;br /&gt;    PartNo: "1005"&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold; font-style:italic;"&gt;Notes:-&lt;/span&gt;&lt;pre&gt;1) $$Table function accepts two arguments. &lt;br /&gt;   Syntax:-&lt;br /&gt;   $$Table : &amp;lt;LookupExpr&amp;gt; : &amp;lt;LookupField&amp;gt;&lt;br /&gt;&lt;br /&gt;   Herein, the $$Table function searches for &amp;lt;LookupExpr&amp;gt; and returns the value for field &amp;lt;LookupField&amp;gt;.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1680292440269059259?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1680292440269059259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1680292440269059259'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/09/example-45-using-table-function-to.html' title='Example 45: Using the $$Table function to lookup values in a Table'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7624580415068990580</id><published>2007-08-29T06:50:00.000+05:30</published><updated>2007-08-29T06:55:55.876+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally TDL'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally Customization'/><title type='text'>Tally Software TDL functions</title><content type='html'>The following Tally Software TDL functions have been now included / covered :-&lt;br /&gt;&lt;br /&gt;$$MonthOfDate&lt;br /&gt;$$MonthStart&lt;br /&gt;$$MonthEnd&lt;br /&gt;$$SystemPeriodFrom&lt;br /&gt;$$SystemPeriodTo&lt;br /&gt;$$YearOfDate&lt;br /&gt;$$YearEnd&lt;br /&gt;&lt;br /&gt;Refer &lt;a href="http://www.rtslink.com/TDL-functions-Alphabetical-Listing.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7624580415068990580?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7624580415068990580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7624580415068990580'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/tally-software-tdl-functions.html' title='Tally Software TDL functions'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2666013064269779936</id><published>2007-08-27T07:10:00.000+05:30</published><updated>2007-08-27T08:51:39.572+05:30</updated><title type='text'>Recycle bin for Tally Software with Source code</title><content type='html'>Recycle bin is a FREE add-on utility for Tally Software. &lt;br /&gt;&lt;br /&gt;It enables you to retrieve Voucher entries that you may have accidentally deleted in Tally Software. It is similar to the Windows recycle-bin and works with Tally 7.2 and Tally 9. &lt;br /&gt;&lt;br /&gt;Supports Tally 7.2 and Tally 9 Software.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/Recycle-bin-for-Tally-Accounting-Software.html"&gt;View/Download the Recycle bin TCP Source-code&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2666013064269779936?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2666013064269779936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2666013064269779936'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/recycle-bin-for-tally-software-with.html' title='Recycle bin for Tally Software with Source code'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1046481759914535836</id><published>2007-08-24T18:25:00.001+05:30</published><updated>2007-09-03T07:51:42.477+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally TDL'/><category scheme='http://www.blogger.com/atom/ns#' term='Tally Customization'/><title type='text'>Example 44: Adding FILTER button to MyDaybook</title><content type='html'>This program TDL44.TXT is an extension to my earlier program TDL43.TXT. It adds the FILTER button to My Daybook Report.&lt;br /&gt;&lt;br /&gt;There are few minor modifications done to acheive the task:-&lt;br /&gt;a) Add FILTER button to the FORM&lt;br /&gt;b) Add few variables at the REPORT definition level&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/f366d510-9b64-4f5a-b16e-b8631b6a4fe4/tdl44"&gt;TDL44&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The new code has been shown as highlighted.&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PROGRAM: TDL44.TXT&lt;br /&gt;;; AUTHOR : Shweta Computers&lt;br /&gt;;;&lt;br /&gt;;; Objective:- Adding Filter button to MyDaybook&lt;br /&gt;;;======================================================================&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Global Formula. Used to assign a simple text string to a Global constant.&lt;br /&gt;[System: Formula]&lt;br /&gt;    MYDBKTDL: $LocaleString:"Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Item: @@MYDBKTDL : Display: My DBKTDL&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Control whether the menu-option is displayed or not?&lt;br /&gt;    Control: @@MYDBKTDL: $Allow:Display:Daybook&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;; Syntax for $Allow&lt;br /&gt;    ;; $Allow : &amp;lt;mode&amp;gt; : &amp;lt;family report name&amp;gt;&lt;br /&gt;    ;; Return Value : Logical&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Report: MYDBKTDL]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Family: $Translate:"Daybook"&lt;br /&gt;    ;; The attribute FAMILY specifies that this Report (i.e. MYDBKTDL)&lt;br /&gt;    ;; belongs to a Family (report) named Daybook.&lt;br /&gt;    ;; DAYBOOK is a pre-defined report and here we are specifying that&lt;br /&gt;    ;; MYDBKTDL report belongs to the same DAYBOOK family.&lt;br /&gt;    ;; This will affect ACCESS to MYDBKTDL report.&lt;br /&gt;    ;; Now, when we change the ACCESS to DAYBOOK report using option&lt;br /&gt;    ;; "Gateway of Tally -&gt; Alt+F3 -&gt; Security Features".&lt;br /&gt;    ;; it will automatically affect the report MYDBKTDL&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Title: $LocaleString:"Daybook"&lt;br /&gt;    Form : My Form&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;;;Variables used in the Report&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Variables: SVFromDate,SVToDate,SVSortMethod&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Variables: ExplodeFlag, ExplodeNarrFlag&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Variables: OnlyAccVouchers,OnlyInvVouchers&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Set: SV SortMethod : @@Default&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Set: SVFromDate: $$MonthStart:##SVCurrentDate&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Set: SVToDate: $$MonthEnd:##SVCurrentDate&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Required for F12 Configuration&lt;br /&gt;    Repeat: SVColumntype, SVColumnName&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;PRINTSET affects the variables related to Printing, whereas&lt;br /&gt;    ;;SET is used to assign values to variables used otherwise.&lt;br /&gt;    PrintSet: ReportTitle: $LocaleString:"Daybook"&lt;br /&gt;    PrintSet: PrintFileName: "Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Pre-defined button. Adds the Print button&lt;br /&gt;    Button: PrintButton&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;EXPLODEFLAG is a pre-defined button in Default Tally.&lt;br /&gt;    ;;Try using KEY instead of BUTTON, Alt+F1 still works,&lt;br /&gt;    ;;but the "Alt+F1" button is not displayed&lt;br /&gt;    Button: ExplodeFlag&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Pre-defined button. Required for F12 configuration&lt;br /&gt;    Button: DYBKConfigure&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;;;Pre-defined button. Filter records using Alt+F12 key&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Button: FilterButton&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Space Top   : if $$InPrintMode then ##SVSpaceTop else 0.05 inches&lt;br /&gt;    Space Bottom: if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;    Space Left  : if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;    Space Right : if $$InPrintMode then 0.25 else 0.05 inches&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Part: My DB Title,My DB Body&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: My DB Title]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Optional Parts&lt;br /&gt;    Option: My DB PrntTitle  : $$InPrintMode&lt;br /&gt;    Option: My DB ScrTitle   : NOT $$InPrintMode&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[!Part: My DB PrntTitle]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This is a pre-defined part in default TDL&lt;br /&gt;    Use: DSP AccTitles&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[!Part: My DB ScrTitle]&lt;br /&gt;    Line: My DB Title&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My DB Title]&lt;br /&gt;    Field : Name Field&lt;br /&gt;    Local : Field : Name Field : Set as : $$LocaleString:"Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: My DB Body]&lt;br /&gt;    Line: My Line&lt;br /&gt;    Scroll: Vertical&lt;br /&gt;    Common Border: Yes&lt;br /&gt;    Repeat : My Line: My Collection&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;    Left Fields: Myfld1,MyFld2&lt;br /&gt;    Right Fields: MyFld3,MyFld4&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This Shows the Ledger details when Alt+F1 key is pressed&lt;br /&gt;    Explode: MyExplodePart : ##ExplodeFlag&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;    ;;TYPE attribute specifies the data-type of the field&lt;br /&gt;    Type   : Date&lt;br /&gt;    Set as : $Date&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;    Use    : Name Field&lt;br /&gt;    Set as : $$CollectionField:$LedgerName:1:AllLedgerEntries&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt;    Use    : Short Name Field&lt;br /&gt;    Set as : $VoucherTypeName&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt;    Use    : Amount Field&lt;br /&gt;    Set as : $Amount&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Important:-&lt;br /&gt;;;This PART is displayed when EXPLODEFLAG variable is set to Yes&lt;br /&gt;;;i.e. When user presses Alt+F1 key&lt;br /&gt;[Part: MyExplodePart]&lt;br /&gt;    Line : MyExplodline&lt;br /&gt;    Line : MyExplodeNarrLine&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Repeats the line MyExplodeLine to display the AllLedgerEntries&lt;br /&gt;    ;;Collection fields&lt;br /&gt;    Repeat : MyExplodline : AllLedgerEntries&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;; Specify the fields that you wish to display when the PART is Exploded&lt;br /&gt;[Line: MyExplodline]&lt;br /&gt;&lt;br /&gt;    ;;Show this field on the left side of the line&lt;br /&gt;    Add: Left Fields: fldExplodeLedger,fldExplodeAmount&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This skips the first object of Collection AllLedgerEntries&lt;br /&gt;    Empty: $$IsFirstObj&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Ledger Name field&lt;br /&gt;[Field: fldExplodeLedger]&lt;br /&gt;    Indent : 10&lt;br /&gt;    Use    : Name Field&lt;br /&gt;    Set as : $LedgerName&lt;br /&gt;    Style  : Small Italic&lt;br /&gt;    Width  : @@NameWidth&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Amount field&lt;br /&gt;[Field: fldExplodeAmount]&lt;br /&gt;    Use    : Amount Field&lt;br /&gt;    Set as : $Amount&lt;br /&gt;    Style  : Small Italic&lt;br /&gt;    Width  : @@ShortWidth&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;; Line to Display Narration&lt;br /&gt;[Line: MyExplodeNarrline]&lt;br /&gt;    Add: Left Fields: fldExplodeNarration&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Display Narration field&lt;br /&gt;[Field: fldExplodeNarration]&lt;br /&gt;    Indent : 12&lt;br /&gt;    Use    : Name Field&lt;br /&gt;    Set as : $Narration&lt;br /&gt;    Style  : Small Italic&lt;br /&gt;    Width  : @@NameWidth&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt;    Type: Voucher&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pre&gt;&lt;br /&gt;Notes:-&lt;br /&gt;1) This program is an extension of program TDL43.TXT&lt;br /&gt;2) Herein, we have added Filter button to the MyDaybook Report.&lt;br /&gt;To Filter records, press Alt+F12&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1046481759914535836?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1046481759914535836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1046481759914535836'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-44-adding-filter-button-to.html' title='Example 44: Adding FILTER button to MyDaybook'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8153004814153791979</id><published>2007-08-21T10:30:00.000+05:30</published><updated>2007-08-21T10:32:01.204+05:30</updated><title type='text'>TDL functions for Tally Software</title><content type='html'>The following TDL functions have been now included / covered :-&lt;br /&gt;&lt;br /&gt;$$Upper&lt;br /&gt;$$String&lt;br /&gt;$$StringLength&lt;br /&gt;$$StringPart&lt;br /&gt;$$StringRemWord&lt;br /&gt;$$StringWord&lt;br /&gt;&lt;br /&gt;Refer &lt;a href="http://www.rtslink.com/TDL-functions-Alphabetical-Listing.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8153004814153791979?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8153004814153791979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8153004814153791979'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/tdl-functions-for-tally-software_21.html' title='TDL functions for Tally Software'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3561201169930801339</id><published>2007-08-20T16:15:00.000+05:30</published><updated>2007-09-03T08:03:30.742+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally Software Customization'/><category scheme='http://www.blogger.com/atom/ns#' term='TDL'/><title type='text'>Example 43: Adding Narration line and F12 key functionality to My Daybook</title><content type='html'>This program TDL43.TXT is an extension to my earlier program TDL42.TXT. It adds the following functionality to the program TDL42.TXT (i.e. My Daybook Report)&lt;br /&gt;&lt;br /&gt;a) Display the Narration line&lt;br /&gt;b) Add F12 Configuration button&lt;br /&gt;&lt;br /&gt;Please note that pressing F12 key displays the Configuration screen that contains several options. This programs addresses only the Narration option (and Condensed/Detailed) in the Configuration screen.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/2d132940-3d9c-427f-a2c1-6fcc66a10282/tdl43"&gt;TDL43&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The new code has been shown as highlighted.&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PROGRAM: TDL43.TXT&lt;br /&gt;;; AUTHOR : Shweta Computers&lt;br /&gt;;;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;To display Narration line and provide F12 Configuration key functionality&lt;br /&gt;;;in My Daybook&lt;br /&gt;;;======================================================================&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Global Formula. Used to assign a simple text string to a Global constant.&lt;br /&gt;[System: Formula]&lt;br /&gt;    MYDBKTDL: $LocaleString:"Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Item: @@MYDBKTDL : Display: My DBKTDL&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Control whether the menu-option is displayed or not?&lt;br /&gt;    Control: @@MYDBKTDL: $Allow:Display:Daybook&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;; Syntax for $Allow&lt;br /&gt;    ;; $Allow : &lt;mode&gt; : &lt;family report="" name=""&gt;&lt;br /&gt;    ;; Return Value : Logical&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Report: MYDBKTDL]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Family: $Translate:"Daybook"&lt;br /&gt;    ;; The attribute FAMILY specifies that this Report (i.e. MYDBKTDL)&lt;br /&gt;    ;; belongs to a Family (report) named Daybook.&lt;br /&gt;    ;; DAYBOOK is a pre-defined report and here we are specifying that&lt;br /&gt;    ;; MYDBKTDL report belongs to the same DAYBOOK family.&lt;br /&gt;    ;; This will affect ACCESS to MYDBKTDL report.&lt;br /&gt;    ;; Now, when we change the ACCESS to DAYBOOK report using option&lt;br /&gt;    ;; "Gateway of Tally -&gt; Alt+F3 -&gt; Security Features".&lt;br /&gt;    ;; it will automatically affect the report MYDBKTDL&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Form : My Form&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Title of the Report&lt;br /&gt;    Title: $LocaleString:"Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This variable is used in the current Report&lt;br /&gt;    Variables: ExplodeFlag, ExplodeNarrFlag&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;  ;;Required for F12 Configuration&lt;br /&gt;    Set : IsDaybook: Yes&lt;br /&gt;    Repeat: SVColumntype, SVColumnName&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;PRINTSET affects the variables related to Printing, whereas&lt;br /&gt;    ;;SET is used to assign values to variables used otherwise.&lt;br /&gt;    PrintSet: ReportTitle: $LocaleString:"Daybook"&lt;br /&gt;    PrintSet: PrintFileName: "Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Button: PrintButton&lt;br /&gt;    ;;PrintButton is a pre-defined button. We just add is here.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Button: ExplodeFlag&lt;br /&gt;    ;;EXPLODEFLAG is a pre-defined button in Default Tally.&lt;br /&gt;    ;;Try using KEY instead of BUTTON, Alt+F1 still works,&lt;br /&gt;    ;;but the "Alt+F1" button is not displayed&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;  ;;Required for F12 configuration&lt;br /&gt;    Button: DYBKConfigure&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Space Top   : if $InPrintMode then ##SVSpaceTop else 0.05 inches&lt;br /&gt;    Space Bottom: if $InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;    Space Left  : if $InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;    Space Right : if $InPrintMode then 0.25 else 0.05 inches&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Part: My DB Title,My DB Body&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: My DB Title]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Optional Parts&lt;br /&gt;    Option: My DB PrntTitle  : $InPrintMode&lt;br /&gt;    Option: My DB ScrTitle   : NOT $InPrintMode&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[!Part: My DB PrntTitle]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Use: DSP AccTitles&lt;br /&gt;    ;;This is a pre-defined part in default TDL&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[!Part: My DB ScrTitle]&lt;br /&gt;    Line: My DB Title&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My DB Title]&lt;br /&gt;    Field : Name Field&lt;br /&gt;    Local : Field : Name Field : Set as : $LocaleString:"Daybook"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: My DB Body]&lt;br /&gt;    Line: My Line&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Repeat : My Line: My Collection&lt;br /&gt;    ;;Syntax:-&lt;br /&gt;    ;;Repeat : &lt;line&gt; : &lt;collection&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    Scroll: Vertical&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Shows border&lt;br /&gt;    Common Border: Yes&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;    Left Fields: Myfld1,MyFld2&lt;br /&gt;    Right Fields: MyFld3,MyFld4&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This Shows the Ledger details when Alt+F1 key is pressed&lt;br /&gt;    Explode: MyExplodePart : ##ExplodeFlag&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;    ;;TYPE attribute specifies the data-type of the field&lt;br /&gt;    Type   : Date&lt;br /&gt;    Set as : $Date&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;    Use    : Name Field&lt;br /&gt;    Set as : $CollectionField:$LedgerName:1:AllLedgerEntries&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt;    Use    : Short Name Field&lt;br /&gt;    Set as : $VoucherTypeName&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt;    Use    : Amount Field&lt;br /&gt;    Set as : $Amount&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Important:-&lt;br /&gt;;;This PART is displayed when EXPLODEFLAG variable is set to Yes&lt;br /&gt;;;i.e. When user presses Alt+F1 key&lt;br /&gt;[Part: MyExplodePart]&lt;br /&gt;    Line : MyExplodline&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Line : MyExplodeNarrLine&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Repeats the line MyExplodeLine to display the AllLedgerEntries&lt;br /&gt;    ;;Collection fields&lt;br /&gt;    Repeat : MyExplodline : AllLedgerEntries&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;; Specify the fields that you wish to display when the PART is Exploded&lt;br /&gt;[Line: MyExplodline]&lt;br /&gt;&lt;br /&gt;    ;;Show this field on the left side of the line&lt;br /&gt;    Add: Left Fields: fldExplodeLedger,fldExplodeAmount&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This skips the first object of Collection AllLedgerEntries&lt;br /&gt;    Empty: $IsFirstObj&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Ledger Name field&lt;br /&gt;[Field: fldExplodeLedger]&lt;br /&gt;    Indent : 10&lt;br /&gt;    Use    : Name Field&lt;br /&gt;    Set as : $LedgerName&lt;br /&gt;    Style  : Small Italic&lt;br /&gt;    Width  : @@NameWidth&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Amount field&lt;br /&gt;[Field: fldExplodeAmount]&lt;br /&gt;    Use    : Amount Field&lt;br /&gt;    Set as : $Amount&lt;br /&gt;    Style  : Small Italic&lt;br /&gt;    Width  : @@ShortWidth&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;;; Line to Display Narration&lt;br /&gt;[Line: MyExplodeNarrline]&lt;br /&gt;    Add: Left Fields: fldExplodeNarration&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Display Narration field&lt;br /&gt;[Field: fldExplodeNarration]&lt;br /&gt;    Indent : 12&lt;br /&gt;    Use    : Name Field&lt;br /&gt;    Set as : $Narration&lt;br /&gt;    Style  : Small Italic&lt;br /&gt;    Width  : @@NameWidth&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt;    Type: Voucher&lt;/collection&gt;&lt;/line&gt;&lt;/family&gt;&lt;/mode&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pre&gt;&lt;br /&gt;Notes:-&lt;br /&gt;1) This program is an extension of program TDL42.TXT&lt;br /&gt;2) We have added functionality to display the Narration line&lt;br /&gt;3) We have added functionality for F12 Configuration key&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3561201169930801339?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3561201169930801339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3561201169930801339'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-43-adding-narration-line-and.html' title='Example 43: Adding Narration line and F12 key functionality to My Daybook'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5208894882607721896</id><published>2007-08-20T11:41:00.000+05:30</published><updated>2007-08-20T11:44:14.439+05:30</updated><title type='text'>TDL functions for Tally Software</title><content type='html'>The following TDL functions have been now included / covered :-&lt;br /&gt;&lt;br /&gt;$$Alias&lt;br /&gt;$$Allow&lt;br /&gt;$$SerialNumber&lt;br /&gt;$$SelectedCmps&lt;br /&gt;$$SysName&lt;br /&gt;&lt;br /&gt;Refer &lt;a href="http://www.rtslink.com/TDL-functions-Alphabetical-Listing.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5208894882607721896?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5208894882607721896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5208894882607721896'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/tdl-functions-for-tally-software.html' title='TDL functions for Tally Software'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-500101302941071250</id><published>2007-08-18T02:52:00.000+05:30</published><updated>2007-08-18T02:53:40.158+05:30</updated><title type='text'>TDL Functions</title><content type='html'>The following TDL functions have been now included / covered :-&lt;br /&gt;&lt;br /&gt;$$Abs&lt;br /&gt;$$Max&lt;br /&gt;$$Min&lt;br /&gt;$$Round&lt;br /&gt;$$RoundDown&lt;br /&gt;$$RoundUp&lt;br /&gt;$$ZeroFill&lt;br /&gt;&lt;br /&gt;Refer &lt;a href="http://www.rtslink.com/TDL-functions-Alphabetical-Listing.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-500101302941071250?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/500101302941071250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/500101302941071250'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/tdl-functions_18.html' title='TDL Functions'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3449039456101869691</id><published>2007-08-16T12:08:00.000+05:30</published><updated>2007-08-16T12:11:59.855+05:30</updated><title type='text'>TDL Functions</title><content type='html'>The following TDL functions have been now included / covered :-&lt;br /&gt;&lt;br /&gt;$$LocaleString&lt;br /&gt;$$InPrintMode&lt;br /&gt;$$IsFirstObject&lt;br /&gt;$$Value&lt;br /&gt;$$IsEmpty&lt;br /&gt;&lt;br /&gt;Refer &lt;a href="http://www.rtslink.com/TDL-functions-Alphabetical-Listing.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3449039456101869691?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3449039456101869691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3449039456101869691'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/tdl-functions.html' title='TDL Functions'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1985743358544626235</id><published>2007-08-15T10:02:00.000+05:30</published><updated>2007-08-15T10:07:32.023+05:30</updated><title type='text'>Example 40: Accessing fields of an Object</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to access fields (i.e. Internal methods)  of  "Ledger"  object. You can similary access other objects also.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/c883ca7b-9c35-4b35-a12a-ff955555f9d8/tdl40"&gt;TDL40&lt;/a&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PRODUCT: TDL40.TXT&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Accessing fields (Internal Methods) of an Object&lt;br /&gt;;;======================================================================&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;&lt;br /&gt;;;The ACTION used here is DISPLAY&lt;br /&gt;Item: Example 40: Display: My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;Form : My Form&lt;br /&gt;Title: $$LocaleString:"Accessing Fields of an Object"&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;Part: My Part&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt;Line: My Line1,My Line2&lt;br /&gt;&lt;br /&gt;;;Shows border&lt;br /&gt;Common Border: Yes&lt;br /&gt;&lt;br /&gt;[Line: My Line1]&lt;br /&gt;Left Fields: Short Prompt,Myfld1&lt;br /&gt;Local: Field: Short Prompt : Set as : "Ledger Balance"&lt;br /&gt;&lt;br /&gt;[Line: My Line2]&lt;br /&gt;Left Fields: Short Prompt,Myfld2&lt;br /&gt;Local: Field: Short Prompt : Set as : "Group Name"&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;Use    : Name Field&lt;br /&gt;Set as : $ClosingBalance:Ledger:"Cash"&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;Use    : Name Field&lt;br /&gt;Set as : $Parent:Ledger:"Cash"&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;NOTES:&lt;br /&gt;1) Accessing fields of an Object&lt;br /&gt;Syntax:-&lt;br /&gt;&amp;lt;FieldName&amp;gt; : &amp;lt;Object&amp;gt; : &amp;lt;Filter Value&amp;gt;&lt;br /&gt;&lt;br /&gt;Example:-&lt;br /&gt;$Closingbalance : Ledger : "Cash"&lt;br /&gt;&lt;br /&gt;Explanation:&lt;br /&gt;a) $Closingbalance is a field of Object LEDGER. It is also called Internal Method&lt;br /&gt;b) The 2nd parameter is the LEDGER Object&lt;br /&gt;c) The 3rd parameter is the LEDGER Name ("Cash") whose field&lt;br /&gt;   value is to be retrieved.&lt;br /&gt;&lt;br /&gt;2) Short Prompt is a pre-defined field. Herein, we are using LOCAL attribute&lt;br /&gt;to modify the definition of the field Short Prompt which is effective only&lt;br /&gt;in this Report.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1985743358544626235?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1985743358544626235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1985743358544626235'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-40-accessing-fields-of-object_15.html' title='Example 40: Accessing fields of an Object'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6443765653525286150</id><published>2007-08-15T06:42:00.000+05:30</published><updated>2007-08-15T07:21:12.753+05:30</updated><title type='text'>Example 42: Adding Access-control functionality to menu-options</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to add &lt;span style="font-weight: bold;"&gt;Access-control functionality&lt;/span&gt; to menu-option MyDBKTDL (MyDaybook). This program (i.e TDL42) is an extension to our earlier program TDL41.&lt;br /&gt;&lt;br /&gt;To understand this program, you must enable the Security features in your Company. It is advised to try out this program in a Dummy Company.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Steps enable Security Control&lt;/span&gt;:-&lt;br /&gt;1) Open any Company (say Dummy)&lt;br /&gt;2) Press &lt;span style="font-weight:bold;"&gt;Alt+F3&lt;/span&gt; in the "Gateway of Tally" menu. This will bring forth "Company Info" screen.&lt;br /&gt;3) Select option "Alter" and select the Company Name.&lt;br /&gt;4) In the "Company Alteration" screen, set "Security Control" to YES and enter the ADMIN-name and password. Save the Company details.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Steps to Create new User&lt;/span&gt;:-&lt;br /&gt;1) Press Alt+F3 in the "Gateway of Tally" menu and then select "Security Control" option.&lt;br /&gt;2)Next, select option "Users and passwords" to create a user. Enter any Username (say ABC) and password and then set the "Security Level" to DATA ENTRY.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Steps to Assign rights to the new User&lt;/span&gt;:-&lt;br /&gt;1) Press Alt+F3 in the "Gateway of Tally" menu and then select "Security Control" option.&lt;br /&gt;2)Next, select option "Types of Security" and then disallow access to Report DAYBOOK to the User that you have created.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;In the above mentioned steps, we have &lt;br /&gt;a) Enabled "Security Control" in the Company Alteration screen&lt;br /&gt;b) Created a new user. &lt;br /&gt;c) Disallowed Access-rights to DAYBOOK report to the new User (ABC).&lt;br /&gt;&lt;br /&gt;As you can see, we have restricted the newly created USER from Accessing the DAYBOOK Report. Now, in program TDL42, we create a new report MYDBKTDL which belongs to the DAYBOOK family. As a result, the ACCESS-CONTROL for DAYBOOK applies to MYDBKTDL also.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/63a85154-c42f-4a95-9203-9d5c1041324f/tdl42"&gt;TDL42&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PROGRAM: TDL42.TXT&lt;br /&gt;;; AUTHOR : Shweta Computers&lt;br /&gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Allow/Disallow Access-control to Menu option that we have added in&lt;br /&gt;;;Gateway of Tally&lt;br /&gt;;;======================================================================&lt;br /&gt;&lt;br /&gt;;;Global Formula. Used to assign a simple text string to a Global constant.&lt;br /&gt;[System: Formula]&lt;br /&gt;MYDBKTDL: $$LocaleString:"Daybook"&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;Item: @@MYDBKTDL : Display: My DBKTDL&lt;br /&gt;&lt;br /&gt;;;Control whether the menu-option is displayed or not?&lt;br /&gt;Control: @@MYDBKTDL: $$Allow:Display:Daybook&lt;br /&gt;&lt;br /&gt;;; Syntax for $$Allow&lt;br /&gt;;; $$Allow : &amp;lt;mode&amp;gt; : &amp;lt;family report="" name=""&amp;gt;&lt;br /&gt;;; Return Value : Logical&lt;br /&gt;&lt;br /&gt;[Report: MYDBKTDL]&lt;br /&gt;&lt;br /&gt;Family: $$Translate:"Daybook"&lt;br /&gt;;; The attribute FAMILY specifies that this Report (i.e. MYDBKTDL)&lt;br /&gt;;; belongs to a Family (report) named Daybook.&lt;br /&gt;;; DAYBOOK is a pre-defined report and here we are specifying that&lt;br /&gt;;; MYDBKTDL report belongs to the same DAYBOOK family.&lt;br /&gt;;; This will affect ACCESS to MYDBKTDL report.&lt;br /&gt;;; Now, when we change the ACCESS to DAYBOOK report using option&lt;br /&gt;;; "Gateway of Tally -&gt; Alt+F3 -&gt; Security Features".&lt;br /&gt;;; it will automatically affect the report MYDBKTDL&lt;br /&gt;&lt;br /&gt;Form : My Form&lt;br /&gt;&lt;br /&gt;;;Title of the Report&lt;br /&gt;Title: $$LocaleString:"Daybook"&lt;br /&gt;&lt;br /&gt;;;This variable is used in the current Report&lt;br /&gt;Variables: ExplodeFlag&lt;br /&gt;&lt;br /&gt;;;PRINTSET affects the variables related to Printing, whereas&lt;br /&gt;;;SET is used to assign values to variables used otherwise.&lt;br /&gt;PrintSet: ReportTitle: $$LocaleString:"Daybook"&lt;br /&gt;PrintSet: PrintFileName: "Daybook"&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;&lt;br /&gt;Buttons: PrintButton&lt;br /&gt;;;PrintButton is a pre-defined button. We just add is here.&lt;br /&gt;&lt;br /&gt;Space Top   : if $$InPrintMode then ##SVSpaceTop else 0.05 inches&lt;br /&gt;Space Bottom: if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;Space Left  : if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;Space Right : if $$InPrintMode then 0.25 else 0.05 inches&lt;br /&gt;&lt;br /&gt;Part: My DB Title,My DB Body&lt;br /&gt;&lt;br /&gt;Button: ExplodeFlag&lt;br /&gt;;;EXPLODEFLAG is a pre-defined button in Default Tally.&lt;br /&gt;;;Try using KEY instead of BUTTON, Alt+F1 still works,&lt;br /&gt;;;but the "Alt+F1" button is not displayed&lt;br /&gt;&lt;br /&gt;[Part: My DB Title]&lt;br /&gt;&lt;br /&gt;;;Optional Parts&lt;br /&gt;Option: My DB PrntTitle  : $$InPrintMode&lt;br /&gt;Option: My DB ScrTitle   : NOT $$InPrintMode&lt;br /&gt;&lt;br /&gt;[!Part: My DB PrntTitle]&lt;br /&gt;&lt;br /&gt;Use: DSP AccTitles&lt;br /&gt;;;This is a pre-defined part in default TDL&lt;br /&gt;&lt;br /&gt;[!Part: My DB ScrTitle]&lt;br /&gt;Line: My DB Title&lt;br /&gt;&lt;br /&gt;[Line: My DB Title]&lt;br /&gt;Field : Name Field&lt;br /&gt;Local : Field : Name Field : Set as : $$LocaleString:"Daybook"&lt;br /&gt;&lt;br /&gt;[Part: My DB Body]&lt;br /&gt;Line: My Line&lt;br /&gt;&lt;br /&gt;Repeat : My Line: My Collection&lt;br /&gt;;;Syntax:-&lt;br /&gt;;;Repeat : &amp;lt;line&amp;gt; : &amp;lt;Collection&amp;gt;&lt;br /&gt;&lt;br /&gt;Scroll: Vertical&lt;br /&gt;&lt;br /&gt;;;Shows border&lt;br /&gt;Common Border: Yes&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;Left Fields: Myfld1,MyFld2&lt;br /&gt;Right Fields: MyFld3,MyFld4&lt;br /&gt;&lt;br /&gt;;;This Shows the Ledger details when Alt+F1 key is pressed&lt;br /&gt;Explode: MyExplodePart : ##ExplodeFlag&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;;;TYPE attribute specifies the data-type of the field&lt;br /&gt;Type   : Date&lt;br /&gt;Set as : $Date&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;Use    : Name Field&lt;br /&gt;Set as : $$CollectionField:$LedgerName:1:AllLedgerEntries&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt;Use    : Short Name Field&lt;br /&gt;Set as : $VoucherTypeName&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt;Use    : Amount Field&lt;br /&gt;Set as : $Amount&lt;br /&gt;&lt;br /&gt;;;Important:-&lt;br /&gt;;;This PART is displayed when EXPLODEFLAG variable is set to Yes&lt;br /&gt;;;i.e. When user presses Alt+F1 key&lt;br /&gt;[Part: MyExplodePart]&lt;br /&gt;Line   : MyExplodline&lt;br /&gt;&lt;br /&gt;;;Repeats the line MyExplodeLine to display the AllLedgerEntries&lt;br /&gt;;;Collection fields&lt;br /&gt;Repeat : MyExplodline : AllLedgerEntries&lt;br /&gt;&lt;br /&gt;;; Specify the fields that you wish to display when the PART is Exploded&lt;br /&gt;[Line: MyExplodline]&lt;br /&gt;&lt;br /&gt;;;Show this field on the left side of the line&lt;br /&gt;Add: Left Fields: fldExplodeLedger,fldExplodeAmount&lt;br /&gt;&lt;br /&gt;;;This skips the first object of Collection AllLedgerEntries&lt;br /&gt;Empty: $$IsFirstObj&lt;br /&gt;&lt;br /&gt;;;Ledger Name field&lt;br /&gt;[Field: fldExplodeLedger]&lt;br /&gt;Indent : 10&lt;br /&gt;Use    : Name Field&lt;br /&gt;Set as : IF NOT $$IsFirstObj then $LedgerName else ""&lt;br /&gt;Style  : Small Italic&lt;br /&gt;Width  : @@NameWidth&lt;br /&gt;&lt;br /&gt;;;Amount field&lt;br /&gt;[Field: fldExplodeAmount]&lt;br /&gt;Use    : Amount Field&lt;br /&gt;Set as : $Amount&lt;br /&gt;Style  : Small Italic&lt;br /&gt;Width  : @@ShortWidth&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt;Type: Voucher&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;Notes:-&lt;br /&gt;1) This program is an extension of program TDL41.TXT&lt;br /&gt;2) ACCESS-CONTROL functionality is added to the menu-option MYDBKTDL using the $$Allow function.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6443765653525286150?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6443765653525286150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6443765653525286150'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-42-adding-access-control.html' title='Example 42: Adding Access-control functionality to menu-options'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-658438443784455333</id><published>2007-08-14T16:10:00.000+05:30</published><updated>2007-08-15T06:34:34.881+05:30</updated><title type='text'>Example 41: Adding Print functionality to MyDaybook</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to add Print functionality  to the report MyDaybook. This program (i.e TDL41) is an extension to our earlier program TDL38.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/9d6a8ee4-6e4e-45de-a07a-3f5429b3109f/tdl41"&gt;TDL41&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PRODUCT: TDL41.TXT&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Adding Print functionality to MyDaybook&lt;br /&gt;;;======================================================================&lt;br /&gt;&lt;br /&gt;;;Global Formula. Assign a text string to MYTDL41&lt;br /&gt;[System: Formula]&lt;br /&gt;  MYTDL41: $$LocaleString:"Daybook"&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;&lt;br /&gt;  ;;ACTION used here is DISPLAY&lt;br /&gt;  Item: @@MYTDL41 : Display: My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;&lt;br /&gt;  Form : My Form&lt;br /&gt;  Title: $$LocaleString:"Daybook"&lt;br /&gt;  Variables: ExplodeFlag&lt;br /&gt;&lt;br /&gt;  ;;This is used to set the variables which will affect Printing only.&lt;br /&gt;  PrintSet: ReportTitle: $$LocaleString:"Daybook"&lt;br /&gt;  PrintSet: PrintFileName: "Daybook"&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;&lt;br /&gt;  ;;PrintButton is a pre-defined button. We are just adding it here.&lt;br /&gt;  ;;This will display a PRINT button on the right-hand side of Tally screen.&lt;br /&gt;  Buttons: PrintButton&lt;br /&gt;&lt;br /&gt;  Space Top   : if $$InPrintMode then ##SVSpaceTop else 0.05 inches&lt;br /&gt;  Space Bottom: if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;  Space Left  : if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;  Space Right : if $$InPrintMode then 0.25 else 0.05 inches&lt;br /&gt;&lt;br /&gt;  Part: My DB Title,My DB Body&lt;br /&gt;&lt;br /&gt;  ;;Pre-defined button in Default Tally. Try using KEY instead of BUTTON,&lt;br /&gt;  ;;Alt+F1 still works, but the "Alt+F1" button is not displayed&lt;br /&gt;  Button: ExplodeFlag&lt;br /&gt;&lt;br /&gt;[Part: My DB Title]&lt;br /&gt;  Option: My DB PrntTitle  : $$InPrintMode&lt;br /&gt;  Option: My DB ScrTitle   : NOT $$InPrintMode&lt;br /&gt;&lt;br /&gt;[!Part: My DB PrntTitle]&lt;br /&gt;  Use: DSP AccTitles&lt;br /&gt;&lt;br /&gt;[!Part: My DB ScrTitle]&lt;br /&gt;  Line: My DB Title&lt;br /&gt;&lt;br /&gt;[Line: My DB Title]&lt;br /&gt;  Field : Name Field&lt;br /&gt;  Local : Field : Name Field : Set as : $$LocaleString:"Daybook"&lt;br /&gt;&lt;br /&gt;[Part: My DB Body]&lt;br /&gt;  Line: My Line&lt;br /&gt;&lt;br /&gt;  Repeat : My Line: My Collection&lt;br /&gt;  ;;Syntax:-&lt;br /&gt;  ;;Repeat : &lt;line&gt; : &lt;Collection&gt;&lt;br /&gt;&lt;br /&gt;  Scroll: Vertical&lt;br /&gt;&lt;br /&gt;  ;;Shows border&lt;br /&gt;  Common Border: Yes&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;  Left Fields: Myfld1,MyFld2&lt;br /&gt;  Right Fields: MyFld3,MyFld4&lt;br /&gt;&lt;br /&gt;  ;;This Shows the Ledger details when Alt+F1 key is pressed&lt;br /&gt;  Explode: MyExplodePart : ##ExplodeFlag &lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;  ;;TYPE attribute specifies the data-type of the field&lt;br /&gt;  Type   : Date&lt;br /&gt;  Set as : $Date&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;  Use    : Name Field&lt;br /&gt;  Set as : $$CollectionField:$LedgerName:1:AllLedgerEntries&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt;  Use    : Short Name Field&lt;br /&gt;  Set as : $VoucherTypeName&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt;  Use    : Amount Field&lt;br /&gt;  Set as : $Amount&lt;br /&gt;&lt;br /&gt;;;Important:-&lt;br /&gt;;;This PART is displayed when EXPLODEFLAG variable is set to Yes&lt;br /&gt;;;i.e. When user presses Alt+F1 key&lt;br /&gt;[Part: MyExplodePart]&lt;br /&gt;  Line   : MyExplodline&lt;br /&gt;&lt;br /&gt;  ;;Repeats the line MyExplodeLine to display the AllLedgerEntries&lt;br /&gt;  ;;Collection fields&lt;br /&gt;  Repeat : MyExplodline : AllLedgerEntries&lt;br /&gt;&lt;br /&gt;;; Specify the fields that you wish to display when the PART is Exploded&lt;br /&gt;[Line: MyExplodline]&lt;br /&gt;&lt;br /&gt;  ;;Show this field on the left side of the line&lt;br /&gt;  Add: Left Fields: fldExplodeLedger,fldExplodeAmount&lt;br /&gt;&lt;br /&gt;  ;;This skips the first object of Collection AllLedgerEntries&lt;br /&gt;  Empty: $$IsFirstObj&lt;br /&gt;&lt;br /&gt;;;Ledger Name field&lt;br /&gt;[Field: fldExplodeLedger]&lt;br /&gt;  Indent : 10&lt;br /&gt;  Use    : Name Field&lt;br /&gt;  Set as : IF NOT $$IsFirstObj then $LedgerName else ""&lt;br /&gt;  Style  : Small Italic&lt;br /&gt;  Width  : @@NameWidth&lt;br /&gt;&lt;br /&gt;;;Amount field&lt;br /&gt;[Field: fldExplodeAmount]&lt;br /&gt;  Use    : Amount Field&lt;br /&gt;  Set as : $Amount&lt;br /&gt;  Style  : Small Italic&lt;br /&gt;  Width  : @@ShortWidth&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt;  Type: Voucher&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;Notes:&lt;br /&gt;1) This program is a extension to program TDL38.TXT&lt;br /&gt;&lt;br /&gt;2) This program adds a button called PrintButton which is a&lt;br /&gt;   pre-defined button. This will add the Printing functionality&lt;br /&gt;   in our Report.&lt;br /&gt;&lt;br /&gt;3) We have defined OPTIONAL parts "My DB PrntTitle" and "My DB ScrTitle"&lt;br /&gt;   as we want to have different titles for Printing and Screen.&lt;br /&gt;&lt;br /&gt;4) We have added SPACE(s) to our Form for formatting purpose.&lt;br /&gt;   Example:-&lt;br /&gt;   Space Bottom: if $$InPrintMode then 0.5 else 0.05 inches&lt;br /&gt;&lt;br /&gt;5) $$InPrintMode is a Internal function that returns logical true&lt;br /&gt;   if the report is being printed.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-658438443784455333?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/658438443784455333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/658438443784455333'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-40-accessing-fields-of-object.html' title='Example 41: Adding Print functionality to MyDaybook'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6138020789149405092</id><published>2007-08-14T15:21:00.000+05:30</published><updated>2007-08-14T16:10:32.747+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tally'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='TDL'/><title type='text'>Example 39: Accessing fields of Company Object</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to access fields (i.e. Internal methods)  of  "Company"  object.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/4f21e218-d36c-488a-a271-5a23fc04c472/tdl39"&gt;TDL39&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;br /&gt;;; PRODUCT: TDL39.TXT&lt;br /&gt;;; PRODUCT-ID: de535cfa-1r7f-3h7a-31h3-a5r55a984e6e&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Accessing fields of Company Object&lt;br /&gt;;;======================================================================&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;&lt;br /&gt;  ;;The ACTION used here is DISPLAY&lt;br /&gt;  Item: Example 39: Display: My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;  Form : My Form&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;  Part: My Part&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt;  Line: My Line1,My Line2&lt;br /&gt;&lt;br /&gt;  ;;Shows border&lt;br /&gt;  Common Border: Yes&lt;br /&gt;&lt;br /&gt;[Line: My Line1]&lt;br /&gt;  Left Fields: Short Prompt,Myfld1&lt;br /&gt;  Local: Field: Short Prompt : Set as : "Company Number" &lt;br /&gt;&lt;br /&gt;[Line: My Line2]&lt;br /&gt;  Left Fields: Short Prompt,Myfld2&lt;br /&gt;  Local: Field: Short Prompt : Set as : "Owner Name" &lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;  Use    : Short Name Field&lt;br /&gt;  Set as : $CompanyNumber:Company:##SVCurrentCompany&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;  Use    : Short Name Field&lt;br /&gt;  Set as : $OwnerName:Company:##SVCurrentCompany&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;NOTES:&lt;br /&gt;&lt;br /&gt;1) Accessing fields of Company Object&lt;br /&gt;   Syntax:-&lt;br /&gt;   &lt;FieldName&gt; : Company : &lt;Company Name&gt;&lt;br /&gt;&lt;br /&gt;   Example:-&lt;br /&gt;   $BooksFrom : Company : ##SVCurrentCompany&lt;br /&gt;&lt;br /&gt;   Explanation:&lt;br /&gt;   a) $BooksFrom is a field of Object Company. It is also called Internal Method&lt;br /&gt;   b) The 2nd parameter is the Company Object&lt;br /&gt;   c) The 3rd parameter is the Company Name (##SVCurrentCompany) whose field&lt;br /&gt;      value is to be retrieved.&lt;br /&gt;&lt;br /&gt;  2) Short Prompt is a pre-defined field. Herein, we are using LOCAL attribute&lt;br /&gt;     to modify the definition of the field Short Prompt which is effective only&lt;br /&gt;     in this Report.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6138020789149405092?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6138020789149405092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6138020789149405092'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-39-accessing-fields-of-company.html' title='Example 39: Accessing fields of Company Object'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8680721849163873950</id><published>2007-08-13T06:49:00.000+05:30</published><updated>2007-08-13T07:03:47.161+05:30</updated><title type='text'>Example 38: Using EXPLODE attribute to display Daybook in detailed format</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to use "EXPLODE" attribute at LINE-definition level.&lt;br /&gt;&lt;br /&gt;TDL38 is an extension of program TDL30 in which we created a simple Daybook-style report. TDL38 adds new functionality to display the Daybook-report in Detailed format&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/a028b0d6-eaf4-4db3-a5f3-d2cb2f20869d/tdl38"&gt;TDL38&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;;Objective:-&lt;br /&gt;;;Using the EXPLODE attribute to display Ledgers details in&lt;br /&gt;;;MY DAYBOOK format&lt;br /&gt;;;======================================================================&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;&lt;br /&gt; ;;The ACTION used here is DISPLAY&lt;br /&gt; Item: Example 38: Display: My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt; Form : My Form&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt; Part: My Part&lt;br /&gt;&lt;br /&gt; ;;Pre-defined button in Default Tally. Try using KEY instead of BUTTON,&lt;br /&gt; ;;Alt+F1 still works, but the "Alt+F1" button is not displayed&lt;br /&gt; Button: ExplodeFlag&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt; Line: My Line&lt;br /&gt;&lt;br /&gt; Repeat : My Line: My Collection&lt;br /&gt; ;;Syntax:-&lt;br /&gt; ;;Repeat : &amp;lt;line&amp;gt; : &amp;lt;collection&amp;gt;&lt;br /&gt;&lt;br /&gt; Scroll: Vertical&lt;br /&gt;&lt;br /&gt; ;;Shows border&lt;br /&gt; Common Border: Yes&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt; Left Fields: Myfld1,MyFld2,MyFld3,MyFld4&lt;br /&gt;&lt;br /&gt; ;;This Shows the Ledger details when Alt+F1 key is pressed&lt;br /&gt; Explode: MyExplodePart : (##ExplodeFlag or $$KeyExplode)&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt; ;;TYPE attribute specifies the data-type of the field&lt;br /&gt; Type   : Date&lt;br /&gt; Set as : $Date&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt; ;;The USE keyword inherits the functionality/properties of the specified object&lt;br /&gt; Use    : Short Name Field&lt;br /&gt; Set as : $VoucherTypeName&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt; Use    : Name Field&lt;br /&gt; Set as : $$CollectionField:$LedgerName:1:AllLedgerEntries&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt; Use    : Amount Field&lt;br /&gt; Set as : $Amount&lt;br /&gt;&lt;br /&gt;;;Important:-&lt;br /&gt;;;This PART is displayed when EXPLODEFLAG variable is set to Yes&lt;br /&gt;;;i.e. When user presses Alt+F1 key&lt;br /&gt;[Part: MyExplodePart]&lt;br /&gt; Line   : MyExplodline&lt;br /&gt;&lt;br /&gt; ;;Repeats the line MyExplodeLine to display the AllLedgerEntries&lt;br /&gt; ;;Collection fields&lt;br /&gt; Repeat : MyExplodline : AllLedgerEntries&lt;br /&gt;&lt;br /&gt;;; Specify the fields that you wish to display when the PART is Exploded&lt;br /&gt;[Line: MyExplodline]&lt;br /&gt;&lt;br /&gt; ;;Show this field on the left side of the line&lt;br /&gt; Add: Right Fields: fldExplodeLedger,fldExplodeAmount&lt;br /&gt;&lt;br /&gt; ;;This skips the first object of Collection AllLedgerEntries&lt;br /&gt; Empty: $$IsFirstObj&lt;br /&gt;&lt;br /&gt;;;Ledger Name field&lt;br /&gt;[Field: fldExplodeLedger]&lt;br /&gt; Use    : Name Field&lt;br /&gt; Set as : IF NOT $$IsFirstObj then $LedgerName else ""&lt;br /&gt; Style  : Small Italic&lt;br /&gt; Width  : @@NameWidth&lt;br /&gt;&lt;br /&gt;;;Amount field&lt;br /&gt;[Field: fldExplodeAmount]&lt;br /&gt; Use    : Amount Field&lt;br /&gt; Set as : $Amount&lt;br /&gt; Style  : Small Italic&lt;br /&gt; Width  : @@ShortWidth&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt; Type: Voucher&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;Notes:-&lt;br /&gt;1) EXPLODE attribute is used at LINE definition level to display (i.e explode)&lt;br /&gt;   additional details.&lt;br /&gt;&lt;br /&gt;2) When the user presses Alt+F1 key, the ledger details are shown.&lt;br /&gt;&lt;br /&gt;3) The attribute EMPTY is used at LINE definition level as shown below:-&lt;br /&gt;&lt;br /&gt;   Empty: $$IsFirstObj&lt;br /&gt;&lt;br /&gt;   Syntax:-  Empty : &amp;lt;condition&amp;gt;&lt;br /&gt;   The EMPTY attribute is used at the LINE definition level to skip the line,&lt;br /&gt;   if the condition is true. Herein, we have specified that 1st Object of the&lt;br /&gt;   Collection "AllLedgerEntries" must be skipped.&lt;br /&gt;&lt;br /&gt;4) $$IsFirstObj&lt;br /&gt;   Return value: Logical&lt;br /&gt;   Checks whether the object is the 1st object or not in the given collection&lt;br /&gt;     &lt;br /&gt;5) CollectionField is a Tally Internal Function. It returns the Method/Field&lt;br /&gt;   data of the specified Collection as applied on the "nth" object of the&lt;br /&gt;   Collection. In the above code, it fetches the 1st LedgerName from the&lt;br /&gt;   Collection "AllLedgerEntries".&lt;br /&gt;&lt;br /&gt;   Syntax:  $$CollectionField: &amp;lt;method field=""&amp;gt; : &amp;lt;positionnumber&amp;gt; : &amp;lt;collection&amp;gt;&lt;br /&gt;   Return Value: Method/Field value as specified as the 1st argument&lt;br /&gt;&lt;br /&gt;6) AllLedgerEntries is a pre-defined Collection that contains Ledger details&lt;br /&gt;   for the VOUCHER object. $LedgerName is a method/Field of this collection.&lt;br /&gt;&lt;br /&gt;7) Date,VoucherTypeName,VoucherNumber,Amount are methods/fields of&lt;br /&gt;   VOUCHER object.&lt;br /&gt;&lt;br /&gt;8) NameWidth, ShortWidth, Small Italic are pre-defined Global formulaes.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8680721849163873950?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8680721849163873950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8680721849163873950'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-38-using-explode-attribute-to.html' title='Example 38: Using EXPLODE attribute to display Daybook in detailed format'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5529490260616566731</id><published>2007-08-11T11:43:00.000+05:30</published><updated>2007-08-11T11:53:05.193+05:30</updated><title type='text'>Example 37: Using "Control" attribute at Menu definition level</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to use "Control" attribute at menu-definition level.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/068ab74e-6cf4-4302-b0b3-cc73d0e55171/tdl37"&gt;TDL37&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Using "Control" attribute at Menu level&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;;Global formula definition&lt;br /&gt;[System: Formula]&lt;br /&gt;locSR : $$LocaleString:"Sales Register"&lt;br /&gt;locPR : $$LocaleString:"Purchase Register"&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu:Gateway of Tally]&lt;br /&gt;Item : Example 37: Menu : My Menu&lt;br /&gt;&lt;br /&gt;[Menu: My Menu]&lt;br /&gt;&lt;br /&gt;;;1st Menu option&lt;br /&gt;Item: @@locSR : Display : Sales Register&lt;br /&gt;&lt;br /&gt;;;2nd Menu option.&lt;br /&gt;Item: @@locPR : Display : Purchase Register&lt;br /&gt;&lt;br /&gt;Item: Blank&lt;br /&gt;Key Item: @@locQuit&lt;br /&gt;&lt;br /&gt;Control  : @@locSR : ##ShowSR&lt;br /&gt;Control  : @@locPR : ##ShowPR&lt;br /&gt;&lt;br /&gt;[System: Variable]&lt;br /&gt;ShowSR : Yes&lt;br /&gt;&lt;br /&gt;;;This will hide the 2nd menu-option&lt;br /&gt;ShowPR : No&lt;br /&gt;&lt;br /&gt;[Variable: ShowSR]&lt;br /&gt;Type : Logical&lt;br /&gt;&lt;br /&gt;[Variable: ShowPR]&lt;br /&gt;Type : Logical&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;Notes:-&lt;br /&gt;1) We are using ITEM to define menu-items rather than using KEY ITEM&lt;br /&gt; This is because KEY ITEM is supported in only Tally 9, whereas&lt;br /&gt; ITEM is supported in both Tally 7.2 and Tally 9&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5529490260616566731?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5529490260616566731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5529490260616566731'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-37-using-control-attribute-at.html' title='Example 37: Using &quot;Control&quot; attribute at Menu definition level'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8265072513704896776</id><published>2007-08-10T12:41:00.001+05:30</published><updated>2007-08-10T12:44:15.527+05:30</updated><title type='text'>Example 36: Disabling menu-options in Tally 7.2</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to disable a menu-option in Tally 7.2.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/139f4225-e2b4-4a8f-b6e7-14b9965dcdbd/tdl36"&gt;TDL36&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Disabling Menu options in Tally 7.2&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;;Global formula definition&lt;br /&gt;[System: Formula]&lt;br /&gt;  locSR : $$LocaleString:"Sales Register"&lt;br /&gt;  locPR : $$LocaleString:"Purchase Register"&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu:Gateway of Tally]&lt;br /&gt;  Item : Example 35: Menu : My Menu&lt;br /&gt;&lt;br /&gt;[Menu: My Menu]&lt;br /&gt;  ;;1st Menu option&lt;br /&gt;  Item: @@locSR : Display : Sales Register : ##ShowSR&lt;br /&gt;&lt;br /&gt;  ;;2nd Menu option&lt;br /&gt;  ;;This option is disable as variable ShowPR is set to NO&lt;br /&gt;  Item: @@locPR : Display : Purchase Register : ##ShowPR&lt;br /&gt;&lt;br /&gt;  Item: Blank&lt;br /&gt;  Key Item: @@locQuit &lt;br /&gt;&lt;br /&gt;[System: Variable]&lt;br /&gt;  ShowSR : Yes&lt;br /&gt;  ShowPR : No&lt;br /&gt;&lt;br /&gt;[Variable: ShowSR]&lt;br /&gt;  Type : Logical&lt;br /&gt;&lt;br /&gt;[Variable: ShowPR]&lt;br /&gt;  Type : Logical&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8265072513704896776?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8265072513704896776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8265072513704896776'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-36-disabling-menu-options-in.html' title='Example 36: Disabling menu-options in Tally 7.2'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2393268384169746254</id><published>2007-08-10T12:37:00.000+05:30</published><updated>2007-08-10T12:40:56.086+05:30</updated><title type='text'>Example 35: Disabling menu-options in Tally 9</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to disable a menu-option in Tally 9.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/9b0fdd53-6009-4ee7-a00d-1b8327d7df16/tdl35"&gt;TDL35&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Disabling Menu Options in Tally 9&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;;Global Formula&lt;br /&gt;[System: Formula]&lt;br /&gt;  locSR : $$LocaleString:"Sales Register"&lt;br /&gt;  locPR : $$LocaleString:"Purchase Register"&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu:Gateway of Tally]&lt;br /&gt;  Item : Example 35: Menu : My Menu&lt;br /&gt;&lt;br /&gt;[Menu: My Menu]&lt;br /&gt;  ;;KEY ITEM works with Tally 9 only.&lt;br /&gt;  ;;Refer TDL36.TXT for Tally 7.2 &lt;br /&gt;  Key Item: @@locSR : S : Display : Sales Register : ##ShowSR&lt;br /&gt;  Key Item: @@locPR : P : Display : Purchase Register : ##ShowPR&lt;br /&gt;  Item: Blank&lt;br /&gt;  Key Item: @@locQuit : Q&lt;br /&gt;&lt;br /&gt;[System: Variable]&lt;br /&gt;  ShowSR : Yes&lt;br /&gt;  ShowPR : No&lt;br /&gt;&lt;br /&gt;[Variable: ShowSR]&lt;br /&gt;  Type : Logical&lt;br /&gt;&lt;br /&gt;[Variable: ShowPR]&lt;br /&gt;  Type : Logical&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2393268384169746254?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2393268384169746254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2393268384169746254'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-35-disabling-menu-options-in.html' title='Example 35: Disabling menu-options in Tally 9'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5718560597936370990</id><published>2007-08-09T09:07:00.000+05:30</published><updated>2007-08-09T09:10:41.076+05:30</updated><title type='text'>Example 34: Using Validate Attribute at FIELD definition level</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to use "&lt;span style="font-weight: bold;"&gt;Validate&lt;/span&gt;" Attribute at &lt;span style="font-weight: bold;"&gt;FIELD definition level&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/f5f2cf92-839d-4b23-b8f0-dd93f343aa5f/tdl34"&gt;TDL34&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;br /&gt;;;Objective:-&lt;br /&gt;;;Using "Validate" attribute at FIELD definition level&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;; Add a new menu-item to the Gateway of Tally. Note that the Action is&lt;br /&gt;;; ALTER (and not display)&lt;br /&gt;&lt;br /&gt;[#Menu:Gateway of Tally]&lt;br /&gt; Item : Example 34 : Alter : My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt; Form: My Form&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt; Part: My Part&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt; Line: My Line&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt; Fields: My Field1&lt;br /&gt;&lt;br /&gt;[Field: MyField1]&lt;br /&gt; Use: Name Field&lt;br /&gt;&lt;br /&gt; ;;Validates that the Field Value must not be Empty.&lt;br /&gt; ;;Similar to the "Control" attribute but does not display any message&lt;br /&gt; Validate : NOT $$IsEmpty:$$Value&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Notes:-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;1) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;font-size:85%;"  &gt;$IsEmpty checks whether the parameter passed is Empty or not.&lt;br /&gt; Syntax:   &lt;span style="color: rgb(51, 102, 255);"&gt;$$IsEmpty: &lt;parameter&gt;&lt;/parameter&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;2)  $$Value&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;Returns the value of the current field&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5718560597936370990?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5718560597936370990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5718560597936370990'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-34-using-validate-attribute-at.html' title='Example 34: Using Validate Attribute at FIELD definition level'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4625321346481985895</id><published>2007-08-09T08:42:00.000+05:30</published><updated>2007-08-30T08:20:09.432+05:30</updated><title type='text'>Example 33: Using "Control" Attribute at FIELD definition level</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to use "&lt;span style="font-weight: bold;"&gt;Control&lt;/span&gt;" Attribute at &lt;span style="font-weight: bold;"&gt;FIELD definition level&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.esnips.com/doc/fbda524a-c973-40b4-ad3b-7004c2f69313/tdl33"&gt;TDL33&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PRODUCT: TDL33.TXT&lt;br /&gt;;;=========================================================================&lt;br /&gt;;; Add a new menu-item to the Gateway of Tally. Note that the Action is&lt;br /&gt;;; ALTER (and not display as used generally)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[#Menu:Gateway of Tally]&lt;br /&gt;    Item : Example 33 : Alter : My Report&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;    Form: My Form&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;    Part: My Part&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt;    Line: My Line&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;    Fields: My Field1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: MyField1]&lt;br /&gt;    Use: Name Field&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Display a message if the Field Value is Empty&lt;br /&gt;    Control  : EmptyValueMsg : $$IsEmpty:$$Value&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Global formula&lt;br /&gt;[System: Formula]&lt;br /&gt;    EmptyValueMsg : $$LocaleString:"Cannot be empty.\nPlease enter some value."&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Notes:-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;1) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;font-size:85%;"  &gt;$$IsEmpty checks whether the parameter passed is Empty or not.&lt;br /&gt;   Syntax:   &lt;span style="color: rgb(51, 102, 255);"&gt;$$IsEmpty: &lt;parameter&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;2)  $$Value&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;     &lt;span style="font-style: italic;"&gt;Returns the value of the current field&lt;br /&gt;&lt;/span&gt;3) \n is used for line-feed&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4625321346481985895?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4625321346481985895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4625321346481985895'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/08/example-33-using-control-attribute-at.html' title='Example 33: Using &quot;Control&quot; Attribute at FIELD definition level'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7054566895497484736</id><published>2007-07-04T18:03:00.001+05:30</published><updated>2007-07-04T18:15:25.571+05:30</updated><title type='text'>Exporting a user-defined Report</title><content type='html'>&lt;span style="font-family: arial;"&gt;This post illustrates how to create a Report and Export it.&lt;br /&gt;&lt;br /&gt;TDL32 displays a menu-option "Export Report"  in the "Gateway of Tally ".  On selecting this option it displays Vouchers details like Date, Ledger; VoucherType etc. You can now EXPORT this Report by pressing ALT+E key.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.rtslink.com/images/tdl32.zip"&gt;TDL32&lt;/a&gt;&lt;br /&gt;&lt;table width="100%" bg border="1" style="color:#f0f0f0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="font-family:Arial;color:#000000;"&gt;;; PRODUCT: TDL32.TXT&lt;br /&gt;;; PRODUCT-ID: dr334cfa-2r7f-3f7a-51h3-a3r54a994e6w&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;  Item: Report Export: Display: My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;  Form : My Form&lt;br /&gt;&lt;br /&gt;  ;;Export the Report&lt;br /&gt;  Export : Yes&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;&lt;br /&gt;  ;;Displays the Export button. Use Alt+E to Export the Report.&lt;br /&gt;  Button: ExportButton&lt;br /&gt;&lt;br /&gt;  Part: My Part&lt;br /&gt;  Full Width: Yes&lt;br /&gt;  Full Height: Yes&lt;br /&gt;  XMLTag: ENVELOPE&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt;  Line: My Line&lt;br /&gt;  Repeat : My Line: My Collection&lt;br /&gt;  Scroll: Vertical&lt;br /&gt;  Common Border: Yes&lt;br /&gt;  XMLTag: MyVoucher&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;  Left Fields: Myfld1,MyFld2,MyFld3,MyFld4&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;  ;;TYPE attribute specifies the data-type of the field&lt;br /&gt;  Type: Date&lt;br /&gt;  Set as : $Date&lt;br /&gt;  XMLTag: Date&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;  ;;The USE keyword inherits the functionality/properties of the specified object&lt;br /&gt;  Use    : Short Name Field&lt;br /&gt;  Set as : $VoucherTypeName&lt;br /&gt;  XMLTag: VoucherType&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt;  Use    : Name Field&lt;br /&gt;  Set as : $$CollectionField:$LedgerName:1:AllLedgerEntries&lt;br /&gt;  XMLTag : LedgerName&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt;  Use    : Amount Field&lt;br /&gt;  Set as : $Amount&lt;br /&gt;  XMLTag : Amount&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt;  Type: Voucher&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Notes:-&lt;/span&gt;&lt;br /&gt;1) Export attribute at the Report level makes the Report exportable.&lt;br /&gt;2) XMLTag attribute is used to specify the XML-Tag-name for the Report fields.&lt;br /&gt;3) ExportButton is a predefined button definition.&lt;br /&gt;4) You can fetch the above Report data manually (using Alt+E) or programmatically using RTSlink DLL, like you fetch data of other pre-defined reports.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7054566895497484736?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7054566895497484736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7054566895497484736'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/07/exporting-user-defined-report.html' title='Exporting a user-defined Report'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5511623022316205956</id><published>2007-07-04T17:33:00.000+05:30</published><updated>2007-07-04T17:38:17.186+05:30</updated><title type='text'>Passing parameters to TDL procedures</title><content type='html'>This post illustrates how to pass parameters to TDL procedures. TDL31  program retreives Payment Vouchers&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.rtslink.com/images/tdl31.zip"&gt;TDL31&lt;/a&gt;&lt;br /&gt;&lt;table width="100%" bg border="1" style="color:#f0f0f0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="font-family:Arial;color:#000000;"&gt;;; PRODUCT: TDL31.TXT&lt;br /&gt;;; PRODUCT-ID: cr405yfa-3e7f-5d9a-52h6-acr80a55436e&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;; Collection-name that begins with an underscore is a Procedure&lt;br /&gt;[Collection: _MyVouchers]&lt;br /&gt;&lt;br /&gt;  ;;Based on the Voucher Object&lt;br /&gt;  Type         : Voucher&lt;br /&gt;&lt;br /&gt;  ;;Requires ONe parameter i.e. VoucherType Name&lt;br /&gt;  SQLParms     : pVchType&lt;br /&gt;&lt;br /&gt;  ;;Data that is returned to the calling program&lt;br /&gt;  SQLValues    : Voucher Date      : $Date&lt;br /&gt;  SQLValues    : Voucher Number    : $VoucherNumber&lt;br /&gt;  SQLValues    : Voucher Reference : $VoucherReference&lt;br /&gt;  SQLValues    : Voucher Amount    : $Amount&lt;br /&gt;  SQLValues    : Voucher Type      : $VoucherTypeName&lt;br /&gt;&lt;br /&gt;  ;;Filters out the Collection for Object that match the given condition&lt;br /&gt;  Filters       : MyVchTypeFilter&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[System: Formula]&lt;br /&gt;  ;;Used as Filter condition&lt;br /&gt;  MyVchTypeFilter : $VoucherTypeName = #pVchType&lt;br /&gt;&lt;br /&gt;[Variable: pVchType]&lt;br /&gt;  Type: String&lt;br /&gt;&lt;br /&gt;[System: Variable]&lt;br /&gt;  pVchType: ""&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notes:-&lt;/span&gt;&lt;br /&gt;Procedures can be invoked using SQLRequest() function of RTSlink DLL&lt;br /&gt;    as given below:&lt;br /&gt;&lt;br /&gt;    Syntax:-&lt;br /&gt;    SQLRequest("Call _MyVouchers('Payment')")&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5511623022316205956?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5511623022316205956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5511623022316205956'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/07/passing-parameters-to-tdl-procedures.html' title='Passing parameters to TDL procedures'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-348433707754148623</id><published>2007-07-01T18:33:00.000+05:30</published><updated>2007-07-02T17:14:12.732+05:30</updated><title type='text'>Creating Procedures in TDL</title><content type='html'>&lt;span style="font-family:arial;"&gt;This post illustrates how to create Procedures in TDL.&lt;br /&gt;&lt;br /&gt;TDL Procedures are different from the procedures/functions used in other programming languages.  A TDL proceedure is basically a collection of SQL-Columns that is returned to the calling program.&lt;br /&gt;&lt;br /&gt;To create a Procedure, you define a Collection that starts with an &lt;span style="font-weight: bold;"&gt;underscore. &lt;/span&gt;Next, &lt;span style="font-weight: bold;"&gt;SQLValues &lt;/span&gt;attribute defines the columns that you require to be returned to the calling program.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.rtslink.com/images/tdl29.zip"&gt;TDL29&lt;/a&gt;&lt;br /&gt;&lt;table bg border="1" width="100%" style="color:#f0f0f0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="font-family:Arial;color:#000000;"&gt;;; PRODUCT: TDL29.TXT&lt;br /&gt;;; PRODUCT-ID: dr205cfa-1e7f-3f9a-32h8-acr50a55436e&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;; Procedures must begin with _ (underscore) in TDL&lt;br /&gt;;; Procedures return data to the calling program&lt;br /&gt;[Collection: _MyVouchers]&lt;br /&gt; ;;This collection is based on the pre-defined type Voucher&lt;br /&gt; Type         : Voucher&lt;br /&gt;&lt;br /&gt; SQLValues    : Voucher Date           : $Date&lt;br /&gt; SQLValues    : Voucher Type           : $VoucherTypeName&lt;br /&gt; SQLValues    : Voucher Number      : $VoucherNumber&lt;br /&gt; SQLValues    : Voucher Reference  : $VoucherReference&lt;br /&gt; SQLValues    : Voucher Amount       : $Amount&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Notes:-&lt;br /&gt;1) SQLValues is an attribute that can be used with Collection&lt;br /&gt;   definition&lt;br /&gt;2) SQLValues requires TWO parameters&lt;br /&gt;   1st Parameter : Column Name&lt;br /&gt;   2nd Parameter : Column Value (usually this is a Method/Field Name)&lt;br /&gt;&lt;br /&gt;3) Procedures can be invoked using SQLRequest() function of RTSlink DLL&lt;br /&gt;   as given below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    Syntax:-&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-family: courier new;"&gt;    SQLRequest("Call _MyVouchers")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4) For more information on how to use the SQLRequest() function,  refer link &lt;a href="http://www.rtslink.com/Tally-Integration-Using-SQL-SELECT-to-fetch-Tally-data.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-348433707754148623?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/348433707754148623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/348433707754148623'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/07/creating-procedures-in-tdl.html' title='Creating Procedures in TDL'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3227536799290365282</id><published>2007-07-01T07:44:00.000+05:30</published><updated>2007-07-01T07:52:51.338+05:30</updated><title type='text'>Using $$FullList function</title><content type='html'>&lt;span style="color: rgb(51, 51, 255); font-family: arial; font-size: 100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$$FullList is a Tally Internal Function. It fetches and &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255); font-family: arial; font-size: 100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;returns the specified Method/Field values from &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255); font-family: arial; font-size: 100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;the given Collection.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255); font-family: arial; font-size: 100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-family: arial; font-size: 100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-style: italic;"&gt;Syntax&lt;/span&gt;             :&lt;span style="font-weight: bold;"&gt; &lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;$$FullList : &amp;lt;CollectionName&amp;gt; : &amp;lt;Method/FieldName&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Return Value&lt;/span&gt;  :  Method/Field type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;The $$FullList function is basically used to fetch all the values for a specified Method/Field from a  given Collection. For more information and sample program, refer article &lt;a href="http://rtslink.blogspot.com/2007/07/fetch-tally-voucher-data-including.html"&gt;"Fetch Tally Voucher Data including Stock-Item details"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3227536799290365282?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3227536799290365282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3227536799290365282'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/07/using-fulllist-function.html' title='Using $$FullList function'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1367904410264860939</id><published>2007-07-01T07:18:00.001+05:30</published><updated>2007-07-01T07:28:12.219+05:30</updated><title type='text'>Using $$CollectionField Function</title><content type='html'>This post illustrates how to use the &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$$CollectionField&lt;/span&gt; Tally Internal Function.&lt;br /&gt;&lt;br /&gt;Download program &lt;a href="http://www.rtslink.com/images/tdl30.zip"&gt;TDL30&lt;/a&gt;&lt;br /&gt;&lt;table bg="" style="color: rgb(240, 240, 240);" border="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;" &gt;;; PRODUCT: TDL30.TXT&lt;br /&gt;;; PRODUCT-ID: br535cfa-1r7f-3h7a-31h3-a5r55a994e6w&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;;Add a new menu-item to the Gateway of Tally&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;Item: CollectionField Example: Display: My Report&lt;br /&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;Form : My Form&lt;br /&gt;&lt;br /&gt;[Form: My Form]&lt;br /&gt;Part: My Part&lt;br /&gt;Full Width: Yes&lt;br /&gt;Full Height: Yes&lt;br /&gt;&lt;br /&gt;[Part: My Part]&lt;br /&gt;Line: My Line&lt;br /&gt;Repeat : My Line: My Collection&lt;br /&gt;Scroll: Vertical&lt;br /&gt;Common Border: Yes&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;Left Fields: Myfld1,MyFld2,MyFld3,MyFld4&lt;br /&gt;&lt;br /&gt;[Field: Myfld1]&lt;br /&gt;;;TYPE attribute specifies the data-type of the field&lt;br /&gt;Type: Date&lt;br /&gt;Set as : $Date&lt;br /&gt;&lt;br /&gt;[Field: Myfld2]&lt;br /&gt;;;The USE keyword inherits the functionality/properties of the specified object&lt;br /&gt;Use    : Short Name Field&lt;br /&gt;Set as : $VoucherTypeName&lt;br /&gt;&lt;br /&gt;[Field: Myfld3]&lt;br /&gt;Use    : Name Field&lt;br /&gt;Set as : $$CollectionField:$LedgerName:1:AllLedgerEntries&lt;br /&gt;&lt;br /&gt;[Field: Myfld4]&lt;br /&gt;Use    : Amount Field&lt;br /&gt;Set as : $Amount&lt;br /&gt;&lt;br /&gt;;;Collection definition&lt;br /&gt;[Collection: My Collection]&lt;br /&gt;Type: Voucher&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;;; Notes:-&lt;br /&gt;1) &lt;span style="color: rgb(0, 0, 0); font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family: courier new;"&gt;$$CollectionField&lt;/span&gt;&lt;/span&gt; is a Tally Internal Function. It returns the Method/Field&lt;br /&gt;  data of the specified Collection as applied on the "nth" object of the&lt;br /&gt;  Collection. In the above code, it fetches the 1st &lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family: courier new;"&gt;LedgerName&lt;/span&gt;&lt;/span&gt; from the&lt;br /&gt;  Collection "AllLedgerEntries".&lt;br /&gt;&lt;br /&gt;  Syntax:  $$CollectionField: &amp;lt;Method/Field&amp;gt; : &amp;lt;PositionNumber&gt; : &amp;lt;Collection&amp;gt;&lt;br /&gt;   Return Value: Method/Field value as specified as the 1st argument&lt;br /&gt;&lt;br /&gt;2) &lt;span style="font-size:100%;"&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;AllLedgerEntries&lt;/span&gt;&lt;/span&gt; is a pre-defined Collection that contains Ledger details&lt;br /&gt;   for the VOUCHER object. $LedgerName is a method/Field of this collection.&lt;br /&gt;&lt;br /&gt;3) &lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family: courier new;"&gt;Date,VoucherTypeName,VoucherNumber,Amount&lt;/span&gt;&lt;/span&gt; are methods/fields of&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;    VOUCHER&lt;/span&gt;&lt;/span&gt; object.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1367904410264860939?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1367904410264860939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1367904410264860939'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/07/using-collectionfield-function.html' title='Using $$CollectionField Function'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2988168596692054963</id><published>2007-06-30T16:08:00.000+05:30</published><updated>2007-06-30T19:01:35.789+05:30</updated><title type='text'>Report Inheritance : How to Create new Reports based on existing Reports?</title><content type='html'>Program TDL28 illustrates the concept of Report Inheritance. i.e. creating a new Report based on a existing Report. Download &lt;a href="http://www.rtslink.com/images/tdl28.zip"&gt;TDL28&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;;; PRODUCT: TDL28.TXT&lt;br /&gt;;; PRODUCT-ID: cd205cfa-1d7f-4f9a-92h8-ace40a5943be&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;=========================================================================&lt;br /&gt;&lt;br /&gt;;;Modify the Gateway of Tally menu to add a new Menu item&lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;  Add: Item: My Daybook: Display: My Daybook&lt;br /&gt;&lt;br /&gt;;;Report Definition&lt;br /&gt;[Report: My Daybook]&lt;br /&gt;&lt;br /&gt;  ;;This inherits the functionality of existing (pre-defined) Report&lt;br /&gt;  Use : Voucher Register&lt;br /&gt;&lt;br /&gt;  ;;Change the default Period&lt;br /&gt;  Set : SVFROMDATE: $$DateFrom&lt;br /&gt;  Set : SVTODATE  : $$DateTo&lt;br /&gt;&lt;br /&gt;;; Notes:-&lt;br /&gt;;; 1) $$DateFrom function returns the date from which the period begins&lt;br /&gt;;; 2) $$DateTo function returns the date with which the period ends&lt;br /&gt;;; 3) SVFROMDATE is a pre-defined Global variable&lt;br /&gt;;; 4) SVToDATE is a pre-defined Global variable&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2988168596692054963?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2988168596692054963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2988168596692054963'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/report-inheritance-how-to-create-new.html' title='Report Inheritance : How to Create new Reports based on existing Reports?'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8529041273380074497</id><published>2007-06-23T06:54:00.000+05:30</published><updated>2007-06-23T07:45:47.336+05:30</updated><title type='text'>Voucher Statistics using $$IsPayment, $$IsReceipt etc</title><content type='html'>You can fetch Voucher statistics using $$IsPayment, $$IsReceipt and others similar functions. For more information on these TDL functions, refer &lt;a href="http://www.rtslink.com/TDL-functions-Alphabetical-Listing.htm"&gt;www.rtslink.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Syntax:-&lt;br /&gt;$$IsPayment: &amp;lt;VoucherTypeName&amp;gt; &lt;br /&gt;&lt;br /&gt;Return Value: &lt;br /&gt;Logical&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.rtslink.com/images/tdl27.zip"&gt;TDL27&lt;/a&gt; program.&lt;br /&gt;&lt;br /&gt;This TDL program creates a Collection/table which contains Voucher statistics data. To view the Collection data, you can use SQLRequest() function of RTSlink DLL. Refer, &lt;a href="http://rtslink.blogspot.com"&gt;rtslink.blogspot.com&lt;/a&gt; for more information.&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;;; PRODUCT: TDL27&lt;br /&gt;;; PRODUCT-ID: ad157cfa-2s7f-4g9a-52f8-ade40a2983be&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;==========================================================================&lt;br /&gt;;;This program defines a Collection called VCHStatistics.&lt;br /&gt;;;This collection can be accessed using SQLRequest() function of RTSlink DLL&lt;br /&gt;;;==========================================================================&lt;br /&gt;&lt;br /&gt;;;****** Collection definition ******&lt;br /&gt;;;VCHStatistics is a collection that contains a single Object (record) called MyObjects.&lt;br /&gt;;;IsODBCTable is set as YES so that this collection is accessible to external programs&lt;br /&gt;&lt;br /&gt;[Collection: VCHStatistics]&lt;br /&gt;  Object: MyObjects&lt;br /&gt;  IsODBCTable: Yes&lt;br /&gt;&lt;br /&gt;;;******* Object Definition *********&lt;br /&gt;;;Herein we are defining an Object called "MyObjects" which comprises of THREE fields&lt;br /&gt;;;1st: PaymentVouchers - Number of Payment Vouchers&lt;br /&gt;;;2nd: ReceiptVouchers - Number of Receipt Vouchers&lt;br /&gt;;;3rd: AllVouchers - Total Number of Vouchers&lt;br /&gt;&lt;br /&gt;;;The FilterCount function requires a Formula (i.e. condition) as the 3rd parameter.&lt;br /&gt;[Object: MyObjects]&lt;br /&gt;  PaymentVouchers  : $$FilterCount:RTSAllVouchers:HasPaymentVouchers&lt;br /&gt;  ReceiptVouchers  : $$FilterCount:RTSAllVouchers:HasReceiptVouchers&lt;br /&gt;  AllVouchers      : $$FilterCount:RTSAllVouchers:AlwaysTrue&lt;br /&gt;&lt;br /&gt;;;******* Global Formula definition ********&lt;br /&gt;;;$VoucherTypeName refers to the Field NAME of Voucher Collection&lt;br /&gt;&lt;br /&gt;[System: Formula]&lt;br /&gt;  HasPaymentVouchers  : $$IsPayment:$VoucherTypeName&lt;br /&gt;  HasReceiptVouchers  : $$IsReceipt:$VoucherTypeName&lt;br /&gt;  AlwaysTrue          : $$IsWindows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;;******* Collection Definition ********&lt;br /&gt;;;This makes the pre-defined Voucher Collection accessible to external programs&lt;br /&gt;;;and also to the user-defined collection VCHStatistics&lt;br /&gt;;;&lt;br /&gt;[Collection: RTSAllVouchers]&lt;br /&gt;  Type: Voucher&lt;br /&gt;  IsODBCTable: Yes&lt;br /&gt;&lt;br /&gt;;;Notes&lt;br /&gt;;;=====&lt;br /&gt;;; $$IsPayment is a Tally Interenal Function that is used to check whether a Voucher is &lt;br /&gt;;; Payment Voucher or not&lt;br /&gt;;; Syntax      :-  $$IsPayment: &lt;VoucherTypeName&gt;&lt;br /&gt;;; Return Value:-  Logical&lt;br /&gt;;;&lt;br /&gt;;; $$IsReceipt is a Tally Interenal Function that is used to check whether the Voucher is &lt;br /&gt;;; Receipt Voucher or not&lt;br /&gt;;; Syntax      :-  $$IsReceipt: &lt;VoucherTypeName&gt;&lt;br /&gt;;; Return Value:-  Logical&lt;br /&gt;;;&lt;br /&gt;;; $$IsWindows is a Tally Internal Function which checks whether the OS is Windows or not.&lt;br /&gt;;; Syntax      :-  $$IsWindows&lt;br /&gt;;; Return Value:-  Logical&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8529041273380074497?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8529041273380074497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8529041273380074497'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/voucher-statistics-using-ispayment.html' title='Voucher Statistics using $$IsPayment, $$IsReceipt etc'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3297738611539208812</id><published>2007-06-22T10:39:00.000+05:30</published><updated>2007-06-22T12:40:28.846+05:30</updated><title type='text'>Example 26: Using $$FilterCount function</title><content type='html'>FilterCount is a Tally (Internal)  function that allows you to count records of a Collection/table based on a filter condition.&lt;br /&gt;&lt;br /&gt;Syntax:-&lt;br /&gt;$$FilterCount: &amp;lt;CollectionName&amp;gt; : &amp;lt;Condition&amp;gt;&lt;br /&gt;&lt;br /&gt;Return Value: &lt;br /&gt;Numeric&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.rtslink.com/images/tdl26.zip"&gt;TDL26&lt;/a&gt; program.&lt;br /&gt;&lt;br /&gt;This TDL program creates a Collection/table which contains some statistics data. However, this data is not displayed directly in Tally. To view the Collection data, you can use SQLRequest() function of RTSlink DLL. Refer, &lt;a href="http://rtslink.blogspot.com"&gt;rtslink.blogspot.com&lt;/a&gt; for more information.&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;;; PRODUCT: TDL26&lt;br /&gt;;; PRODUCT-ID: cd387cfa-1d7f-4g9a-52f8-ace40a2983be&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;==========================================================================&lt;br /&gt;;;This program defines a Collection called MyStatistics.&lt;br /&gt;;;This collection can be accessed using SQLRequest() function of RTSlink DLL&lt;br /&gt;;;==========================================================================&lt;br /&gt;&lt;br /&gt;;;****** Collection definition ******&lt;br /&gt;;;MyStatistics is a collection that contains a single Object (record) called MyObjects.&lt;br /&gt;;;IsODBCTable is set as YES so that this collection is accessible to external programs&lt;br /&gt;&lt;br /&gt;[Collection: MyStatistics]&lt;br /&gt;  Object: MyObjects&lt;br /&gt;  IsODBCTable: Yes&lt;br /&gt;&lt;br /&gt;;;******* Object Definition *********&lt;br /&gt;;;Herein we are defining an Object called "MyObjects" which comprises of THREE fields&lt;br /&gt;;;1st: DebtorsLedgers - Number of Ledgers falling under group Sundry Debtors&lt;br /&gt;;;2nd: CreditorsLedgers - Number of Ledgers falling under group Sundry Creditors&lt;br /&gt;;;3rd: AllLedgers - Total Number of Ledgers &lt;br /&gt;&lt;br /&gt;;;The FilterCount function requires a Formula (i.e. condition) as the 3rd parameter.&lt;br /&gt;;;which is defined below&lt;br /&gt;[Object: MyObjects]&lt;br /&gt;  DebtorsLedgers  : $$FilterCount:Ledger:HasSundryDebtors&lt;br /&gt;  CreditorsLedgers: $$FilterCount:Ledger:HasSundryCreditors&lt;br /&gt;  AllLedgers      : $$FilterCount:Ledger:AlwaysTrue&lt;br /&gt;&lt;br /&gt;;;******* Global Formula definition ********&lt;br /&gt;;;$Name refers to the Field NAME of Ledger Collection&lt;br /&gt;&lt;br /&gt;[System: Formula]&lt;br /&gt;  HasSundryDebtors  : $$IsLedOfGrp:$Name:$$GroupSundryDebtors&lt;br /&gt;  HasSundryCreditors: $$IsLedOfGrp:$Name:$$GroupSundryCreditors&lt;br /&gt;  AlwaysTrue        : $$IsWindows&lt;br /&gt;&lt;br /&gt;;;Notes&lt;br /&gt;;;=====&lt;br /&gt;;; $$IsLedOfGroup is a Tally Interenal Function that is used to check whether a Ledger falls under a &lt;br /&gt;;; specific Group or not.&lt;br /&gt;;; Syntax      :-  $$IsLedOfGroup: &amp;lt;LedgerName&amp;gt;: &amp;lt;GroupName&amp;gt;&lt;br /&gt;;; Return Value:-  Logical&lt;br /&gt;;;&lt;br /&gt;;; $$IsWindows is a Tally Internal Function which checks whether the OS is Windows or not.&lt;br /&gt;;; Syntax      :-  $$IsWindows&lt;br /&gt;;; Return Value:-  Logical&lt;br /&gt;;;&lt;br /&gt;;; $$GroupSundryDebtors is a Tally Internal Function &lt;br /&gt;;; Syntax      :-  $$GroupSundryDebtors&lt;br /&gt;;; Return Value:-  String: The Group-Name for pre-defined Tally Group "Sundry Debtors"&lt;br /&gt;;;&lt;br /&gt;;; $$GroupSundryCreditors is a Tally Internal Function &lt;br /&gt;;; Syntax      :-  $$GroupSundryCreditors&lt;br /&gt;;; Return Value:-  String: The Group-Name for pre-defined Tally Group "Sundry Creditors"&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3297738611539208812?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3297738611539208812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3297738611539208812'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/example-26-using-filtercount-function.html' title='Example 26: Using $$FilterCount function'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2645693484252213760</id><published>2007-06-18T17:47:00.000+05:30</published><updated>2007-06-18T18:21:20.916+05:30</updated><title type='text'>Example 25: Adding Voucher-Creation-Date/Time</title><content type='html'>This program TDL25 adds FOUR (invisible) fields to the Voucher entry screen. The fields are as follows:-&lt;br /&gt;a) Voucher-Creation-Date&lt;br /&gt;b) Voucher-Creation-Time&lt;br /&gt;c) Voucher-Alteration-Date&lt;br /&gt;d) Voucher-Alteration-Time &lt;br /&gt;&lt;br /&gt;The basic idea of adding these fields is to keep track of "Vouchers that have been added or modified during a specific period ?"&lt;br /&gt;&lt;br /&gt;Create a plain text file that contains the following Code. For those who have joined now, please note that you can use plain TXT files to customize Tally even without Tally Developer. For more information, refer post &lt;a href="http://www.rtslink.com/How-to-Customize-Tally-using-Text-files.htm"&gt;"How to Customize Tally Software using TXT files ?"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CODE&lt;/span&gt;&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;;; PRODUCT: &lt;Enter the product name&gt;&lt;br /&gt;;; PRODUCT-ID: cc307cfa-1d7f-4f9a-92f8-ace40a2943be&lt;br /&gt;;; AUTHOR: Shweta Computers&lt;br /&gt;;;=====================================================================&lt;br /&gt;&lt;br /&gt;;;UDF's declaration. New fields declaration&lt;br /&gt;;;=====================================================================&lt;br /&gt;[System: UDF]&lt;br /&gt;  fldVCHCreationDate  : Date  : 1025&lt;br /&gt;  fldVCHCreationTime  : String: 1026&lt;br /&gt;  fldVCHAlterationDate: Date  : 1027&lt;br /&gt;  fldVCHAlterationTime: String: 1028&lt;br /&gt;&lt;br /&gt;;;This will expose the newly added fields through Voucher Object so &lt;br /&gt;;;that it can be accessed elsewhere&lt;br /&gt;;;=====================================================================&lt;br /&gt;[#Object: Voucher]&lt;br /&gt;  VCHCreationDate  : $fldVCHCreationDate&lt;br /&gt;  VCHCreationTime  : $fldVCHCreationTime&lt;br /&gt;  VCHAlterationDate: $fldVCHAlterationDate&lt;br /&gt;  VCHAlterationTime: $fldVCHAlterationTime&lt;br /&gt;&lt;br /&gt;;;The Voucher Object is modified to include optional definitions&lt;br /&gt;;;a) In case of Voucher Creation, the prtVchNarrationInCreateMode replaces &lt;br /&gt;;;   the existing VoucherNarration Part definition&lt;br /&gt;;;b) In case of Voucher Altertion, the prtVchNarrationInAlterMode replaces &lt;br /&gt;;;   the existing VoucherNarration Part definition&lt;br /&gt;;;=====================================================================&lt;br /&gt;[#Part: VCH Narration]&lt;br /&gt;  Option: prtVCHNarrationInCreateMode : $$InCreateMode AND NOT $$InDuplicateMode&lt;br /&gt;  Option: prtVCHNarrationInAlterMode  : $$InAlterMode  OR $$InDuplicateMode&lt;br /&gt;&lt;br /&gt;;;Optional Part definition&lt;br /&gt;[!Part: prtVCHNarrationInCreateMode]&lt;br /&gt;;;  Local: Line : VCH NarrPrompt: Add: Fields: Short Prompt&lt;br /&gt;;;  Local: Field: Short Prompt  : Set as: "Create mode: "&lt;br /&gt;  Add: Line: LnVCHNarrationInCreateMode&lt;br /&gt;&lt;br /&gt;;;Line definition &lt;br /&gt;[Line: lnVCHNarrationInCreateMode]&lt;br /&gt;  Add  : Fields: VCHCreationDate&lt;br /&gt;  Add  : Fields: VCHCreationTime  &lt;br /&gt;&lt;br /&gt;;;Optional Part definition&lt;br /&gt;[!Part: prtVCHNarrationInAlterMode]&lt;br /&gt;;;  Local: Line : VCH NarrPrompt: Add: Fields: Short Prompt&lt;br /&gt;;;  Local: Field: Short Prompt  : Set as: "Alter mode: "&lt;br /&gt;  Add: Line: LnVCHNarrationInAlterMode&lt;br /&gt;&lt;br /&gt;;;Line definition &lt;br /&gt;[Line: lnVCHNarrationInAlterMode]&lt;br /&gt;  Add  : Fields: VCHAlterationDate&lt;br /&gt;  Add  : Fields: VCHAlterationTime  &lt;br /&gt;&lt;br /&gt;;;Field definition for Voucher Creation Date&lt;br /&gt;;;=====================================================================&lt;br /&gt;[Field: VCHCreationDate]&lt;br /&gt;  Use: Short Date Field&lt;br /&gt;  Storage: fldVCHCreationDate&lt;br /&gt;  Set as: $$MachineDate&lt;br /&gt;  Set Always: Yes &lt;br /&gt;  ;;Try changing Invisible to NO&lt;br /&gt;  Invisible: Yes&lt;br /&gt;&lt;br /&gt;;;Field definition for Voucher Creation Time&lt;br /&gt;;;=====================================================================&lt;br /&gt;[Field: VCHCreationTime]&lt;br /&gt;  Use: Short Name Field&lt;br /&gt;  Storage: fldVCHCreationTime&lt;br /&gt;  Set as: $$MachineTime&lt;br /&gt;  Set Always: Yes&lt;br /&gt;  ;;Try changing Invisible to NO&lt;br /&gt;  Invisible: Yes&lt;br /&gt;&lt;br /&gt;;;Field definition for Voucher Alteration Date&lt;br /&gt;;;=====================================================================&lt;br /&gt;[Field: VCHAlterationDate]&lt;br /&gt;  Use: Short Date Field&lt;br /&gt;  Storage: fldVCHAlterationDate&lt;br /&gt;&lt;br /&gt;  ;;This will forcefully store the $$MachineDate (i.e. CurrentDate in field)&lt;br /&gt;  Type: Date: Forced&lt;br /&gt;&lt;br /&gt;  Set as: $$MachineDate&lt;br /&gt;  Set Always: Yes&lt;br /&gt;&lt;br /&gt;  ;;Try changing Invisible to NO&lt;br /&gt;  Invisible: Yes&lt;br /&gt;&lt;br /&gt;;;Field definition for Voucher Alteration Time&lt;br /&gt;;;=====================================================================&lt;br /&gt;[Field: VCHAlterationTime]&lt;br /&gt;  Use: Short Name Field&lt;br /&gt;  Storage: fldVCHAlterationTime&lt;br /&gt;&lt;br /&gt;  ;;This will forcefully store the $$MachineTime (i.e. CurrentTime in field)&lt;br /&gt;  Type: String: Forced&lt;br /&gt;&lt;br /&gt;  Set as: $$MachineTime&lt;br /&gt;  Set Always: Yes&lt;br /&gt;&lt;br /&gt;  ;;Try changing Invisible to NO&lt;br /&gt;  Invisible: Yes&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Download the &lt;a href="http://www.rtslink.com/images/tdl25.zip"&gt;TDL25&lt;/a&gt; sample program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2645693484252213760?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2645693484252213760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2645693484252213760'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/example-25-adding-voucher-creation.html' title='Example 25: Adding Voucher-Creation-Date/Time'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6060681296515601822</id><published>2007-06-15T06:09:00.000+05:30</published><updated>2007-06-15T06:10:40.643+05:30</updated><title type='text'>TDL programs 16 to 20</title><content type='html'>TDL programs 16 to 20 have been re-checked/verified for Tally 9/Tally 7.2.&lt;br /&gt;&lt;br /&gt;You can now use/or modify these programs even without having Tally Developer software.&lt;br /&gt;&lt;br /&gt;For more information on using TXT files to customize Tally or to download these programs, visit &lt;a href="http://www.rtslink.com/How-to-Customize-Tally-using-Text-files.htm"&gt;"How to use TXT files to customize Tally Accounting Software"&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6060681296515601822?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6060681296515601822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6060681296515601822'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/tdl-programs-16-to-20.html' title='TDL programs 16 to 20'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4687780197067822090</id><published>2007-06-09T11:05:00.000+05:30</published><updated>2007-06-09T11:08:19.345+05:30</updated><title type='text'>TDL programs 11 to 15</title><content type='html'>TDL programs 11 to 15 have been re-checked/verified for Tally 9/Tally 7.2.&lt;br /&gt;&lt;br /&gt;You can now use/or modify these programs even without having Tally Developer software. &lt;br /&gt;&lt;br /&gt;For more information on using TXT files to customize Tally or to download these programs, visit &lt;a href="http://www.rtslink.com/How-to-Customize-Tally-using-Text-files.htm"&gt;"How to use TXT files to customize Tally Accounting Software"&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4687780197067822090?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4687780197067822090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4687780197067822090'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/tdl-programs-11-to-15.html' title='TDL programs 11 to 15'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4084012458956436442</id><published>2007-06-08T06:20:00.000+05:30</published><updated>2007-06-08T06:29:04.783+05:30</updated><title type='text'>TDL programs 6 to 10</title><content type='html'>TDL programs 6 to 10 have been re-checked/verified for Tally 9/Tally 7.2.&lt;br /&gt;&lt;br /&gt;You can now use/or modify these programs without having Tally Developer. For information or to download these programs, visit &lt;a href="http://www.rtslink.com/How-to-Customize-Tally-using-Text-files.htm"&gt;"How to use TXT files to customize Tally Accounting Software"&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4084012458956436442?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4084012458956436442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4084012458956436442'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/tdl-programs-6-to-10.html' title='TDL programs 6 to 10'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7112293236392677856</id><published>2007-06-07T06:53:00.000+05:30</published><updated>2007-06-07T06:59:05.172+05:30</updated><title type='text'>How to Customize Tally Accounting Software using TXT files ?</title><content type='html'>Yes. You can customize Tally Accounting Software (Tally 7.2 / Tally 9) using TXT files. No need of Tally Developer for compiling files. &lt;br /&gt;&lt;br /&gt;For more information visit &lt;a href="http://www.rtslink.com/How-to-Customize-Tally-using-Text-files.htm"&gt;How to customize Tally Accounting Software&lt;/a&gt; at www.rtslink.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7112293236392677856?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7112293236392677856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7112293236392677856'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/06/how-to-customize-tally-accounting.html' title='How to Customize Tally Accounting Software using TXT files ?'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8059816959891063989</id><published>2007-05-25T17:28:00.000+05:30</published><updated>2007-05-25T17:34:18.723+05:30</updated><title type='text'>Tally 7.2 Release 1 - UDF's not working</title><content type='html'>Many of the sample programs that use UDFs (User-defined fields) do not work in Tally 7.2 Release 1 as there are bugs in Tally 7.2 Release 1.&lt;br /&gt;&lt;br /&gt;This has been confirmed by Tally Solutions, Bangalore the email text is reproduced herewith:-&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(51, 51, 51);" size="2"&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font style="font-family: courier new; color: rgb(51, 51, 51);" size="2"&gt;"This is with reference to your below email, regarding code is not working in Tally 7.2 Release 1&lt;/font&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 51);"&gt;&lt;font size="2"&gt;Please suggest the customer to upgrade the Tally 7.2 Release 3.13, if the customer is using hard lock then please suggest the customer to use Tally 7.2 Release 1.42&lt;/font&gt;&lt;/p&gt; &lt;font style="font-family: courier new; color: rgb(51, 51, 51);" size="2"&gt;Please note : Some bugs which was there in Tally 7.2 Release 1 that's has been rectified in Tally 7.2 Release 1.42 to 3.13"&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8059816959891063989?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8059816959891063989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8059816959891063989'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/05/tally-72-release-1-udfs-not-working.html' title='Tally 7.2 Release 1 - UDF&apos;s not working'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2820428417118596595</id><published>2007-04-09T06:55:00.000+05:30</published><updated>2007-04-09T07:03:29.099+05:30</updated><title type='text'>Correction in TDL9v24  file (for Tally 9)</title><content type='html'>Corrections have been made in the "Salesman Master" (i.e. tdl9v24.tcp for Tally 9) which are as follows:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tally 9 TDL code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[#Part: CMP AccFeat Left]&lt;br /&gt;.... rest of the code&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tally 7.2 TDL code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[#Part: CMP Advanced Features]&lt;br /&gt;.... rest of the code&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl24.zip"&gt;Download&lt;/a&gt; the tdl9v24.tcp and tdl24.tcp file with source-code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2820428417118596595?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2820428417118596595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2820428417118596595'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/04/correction-in-tdl9v24-file-for-tally-9.html' title='Correction in TDL9v24  file (for Tally 9)'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-692423347931165115</id><published>2007-03-20T08:42:00.000+05:30</published><updated>2007-03-20T08:46:40.215+05:30</updated><title type='text'>Creating Masters in Tally using TDL: Part 1</title><content type='html'>View the article &lt;a href="http://www.rtslink.com/TallyCreatingMastersPart1.htm"&gt;Creating Masters in Tally using TDL: Part 1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-692423347931165115?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/692423347931165115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/692423347931165115'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/creating-masters-in-tally-using-tdl.html' title='Creating Masters in Tally using TDL: Part 1'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-4825279367883723731</id><published>2007-03-17T01:04:00.000+05:30</published><updated>2007-03-17T01:10:47.226+05:30</updated><title type='text'>Example 23: 'Discount Amount' field  instead of 'Discount Percentage' in Sales entry</title><content type='html'>This program modifies the Sales Voucher entry screen to accept "Discount" in &lt;strong&gt;Amount&lt;/strong&gt; instead of &lt;strong&gt;Percentage&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/tdl/tdl23.htm" target="_blank"&gt;View&lt;/a&gt; the TDL source-code.&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl23.zip"&gt;Download&lt;/a&gt; source-code (zip) file.&lt;br/&gt;&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-4825279367883723731?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4825279367883723731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/4825279367883723731'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/example-23-discount-amount-field.html' title='Example 23: &apos;Discount Amount&apos; field  instead of &apos;Discount Percentage&apos; in Sales entry'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2963669313163697202</id><published>2007-03-15T10:16:00.000+05:30</published><updated>2007-03-15T10:31:33.716+05:30</updated><title type='text'>Tally programmers group</title><content type='html'>Join the Tally programmers group and send in your questions/answers relating to Linking your software with Tally, Tally customization and Tally Definition Language (TDL).&lt;br /&gt;&lt;br /&gt;Visit &lt;a href="http://groups.yahoo.com/group/tdlplayground" target="_blank"&gt;Yahoo Tally programmers Group&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2963669313163697202?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2963669313163697202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2963669313163697202'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/tally-programmers-group.html' title='Tally programmers group'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8174494961368735368</id><published>2007-03-11T12:09:00.000+05:30</published><updated>2007-03-11T12:21:06.642+05:30</updated><title type='text'>Recycle-bin for Tally</title><content type='html'>Enables you to retrieve Voucher entries that you may have accidentally deleted in Tally. It is similar to the Windows  recycle-bin and works with Tally 7.2 and Tally 9. The ZIP file contains a readme.txt file which contains steps for configuring Tally.ini in order to use RBIN.TCP file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ZIP file contents&lt;/strong&gt;&lt;br /&gt;RBIN.TCP for Tally 7.2&lt;br /&gt;RBIN9v.TCP for Tally 9&lt;br /&gt;Readme.txt&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/RBIN.ZIP"&gt;Download&lt;/a&gt; Recycle-bin for Tally [Freeware]&lt;br /&gt;&lt;br /&gt;Bugs fixed:&lt;br /&gt;Recycle-bin now works using option "GatewayOfTally - Balance Sheet @Drill down to Voucher level and use Alt+D to delete any Voucher]&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8174494961368735368?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8174494961368735368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8174494961368735368'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/recycle-bin-for-tally.html' title='Recycle-bin for Tally'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6881703125004167139</id><published>2007-03-09T08:04:00.000+05:30</published><updated>2007-03-09T08:08:42.615+05:30</updated><title type='text'>Example 22: Popup-list with pre-defined choices</title><content type='html'>This program shows how you can create a Popup-List with pre-defined choices.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/tdl/tdl22.htm" target="_blank"&gt;View&lt;/a&gt; the TDL source-code.&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl22.zip"&gt;Download&lt;/a&gt; source-code (zip) file.&lt;br/&gt;&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6881703125004167139?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6881703125004167139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6881703125004167139'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/example-22-popup-list-with-pre-defined.html' title='Example 22: Popup-list with pre-defined choices'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8016339976486598425</id><published>2007-03-07T03:28:00.000+05:30</published><updated>2007-03-07T03:30:55.975+05:30</updated><title type='text'>Example 21: Add Cheque Number Field</title><content type='html'>This program adds a field 'ChequeNumber' in the Receipt &amp; Payment Voucher entry screen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl21.zip"&gt;Click here &lt;/a&gt;to download the Example 21 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8016339976486598425?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8016339976486598425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8016339976486598425'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/example-21-add-cheque-number-field.html' title='Example 21: Add Cheque Number Field'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7119056136939988949</id><published>2007-03-05T09:35:00.000+05:30</published><updated>2007-03-05T09:41:16.207+05:30</updated><title type='text'>Example 20: Single UDF Vs Repeat UDF</title><content type='html'>Earlier in Example 19, we have seen how to add a UDF (Single UDF) in the Ledger Master. Now, we shall see how to add a REPEAT UDF. &lt;br /&gt;&lt;br /&gt;A Single UDF allows you to enter ONE value, whereas a Repeat UDF allows you to enter several/multiple VALUES. &lt;br /&gt;&lt;br /&gt;Syntax:-&lt;br /&gt;&amp;lt;FieldName&amp;gt; : &amp;lt;FieldType&amp;gt; : &amp;lt;Index&amp;gt; : &amp;lt;RepeatYesNo&amp;gt;&lt;br /&gt;&lt;br /&gt;Example:-&lt;br /&gt;[System: UDF]&lt;br /&gt;    MyRepeatUDF: String: 1000: Yes&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl20.zip"&gt;Click here &lt;/a&gt;to download the Example 20 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7119056136939988949?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7119056136939988949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7119056136939988949'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/example-20-single-udf-vs-repeat-udf.html' title='Example 20: Single UDF Vs Repeat UDF'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8665737689256563601</id><published>2007-03-03T07:33:00.000+05:30</published><updated>2007-03-03T08:45:46.453+05:30</updated><title type='text'>Example 19: Adding field in the Ledger Master</title><content type='html'>This TDL program adds a field (named MyField) in the Ledger Master. This new field appears in the section "Mailing and Related details" when you create Ledger under "Sundry Debtors" or "Sundry Creditors" group.&lt;br /&gt;&lt;br /&gt;In case, if you require any other field in Ledger Master, you can send in you Queries to &lt;a href="mailto:tdlplayground@rtslink.com?subject=LedgerMasterField"&gt;tdlplayground@rtslink.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl19.zip"&gt;Click here &lt;/a&gt;to download the Example 19 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8665737689256563601?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8665737689256563601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8665737689256563601'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/03/example-19-adding-field-in-ledger.html' title='Example 19: Adding field in the Ledger Master'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3193955939662864541</id><published>2007-02-28T07:22:00.000+05:30</published><updated>2007-03-03T08:46:12.771+05:30</updated><title type='text'>Example 18: Trial Balance - A Top-to-Bottom view</title><content type='html'>This is a modified version of our earlier Trial Balance TDL program. It shows how you can use 'Collection' defintion and the 'ChildOf' attribute to display the Trial-balance with Top-to-bottom (drill-down) feature.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl18.zip"&gt;Click here &lt;/a&gt;to download the Example 18 compiled file and the source-code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3193955939662864541?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3193955939662864541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3193955939662864541'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-18-trial-balance-top-to-bottom.html' title='Example 18: Trial Balance - A Top-to-Bottom view'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3847168311475125558</id><published>2007-02-26T03:20:00.000+05:30</published><updated>2007-03-03T08:47:13.492+05:30</updated><title type='text'>Example 17: Using Ledger Object to display Ledger help-list</title><content type='html'>This program shows how you can display Ledger Name and Closing balances in HELP facility in a your TDL forms.&lt;br /&gt;&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;;; Modify the "Gateway of Tally" menu and Add a new option "Ledger Help"&lt;br /&gt;[#Menu: GatewayOfTally]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Please note that the actions used here is CREATE and not DISPLAY as &lt;br /&gt;    ;;User-input has to be enabled&lt;br /&gt;    Add: Item : Ledger Help : Create : rptLedger&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Report definition&lt;br /&gt;[Report: rptLedger]&lt;br /&gt;    Form: frmLedger&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Form definition&lt;br /&gt;[Form: frmLedger]&lt;br /&gt;    Part: prtMyPart1&lt;br /&gt;    Width: 70% screen&lt;br /&gt;    Height: 50% screen&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Part definition&lt;br /&gt;[Part: prtMyPart1]&lt;br /&gt;    Line: lnMyLine1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Line definition&lt;br /&gt;[Line: lnMyLine1]&lt;br /&gt;    ;;Short Prompt is a field defined in default TDL. Hence, it is just added to this line&lt;br /&gt;    ;;but is not defined in this TDL. &lt;br /&gt;    Fields: Short Prompt, fldLedgerName&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Modifies the field 'Short Prompt' locally&lt;br /&gt;    Local: Field: Short Prompt: Set As: "Ledger Name:"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Field definition&lt;br /&gt;[Field: fldLedgerName]&lt;/p&gt;&lt;br /&gt;    &lt;br /&gt;    ;;Inherit from the default TDL field 'Name Field'&lt;br /&gt;    Use: Name Field&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Field type&lt;br /&gt;    Type: String&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This displays the Ledger help-list in a Table format&lt;br /&gt;    Table: My Ledgers&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Display the Help-list Table always&lt;br /&gt;    ShowTable: Always&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Variable to hold user-input&lt;br /&gt;    Variable: varLedgerName&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Define a Collection named 'My Ledgers' which is used in the 'fldLedgerName' field &lt;br /&gt;;;definition wherein the Table attribute displays the Collection data.&lt;br /&gt;[Collection: My Ledgers]&lt;/p&gt;&lt;br /&gt;    &lt;br /&gt;    ;;Collection is based on Internal Object LEDGER which is defined in default TDL&lt;br /&gt;    Type: Ledger&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Specify the format/width of Columns required in Help-List&lt;br /&gt;    Format: $Name, 30&lt;br /&gt;    Format: $ClosingBalance,15&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;This will display Phone Number&lt;br /&gt;    ;;Format: $LedgerPhone&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Local Variable definiton&lt;br /&gt;[Variable: varLedgerName]&lt;br /&gt;    Type: String&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl17.zip"&gt;Click here &lt;/a&gt;to download the Example 17 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3847168311475125558?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3847168311475125558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3847168311475125558'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-17-using-ledger-object-to.html' title='Example 17: Using Ledger Object to display Ledger help-list'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3928774046584230612</id><published>2007-02-26T03:12:00.000+05:30</published><updated>2007-02-26T03:20:30.100+05:30</updated><title type='text'>Corrections</title><content type='html'>1) TDL-0014 is now available for download.&lt;br /&gt;2) Group Master (GROUP.ZIP) and Ledger Master (LEDGER.ZIP) files are now available for download from FTP site. Due to the large file-size (appx 2MB each), there was problem sending these files by email to certain email accounts. There shouldn't be any problems now as you can get it via FTP directly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3928774046584230612?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3928774046584230612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3928774046584230612'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/corrections.html' title='Corrections'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2781634524898242919</id><published>2007-02-24T09:07:00.000+05:30</published><updated>2007-03-03T08:47:35.185+05:30</updated><title type='text'>Example 16: Fetch Address of Sundry Debtors/Creditors</title><content type='html'>This program displays the addresses of Ledgers created under "Sundry Debtors" and "Sundry Creditors" Group. It shows how you can retreive values of Internal Object/Table Ledger. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl16.zip"&gt;Click here &lt;/a&gt;to download the Example 16 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2781634524898242919?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2781634524898242919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2781634524898242919'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-16-fetch-address-of-sundry.html' title='Example 16: Fetch Address of Sundry Debtors/Creditors'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2641332651445416753</id><published>2007-02-23T07:36:00.000+05:30</published><updated>2007-03-03T08:48:06.075+05:30</updated><title type='text'>Example 15: Add Salesman field in "Sales Voucher" entry screen</title><content type='html'>&lt;font face="Arial" color="#000000"&gt;&lt;strong&gt;Objective:-&lt;/strong&gt;&lt;br /&gt;Add a Salesman field in the default Voucher Entry screen. This field should appear &lt;br /&gt;only when the Voucher type is Sales&lt;/font&gt;&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;    &lt;br /&gt;;;User-defined field definition&lt;br /&gt;[System: UDF]&lt;br /&gt;    ;;Syntax: &amp;lt;Field&amp;gt;: &amp;lt;FieldType&amp;gt;: &amp;lt;Index&amp;gt;&lt;br /&gt;    ;;&amp;lt;Index&amp;gt; can be any value between 1000 to 9000. It relates to the Index order&lt;br /&gt;    ;;while arranging fields in a Report. This is not relevant at present, so we&lt;br /&gt;    ;; shall use any value between 1000 to 9000.&lt;br /&gt;    Salesman: String: 1001&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;This Modifies the default Voucher Entry screen. You need to mention which part of &lt;br /&gt;;;the Voucher entry screen is to be modified. "EI BaseInfo" is a Part defined &lt;br /&gt;;;in the default Tally TDL&lt;br /&gt;;;===================================================================================&lt;br /&gt;&lt;br /&gt;[#Part: EI BaseInfo]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;; IF the VoucherType is Sales, then the Optional Part EI SALESMAN is activated&lt;br /&gt;    ;; $$IsSales is an Internal Function defined in the default TDL&lt;br /&gt;    ;; ##SVVoucherType is a Global Variable defined in the default TDL&lt;br /&gt;    ;;=============================================================================&lt;br /&gt;    Option: EI Salesman: $$IsSales:##SVVoucherType&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;This is how we define the Optional Part. &lt;br /&gt;[!Part: EI Salesman]&lt;br /&gt;    Add: Line: lnSalesman&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: lnSalesman]&lt;br /&gt;    Add: Field: lblSalesman&lt;br /&gt;    Add: Field: fldSalesman&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;This is the label (text)&lt;br /&gt;[Field: lblSalesman]&lt;br /&gt;    Info: "Salesman: "&lt;br /&gt;    Width: 15&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;This is where the User will input the "Salesman"&lt;br /&gt;[Field: fldSalesman]&lt;br /&gt;    Use: Short Name Field&lt;br /&gt;    Storage: Salesman&lt;br /&gt;    Width: 20&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl15.zip"&gt;Click here &lt;/a&gt;to download the Example 15 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2641332651445416753?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2641332651445416753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2641332651445416753'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-15-add-salesman-field-in-sales.html' title='Example 15: Add Salesman field in &quot;Sales Voucher&quot; entry screen'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6086477887082607208</id><published>2007-02-22T08:50:00.000+05:30</published><updated>2007-03-03T08:48:30.937+05:30</updated><title type='text'>Example 14: Colorful Trial Balance</title><content type='html'>Example 14 Illustrates how you can use the "Option" keyword to display different colors in our sample Trial Balance. &lt;br /&gt;&lt;br /&gt;This example is an extension to Example 12a. It display Ledgers in RED color if the Ledger balance is  greater than 1000.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl14.zip"&gt;Click here &lt;/a&gt;to download the Example 14 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6086477887082607208?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6086477887082607208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6086477887082607208'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-14-colorful-trial-balance.html' title='Example 14: Colorful Trial Balance'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1207026494727852098</id><published>2007-02-20T02:27:00.000+05:30</published><updated>2007-03-03T08:49:04.180+05:30</updated><title type='text'>Example 12a: Attributes ChildOf; BelongsTo; Filter</title><content type='html'>&lt;strong&gt;ChildOf attribute&lt;/strong&gt;&lt;br /&gt;The ChildOf attribute is used with Collections. It controls how the Collection is displayed. Example:-&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Collection: My Collection]&lt;br /&gt;    Type: Ledger&lt;br /&gt;    ChildOf: $$GroupSundryDebtors&lt;/pre&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The above TDL code returns all the Ledgers directly falling under Group "Sundry Debtors".&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BelongsTo attribute&lt;/strong&gt;&lt;br /&gt;The BelongsTo attribute returns all the objects directly or indirectly falling under the specified Collection. Example:-&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Collection: My Collection]&lt;br /&gt;    Type: Ledger&lt;br /&gt;    ChildOf: $$GroupSundryDebtors&lt;br /&gt;    BelongsTo: Yes&lt;/pre&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The above TDL code returns all the Ledgers falling under Group "Sundry Debtors" and its sub-groups.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Filter attribute&lt;/strong&gt;&lt;br /&gt;The Filter attribute is used to set a filter on the Collection. Example:-&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Collection: My Collection]&lt;br /&gt;    Type: Ledger&lt;br /&gt;    ChildOf: $$GroupSundryDebtors&lt;br /&gt;    BelongsTo: Yes&lt;br /&gt;    Filter: MyFilter&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[System: Formula]&lt;br /&gt;    MyFilter: $ClosingBalance &gt; 0&lt;/pre&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The above TDL code returns all the Ledgers falling under Group "Sundry Debtors" and its sub-groups where the ClosingBalance is greater than Zero.&lt;br /&gt;&lt;br /&gt;A TDL program illustrating the above attributes is given herewith for your reference. &lt;a href="http://www.rtslink.com/images/tdl12a.zip"&gt;Click here &lt;/a&gt;to download the Example 12a compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1207026494727852098?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1207026494727852098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1207026494727852098'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-12a-attributes-childof.html' title='Example 12a: Attributes ChildOf; BelongsTo; Filter'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1698412977588129749</id><published>2007-02-19T05:15:00.000+05:30</published><updated>2007-03-03T08:49:35.870+05:30</updated><title type='text'>Example 12: More on Collections</title><content type='html'>This program creates a Collection of Objects which store Employee data viz (Name; Birthdate etc). It illustrates how you can use User-Defined-Collections and display the data in Report. Also uses TDL Internal date functions viz a) $$YearofDate b) $$ MonthofDate c) $$ DayofDate&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl12.zip"&gt;Click here &lt;/a&gt;to download the Example 12 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1698412977588129749?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1698412977588129749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1698412977588129749'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-12-more-on-collections.html' title='Example 12: More on Collections'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-57540997641655071</id><published>2007-02-17T01:27:00.000+05:30</published><updated>2007-03-03T08:50:06.093+05:30</updated><title type='text'>Example 11: Objects &amp; Collections</title><content type='html'>&lt;strong&gt;OBJECTS&lt;/strong&gt;&lt;br /&gt;Objects in TDL are classified as &lt;strong&gt;Internal Objects&lt;/strong&gt; and &lt;strong&gt;External Objects&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Internal Objects&lt;/strong&gt;&lt;br /&gt;There are several pre-defined Internal Objects in TDL viz. &lt;strong&gt;Company, Group, Ledger, Stock Group, Stock Item, Voucher, Voucher Type&lt;/strong&gt; etc.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;External Objects or User-defined Objects&lt;/strong&gt;&lt;br /&gt;You can define your own Objects in TDL. Example:-&lt;br /&gt;&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Object: Contact1]&lt;br /&gt;    Name: "Dinesh Shukla"&lt;br /&gt;    Email: abc@mycompany.com&lt;br /&gt;    Phone: "9987654321"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Object: Contact2]&lt;br /&gt;    Name: "Aakash Choudhary"&lt;br /&gt;    Email: xyz@mycompany.com&lt;br /&gt;    Phone: "123456"&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;We shall be using Internal and External Objects quite frequently in the succeeding sections of this tutorial.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Collections&lt;/strong&gt;&lt;br /&gt;A Group of Objects is referred as a Collection. You can create a collection of the Objects as follows:-&lt;br /&gt;&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Collection: My Collection]&lt;br /&gt;    Object: Contact1&lt;br /&gt;    Object: Contact2&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;A Program illustrating the use of Objects and Collection is provided for your reference. &lt;a href="http://www.rtslink.com/images/tdl11.zip"&gt;Click here &lt;/a&gt;to download the Example 11 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-57540997641655071?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/57540997641655071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/57540997641655071'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-11-objects-collections.html' title='Example 11: Objects &amp; Collections'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5306168226201491602</id><published>2007-02-17T01:08:00.000+05:30</published><updated>2007-02-17T01:59:57.957+05:30</updated><title type='text'>Retrieving Value of Internal Objects &amp; Internal Functions</title><content type='html'>&lt;strong&gt;Symbol '$'&lt;/strong&gt;&lt;br /&gt;The symbol '$' is used to retrieve the value of Internal Objects. For example, '$' can be used to fetch the &lt;strong&gt;ClosingBalance&lt;/strong&gt; or &lt;strong&gt;Name&lt;/strong&gt; field-value of the Internal Object &lt;strong&gt;LEDGER&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Field: My Field]&lt;br /&gt;    Set as: $Name&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Symbol '$$'&lt;/strong&gt;&lt;br /&gt;The symbol '$$' is used to retrieve the Function Values in TDL. For example, '$$' can be used to fetch the &lt;strong&gt;Date&lt;/strong&gt; as shown below.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Field: My Date]&lt;br /&gt;    Set as: $$MachineDate&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;There are several Internal functions in TDL which shall be discussed in the forth coming sessions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5306168226201491602?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5306168226201491602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5306168226201491602'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/retrieving-value-of-internal-objects.html' title='Retrieving Value of Internal Objects &amp; Internal Functions'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8825813759948786258</id><published>2007-02-17T00:35:00.000+05:30</published><updated>2007-02-17T02:01:02.316+05:30</updated><title type='text'>Local and Global Formulae</title><content type='html'>A Formulae is like a macro used in other programming languages. It allows you to define a NAME for a value.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Local Formulae&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[Field: My Field]&lt;br /&gt;    Set as: @Company&lt;br /&gt;    Company: "ABC PVT LTD"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;In the above field definition, the "Set as" attribute is used to set the value of the field using a local formulae "Company" To access local formulae, &lt;strong&gt;"@"&lt;/strong&gt; symbol is used.&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Global Formulae&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[System: Formula]&lt;br /&gt;    MyBackgroundColor: "Yellow"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: MyField]&lt;br /&gt;    Set as: "www.tdlplayground.blogspot.com"&lt;br /&gt;    Background: @@MyBackgroundColor&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;When you require a formula in more than one fields, you need to create a Global formula. To access Global formula value, the symboll &lt;strong&gt;"@@"&lt;/strong&gt; is used.&lt;/font&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8825813759948786258?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8825813759948786258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8825813759948786258'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/local-and-global-formulae.html' title='Local and Global Formulae'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-338395676649318609</id><published>2007-02-15T23:04:00.000+05:30</published><updated>2007-03-03T11:29:00.465+05:30</updated><title type='text'>Example 10: UDFs</title><content type='html'>&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;You can add new fields in any Master entry screen or Voucher entry screen by creating UDFs (User-defined Fields). UDFs can be of type String, Number, Date, Logical, Amount, Quantity or Rate.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Syntax:-&lt;/strong&gt;&lt;br /&gt;[System: UDF]&lt;br /&gt;    &amp;lt;UDF Name&amp;gt;: &amp;lt;UDF Type&amp;gt;: &amp;lt;Index&amp;gt;: &amp;lt;Is Repeatable&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:-&lt;/strong&gt;&lt;br /&gt;[System: UDF]&lt;br /&gt;    MyUDF: String: 1000&lt;/font&gt;&lt;/pre&gt;Notes:-&lt;br /&gt;1) UDFs are to be defined at the System level.&lt;br /&gt;2) Each UDF must be given a Unique Name.&lt;br /&gt;3) As Index number is to be provided for evey UDF which must be between 1 to 9999.&lt;br /&gt;4) Is Repeatable specifies whether the UDF holds single or multiple values. By default, it is NO, meaning the UDF can store a single value only.&lt;br /&gt;&lt;br /&gt;Example:- Adding a new field in the Ledger Master&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;;;UDF definition&lt;br /&gt;[System: UDF]&lt;br /&gt;    MyUDF: String: 1000&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Modify the Ledger Master entry screen and add a new line&lt;br /&gt;[#Part: Led Other Details]&lt;br /&gt;    Add: Line: MyLine&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: My Line]&lt;br /&gt;    Field: Short Prompt,My Field&lt;br /&gt;    ;;Display Text &lt;br /&gt;    Local: Field: Short Prompt: Set as: "UDF field: "&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field]&lt;br /&gt;    Use: Short Name Field&lt;br /&gt;    Storage: MyUDF&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl10.zip"&gt;Click here &lt;/a&gt;to download the Example 10 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-338395676649318609?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/338395676649318609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/338395676649318609'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-10-udfs.html' title='Example 10: UDFs'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1031165776058677295</id><published>2007-02-14T02:21:00.000+05:30</published><updated>2007-03-03T11:29:25.697+05:30</updated><title type='text'>Example 9: The power of Inheritance</title><content type='html'>The keyword "USE" allows you to inherit from other Objects. Example:-&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;&lt;br /&gt;;;This defines a style named "MyStyleBold"&lt;br /&gt;[Style: MyStyleBold]&lt;br /&gt;    Font: Verdana&lt;br /&gt;    Bold: Yes&lt;br /&gt;    Height: 8&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;This defines a style named "MyStyleBoldLarge" that inherits from style "MyStyleBold"&lt;br /&gt;[Style: MyStyleBoldLarge]&lt;br /&gt;    Use: MyStyleBold&lt;br /&gt;    Height: 15&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You may define Objects that inherit from any other User-defined Object or even from the default TDL Objects. In simple words, you can define a report which inherits from the default TDL report "Balance Sheet" and then you may customize it as per your requirement.    &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl9.zip"&gt;Click here &lt;/a&gt;to download the Example 9 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1031165776058677295?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1031165776058677295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1031165776058677295'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-9-power-of-inheritance.html' title='Example 9: The power of Inheritance'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5841604080475474939</id><published>2007-02-14T01:21:00.000+05:30</published><updated>2007-03-03T11:30:02.399+05:30</updated><title type='text'>Example 8: Display a small dialog-box and accept user-input</title><content type='html'>This programs displays a small dialog-box and prompts the user to input Yes or No. The objective of this program is to teach how to create simple dialog-boxes and accept input from the user.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl8.zip"&gt;Click here &lt;/a&gt;to download the Example 8 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5841604080475474939?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5841604080475474939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5841604080475474939'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-8-display-small-dialog-box-and.html' title='Example 8: Display a small dialog-box and accept user-input'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-1545731326716633423</id><published>2007-02-13T03:25:00.000+05:30</published><updated>2007-03-03T11:30:57.499+05:30</updated><title type='text'>Example 7: Local and Global Variables</title><content type='html'>&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;&lt;strong&gt;Local Variables&lt;/strong&gt;&lt;br /&gt;The scope of Local variables is restricted to the Report in which they are defined. Before you can use a local variable, you need to define it. To access the value of a local variable, you must prefix the variable name with symbol &lt;strong&gt;#&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Local Variable definition&lt;/em&gt;&lt;br /&gt;[Variable: myVar]&lt;br /&gt;    Type: String&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Using the Local variable in your Report&lt;/em&gt;&lt;br /&gt;[Report: My Report]&lt;br /&gt;    Form: MyForm&lt;br /&gt;    Variable: myVar&lt;br /&gt;    Set as: "Learn TDL at www.tdlplayground.blogspot.com"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Accessing the Local Variable value&lt;/em&gt;&lt;br /&gt;[Field: My Field]&lt;br /&gt;    Set as: #myVar&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Global Variables&lt;/strong&gt;&lt;br /&gt;Global variables can be used globally (i.e. in all Reports). A Global variable must be declared in the &lt;strong&gt;[System: Variable]&lt;/strong&gt; section. To access a Global variable, you must prefix the variable name with &lt;strong&gt;##&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Global Variable definition&lt;/em&gt;&lt;br /&gt;[System: Variable]&lt;br /&gt;    myVar: "Initial Value"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Accessing the Global Variable value&lt;/em&gt;&lt;br /&gt;[Field: My Field]&lt;br /&gt;    Set as: ##myVar&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Other Variable types supported by Tally&lt;/strong&gt;&lt;br /&gt;1) Logical&lt;br /&gt;2) Date&lt;br /&gt;3) Number&lt;br /&gt;4) Amount&lt;br /&gt;5) Quantity&lt;br /&gt;6) String&lt;br /&gt;7) Rate of Exchange&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;A sample TDL program (with source-code) has been provided which illustrates the use of Variables. &lt;a href="http://www.rtslink.com/images/tdl7.zip"&gt;Click here &lt;/a&gt;to download the Example 7 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-1545731326716633423?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1545731326716633423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/1545731326716633423'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/local-and-global-variables.html' title='Example 7: Local and Global Variables'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-3479857065620919600</id><published>2007-02-10T07:20:00.000+05:30</published><updated>2007-02-10T08:38:28.066+05:30</updated><title type='text'>TDL basics - An overview</title><content type='html'>Tally Definition is a proprietory language of "Tally Solutions FZ LLC". It is used to customize the Tally sofware.&lt;br /&gt;&lt;br /&gt;TDL is not a full-fledged programming language, but it is a Definition's language. It has its own pros and cons. Using TDL, you can add new menu-options, new reports, new entry screens in Tally 7.2 or Tally 9. However, the programmer does not have any control over the event-driven functionality of Tally.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TDL Basics - An Overview&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;1. Names are neither case-sensitive nor space-sensitive.&lt;br /&gt;&lt;span style="color:#000000;"&gt;[&lt;span style="color:#cc33cc;"&gt;Report&lt;/span&gt;: MyReport]&lt;/span&gt; is the same as &lt;span style="color:#000000;"&gt;[&lt;span style="color:#cc33cc;"&gt;Report&lt;/span&gt;: MYREPORT]&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;[&lt;span style="color:#cc33cc;"&gt;Report&lt;/span&gt;: My Trial Balance]&lt;/span&gt; is the same as &lt;span style="color:#000000;"&gt;[&lt;span style="color:#cc33cc;"&gt;Report&lt;/span&gt;: MyTrialBalance]&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;2. Names should not start with numerals.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Comments in TDL are written using double semi-colon (i.e. ;;)&lt;br /&gt;&lt;br /&gt;4. A TDL program comprises of TDL statements / definitions and can be written using any text editor (example:- Notepad)&lt;br /&gt;&lt;br /&gt;5. To compile TDL program, you require Tally Developer which can be purchased from Tally Solutions or any Tally authorised Dealer. [If you don't have Tally Developer, you may send your TDL programs to &lt;a href="mailto:tdlplayground@rtslink.com"&gt;mailto:tdlplayground@rtslink.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;6.All reports in Tally Accounting software have been created using TDL.&lt;br /&gt;&lt;br /&gt;7.You can modify existing Menu's in Tally and add your own menu-options. Example:-&lt;br /&gt;[#&lt;span style="color:#cc33cc;"&gt;Menu&lt;/span&gt;: Gateway of Tally]&lt;br /&gt;Add: Item: My Reports: &lt;span style="color:#3333ff;"&gt;Display&lt;/span&gt;: rptMyReport&lt;br /&gt;&lt;br /&gt;The above code modifies the "Gateway of Tally" menu, and adds a new menu-option "My Reports". When the user clicks on "My Reports" menu-option, it display a report named "rptMyReport". The "#" symbol is used to modify existing definitions.&lt;br /&gt;&lt;br /&gt;8.Normally, forms are used in programming languages like VB, VFP, Delphi etc to display text and accept user input. In TDL, you have to use the &lt;span style="color:#cc33cc;"&gt;Report&lt;/span&gt; definition which uses the following:-&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;Report&lt;/span&gt; uses Form&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;Form&lt;/span&gt; uses Parts&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;Part&lt;/span&gt; uses lines&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;Line&lt;/span&gt; uses Fields&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;Field&lt;/span&gt; is the real-container where text is displayed.&lt;br /&gt;&lt;br /&gt;Remarks:- &lt;em&gt;&lt;strong&gt;ratta laga le bhai. Isme samajne jaissa kuch bhi nahi hai&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;9.&lt;span style="color:#009900;"&gt;&lt;strong&gt;Actions&lt;/strong&gt;&lt;/span&gt; are used to implement/activate the definitions. Example, Display action is used below.&lt;br /&gt;[#&lt;span style="color:#cc33cc;"&gt;Menu&lt;/span&gt;: Gatway of Tally]&lt;br /&gt;Add: Item: My Reports: &lt;span style="color:#3333ff;"&gt;Display&lt;/span&gt;: rptMyReport&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;10. &lt;/span&gt;&lt;span style="color:#009900;"&gt;&lt;strong&gt;Attributes &lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;are like properties. Example, Width and Style&lt;/span&gt;&lt;br /&gt;[Field: My Field]&lt;br /&gt;&lt;span style="color:#993300;"&gt;Width&lt;/span&gt;: 30&lt;br /&gt;&lt;span style="color:#993300;"&gt;Style&lt;/span&gt;: Normal Bold&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;11. Dimensions in TDL can be expressed in different ways&lt;/span&gt;&lt;br /&gt;.&lt;br /&gt;[&lt;span style="color:#cc33cc;"&gt;Form&lt;/span&gt;: My Form]&lt;br /&gt;;; This specifies the dimension of the form in centimeters&lt;br /&gt;Width: 15 cms&lt;br /&gt;Height: 25 cms&lt;br /&gt;&lt;br /&gt;[&lt;span style="color:#cc33cc;"&gt;Form&lt;/span&gt;: My Form]&lt;br /&gt;;; This specifies the dimension of the form in Inches&lt;br /&gt;Width: 2 Inches&lt;br /&gt;Height: 2 Inches&lt;br /&gt;&lt;br /&gt;[&lt;span style="color:#cc33cc;"&gt;Form&lt;/span&gt;: My Form]&lt;br /&gt;;; This specifies the dimension of the form in screen percentage&lt;br /&gt;Width: 15% screen&lt;br /&gt;Height: 25% screen&lt;br /&gt;&lt;br /&gt;12. Some of the important attributes that we shall be using with different Definitions are:-&lt;br /&gt;&lt;br /&gt;Width: 30% screen&lt;br /&gt;Height: 30% screen&lt;br /&gt;BackGround: Yellow&lt;br /&gt;Invisible: No&lt;br /&gt;Inactive: No&lt;br /&gt;Set as: "Welcome to TDL"&lt;br /&gt;Space Top: 2&lt;br /&gt;Space bottom: 2&lt;br /&gt;Space Left: 2&lt;br /&gt;Space Right: 2&lt;br /&gt;&lt;br /&gt;The above attributes are to be used with their appropriate Definitions only.&lt;br /&gt;&lt;br /&gt;13. &lt;span style="color:#3333ff;"&gt;Button&lt;/span&gt; is an attribute of &lt;span style="color:#cc33cc;"&gt;Menu&lt;/span&gt; and &lt;span style="color:#cc33cc;"&gt;Form&lt;/span&gt; definition and is used to intiate actions.&lt;br /&gt;&lt;br /&gt;[&lt;span style="color:#cc33cc;"&gt;Button&lt;/span&gt;: My Button]&lt;br /&gt;Title: "My Balance Sheet"&lt;br /&gt;Key: F4&lt;br /&gt;Action: Display: Balance sheet&lt;br /&gt;&lt;br /&gt;[#&lt;span style="color:#cc33cc;"&gt;Menu&lt;/span&gt;: Gateway of Tally]&lt;br /&gt;Button: My Button&lt;br /&gt;&lt;br /&gt;The above code is used to display button "My Balance Sheet" in the "Gateway of Tally" menu. It is invoked by pressing F4 function key.&lt;br /&gt;&lt;br /&gt;14.Optional defintions&lt;br /&gt;A TDL program mainly comprisely of definitions and actions. Actions are performed on Definitions to implement/activate them.&lt;br /&gt;&lt;br /&gt;TDL allows you to use Optional definitions. In simple words, Optional definition is a definition that is activated/executed if specified condition evaluates to be true. Example:-&lt;br /&gt;&lt;br /&gt;;;This is an a regular Form definition&lt;br /&gt;[Form: My Form]&lt;br /&gt;Width: 10% screen&lt;br /&gt;Height: 10% screen&lt;br /&gt;Option: TestForm1: #myVariable&lt;br /&gt;&lt;br /&gt;;;This is an optional definition&lt;br /&gt;[!Form TestForm1]&lt;br /&gt;Width: 30% screen&lt;br /&gt;Height: 30% screen&lt;br /&gt;&lt;br /&gt;Notes:&lt;br /&gt;a) If the value of variable "myVariable" evaluates to be true, then the optional definition "TestForm1" becomes part of the original definition "My Form".&lt;br /&gt;b) In other words, the original definiton is over-ridden by the Optional definition .&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FINAL WORDS&lt;/strong&gt;&lt;br /&gt;Please send in your views/comments to &lt;a href="mailto:tdlplayground@rtslink.com"&gt;mailto:tdlplayground@rtslink.com&lt;/a&gt;. Please mention whether you found this article to be useful or not. Your valuable suggestions are solicited.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;From&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Shweta Computers Team &lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-3479857065620919600?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3479857065620919600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/3479857065620919600'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/tdl-basics-overview.html' title='TDL basics - An overview'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-6389009120820090887</id><published>2007-02-07T22:21:00.000+05:30</published><updated>2007-03-03T11:31:21.726+05:30</updated><title type='text'>Example 6: Adding BUTTONs in TDL Form</title><content type='html'>This programs illustrates the use of BUTTON definition and OPTION attribute&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;&lt;p&gt;[#Menu: GatewayOfTally]&lt;br /&gt;    Add: Item: MyOption : Display: rptReport&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;This report uses a Local variable lChooseHeight which is initially set to "No" &lt;br /&gt;[Report: rptReport]&lt;br /&gt;    Add: Form: frmForm&lt;br /&gt;    Add: Variable: lChooseHeight &lt;br /&gt;    Set: lChooseHeight : No&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;When the logical condition is true, the modified definition becomes the part of the original definition&lt;br /&gt;[Form: frmForm]&lt;br /&gt;    Add: Part: prtPart&lt;br /&gt;    Add: Button : btnButton1&lt;br /&gt;    Option : Small HelloWorld Form: Not #lChooseHeight&lt;br /&gt;    Option : Full HelloWorld Form: #lChooseHeight&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Optional Definitions start with exclamation sign !&lt;br /&gt;[!Form: Small HelloWorld Form]&lt;br /&gt;    Background: Yellow&lt;br /&gt;    Set: fldField1: This is Yellow&lt;br /&gt;    Width: 50% screen&lt;br /&gt;    Height: 50% screen&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Optional Definitions start with exclamation sign !&lt;br /&gt;[!Form: Full HelloWorld Form]&lt;br /&gt;    Background: Green&lt;br /&gt;    Set: fldField1: This is Green&lt;br /&gt;    Width: 100% screen&lt;br /&gt;    Height: 100% screen&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Local Variable definition&lt;br /&gt;[Variable: lChooseHeight]&lt;br /&gt;    Type: Logical&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: prtPart]&lt;br /&gt;    Add: Line : lnLine1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Line: Lnline1]&lt;br /&gt;    Add: Field: fldField1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: fldField1]&lt;br /&gt;    Set as: "Press F4 key to change the Form-size and color"&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Defining a Button with F4 as the shortcut key. &lt;br /&gt;;;When user presses F4 key, the value of variable lChooseHeight changes&lt;br /&gt;;;This will replace the original Form definition with the modified definition&lt;br /&gt;;;===========================================================================&lt;br /&gt;[Button: btnButton1]&lt;br /&gt;    Key: F4&lt;br /&gt;    Action: Set: lChooseHeight: Not #lChooseHeight&lt;/p&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;1) The form "frmForm" uses a button which is displayed in the Button panel on the right-side of the screen.&lt;br /&gt;2) The Option Attribute provides a means to substitue the original definition with modified definition. In the above code, two optional definitions have been used. The syntax of Option keyword is :-&lt;br /&gt;   Syntax: Option : &amp;lt;Modified Definition&amp;gt;: &amp;lt;Logical condition&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl6.zip"&gt;Click here &lt;/a&gt;to download the Example 6 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-6389009120820090887?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6389009120820090887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/6389009120820090887'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-6-adding-buttons-in-tdl-form.html' title='Example 6: Adding BUTTONs in TDL Form'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8030172866570710865</id><published>2007-02-07T19:10:00.000+05:30</published><updated>2007-03-03T11:31:59.411+05:30</updated><title type='text'>Example 5: Using Font-styles, Colors in TDL</title><content type='html'>This program shows how you can use different font-styles, colors in TDL&lt;br /&gt;&lt;table width="100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;&lt;p&gt;;;Modifies the "Gateway of Tally" menu, and adds a new menu-option &lt;br /&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Add: Item: Fonts Style,Colors: Display: rptMyReport&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Report definition&lt;br /&gt;;;==========================================&lt;br /&gt;[Report : rptMyReport]&lt;br /&gt;    Form : frmMyForm&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Form definition: Size is 50% of the screen&lt;br /&gt;;;Margins kept at TOP and BOTTOM&lt;br /&gt;;;==========================================&lt;br /&gt;[Form : frmMyForm]&lt;br /&gt;    Space Top:2&lt;br /&gt;    Space Bottom: 2&lt;br /&gt;    Part : prtMyPart&lt;br /&gt;    Height: 50% screen&lt;br /&gt;    Width: 50% screen&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;;;Part definition - Contains 8 lines&lt;br /&gt;;;==========================================&lt;br /&gt;[Part : prtMyPart]&lt;br /&gt;    Line : lnMyLine1&lt;br /&gt;    Line : lnMyLine2&lt;br /&gt;    Line : lnMyLine3&lt;br /&gt;    Line : lnMyLine4&lt;br /&gt;    Line : lnMyLine5&lt;br /&gt;    Line : lnMyLine6&lt;br /&gt;    Line : lnMyLine7&lt;br /&gt;    Bottom Line: lnMyLine8&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Line definitions&lt;br /&gt;;;==========================================&lt;br /&gt;[Line: lnMyLine1]&lt;br /&gt;    Field : My Field1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine2]&lt;br /&gt;    Field : My Field2&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine3]&lt;br /&gt;    Field : My Field3&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine4]&lt;br /&gt;    Field : My Field4&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine5]&lt;br /&gt;    Field : My Field5&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine6]&lt;br /&gt;    Field : My Field6&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine7]&lt;br /&gt;    Field : My Field7&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[line : lnMyLine8]&lt;br /&gt;    Field : My Field8&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Field definitions&lt;br /&gt;;;==========================================&lt;br /&gt;[Field: My Field1]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line is BOLD"&lt;br /&gt;    Style: styMyStyle1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field2]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line is Italics"&lt;br /&gt;    Style: styMyStyle2&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field3]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line is BOLD and ITALICS"&lt;br /&gt;    Style: styMyStyle3&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field4]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line is right-aligned"&lt;br /&gt;    Width:60&lt;br /&gt;    Alignment:Right&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field5]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line is center-aligned"&lt;br /&gt;    Width:60&lt;br /&gt;    Alignment:Center&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field6]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line is left-aligned"&lt;br /&gt;    Width:60&lt;br /&gt;    Alignment:left&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field7]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line appears in Red color with Yellow Background"&lt;br /&gt;    Background: Yellow&lt;br /&gt;    Color: Red&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: My Field8]&lt;br /&gt;    Space Left: 5 &lt;br /&gt;    Space Right: 5&lt;br /&gt;    Set as: "This line appears at bottom in 15-pt font size"&lt;br /&gt;    Style: styMyStyle4&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;;;Style definitions&lt;br /&gt;;;==========================================&lt;br /&gt;[Style: styMyStyle1]&lt;br /&gt;    Font: Verdana&lt;br /&gt;    Bold: Yes&lt;br /&gt;    Height: 10&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Style: styMyStyle2]&lt;br /&gt;    Font: Verdana&lt;br /&gt;    Italic: Yes&lt;br /&gt;    Height: 10&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Style: styMyStyle3]&lt;br /&gt;    Font: Verdana&lt;br /&gt;    Bold: Yes&lt;br /&gt;    Italic: Yes&lt;br /&gt;    Height:10&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Style: styMyStyle4]&lt;br /&gt;    Font: Verdana&lt;br /&gt;    Height:15&lt;/p&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl5.zip"&gt;Click here &lt;/a&gt;to download the Example 5 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8030172866570710865?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8030172866570710865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8030172866570710865'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/using-font-styles-colors-in-form.html' title='Example 5: Using Font-styles, Colors in TDL'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-2851014225813239082</id><published>2007-02-07T04:56:00.000+05:30</published><updated>2007-03-14T15:31:48.206+05:30</updated><title type='text'>NEWFONTS .TCP</title><content type='html'>This TCP file has been provided by &lt;strong&gt;Mr Vikas Thapar, Ludhiana, Punjab&lt;/strong&gt;. You can reach him at &lt;a href="mailto:akshitthapar@yahoo.com"&gt;akshitthapar@yahoo.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Functionality&lt;/strong&gt;&lt;br /&gt;NEWFONTS.TCP file changes the Invoice Fonts in the neat-mode printing.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Steps to use NEWFONTS.TCP&lt;/strong&gt;&lt;br /&gt;1) Include NEWFONTS.TCP in the Tally.ini file as described in the Introduction blog section.&lt;br /&gt;2) Try-out printing any Sales Invoice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/newfonts.zip"&gt;Click here &lt;/a&gt;to download the Newfonts compiled file.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-2851014225813239082?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2851014225813239082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/2851014225813239082'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/newfonts-tcp.html' title='NEWFONTS .TCP'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-7866374227996484878</id><published>2007-02-07T04:10:00.000+05:30</published><updated>2007-03-14T15:33:02.649+05:30</updated><title type='text'>BUYCON.TCP</title><content type='html'>This TCP file has been provided by &lt;strong&gt;Mr Vikas Thapar, Ludhiana, Punjab&lt;/strong&gt;. You can reach him at &lt;a href="mailto:akshitthapar@yahoo.com"&gt;akshitthapar@yahoo.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Functionality&lt;/strong&gt;&lt;br /&gt;BUYCON.TCP displays Ledger help-list in the "Supplementary Details" section of Sales Voucher (in EDIT mode). &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Steps to use BUYCON.TCP&lt;/strong&gt;&lt;br /&gt;1) Include BUYCON.TCP in the Tally.ini file as described in the Introduction blog section.&lt;br /&gt;2) Use option "Gateway of Tally -&gt; F12 -&gt; Invoice/Order Entry" and enable the "Accept Supplementary details" option.&lt;br /&gt;3) Modify any existing Sales Voucher. Move on to the Buyer's details section (yellow-color window) and press spacebar in the BUYER field. This will bring forth the Ledger help-list.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/buycon.zip"&gt;Click here &lt;/a&gt;to download the Buycon compiled file.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-7866374227996484878?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7866374227996484878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/7866374227996484878'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/providing-ledger-help-list-in-buyers.html' title='BUYCON.TCP'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-5578312633924993224</id><published>2007-02-05T23:37:00.000+05:30</published><updated>2007-03-03T11:32:33.069+05:30</updated><title type='text'>Example 4: Display a Sub-Menu with Indentation</title><content type='html'>&lt;table bg border="1" style="color:#f0f0f0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:Arial;color:#000000;"&gt;&lt;p&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Add: Item: Before: ~Quit: MySoftware: Menu: MySoftware&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Menu: MySoftware]&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Masters section menu-items&lt;br /&gt;    Indent: Masters&lt;br /&gt;    Item: BLANK&lt;br /&gt;    Item: Ledger Master&lt;br /&gt;    Item: Item Master&lt;br /&gt;    Item: BLANK&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Reports section menu-items&lt;br /&gt;    Indent: Reports&lt;br /&gt;    Item: BLANK&lt;br /&gt;    Item: MyReport1&lt;br /&gt;    Item: MyReport2&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;;Don't use "Add: Item: Ledger Master" as this will add the Item to the end of the list&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;strong&gt;Notes:-&lt;/strong&gt;&lt;br /&gt;1) The above program displays a Sub-Menu with Indentation&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl4.zip"&gt;Click here &lt;/a&gt;to download the Example 4 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-5578312633924993224?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5578312633924993224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/5578312633924993224'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-4-display-sub-menu-with.html' title='Example 4: Display a Sub-Menu with Indentation'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8787899310083246749</id><published>2007-02-05T22:45:00.000+05:30</published><updated>2007-03-03T11:33:37.538+05:30</updated><title type='text'>Example 3: Display a Form</title><content type='html'>&lt;table width"100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;&lt;p&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    ;; This will add a Menu-option before the Balance Sheet &lt;br /&gt;    Add: Item: Before: ~Balance Sheet: MyOption: Display: rptMyReport&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;    ;; Remarks&lt;br /&gt;    ;; To add menu-option after Balance Sheet, use keyword After&lt;br /&gt;    ;; Example:-&lt;br /&gt;    ;; Add: Item: After:~Balance Sheet: MyOption: Display: rptMyReport&lt;br /&gt;    ;; or&lt;br /&gt;    ;; Add: Item: At Beginning: MyOption: Display: rptMyReport&lt;br /&gt;    ;; or&lt;br /&gt;    ;; Add: Item: At End: MyOption: Display: rptMyReport&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Report: rptMyReport]&lt;br /&gt;    Add: Form: frmMyForm&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Form: frmMyForm]&lt;br /&gt;    Add: Part: prtMyPart&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    ;; This specifies that the width of the form must be 40% of the screen width&lt;br /&gt;    Width: 40% screen&lt;/p&gt;&lt;br /&gt;    ;; This specifies that the height of the form must be 50 of the screen height&lt;br /&gt;    Height: 50% screen&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Part: prtMyPart]&lt;br /&gt;    Add: Line: lnMyLine&lt;p/&gt;&lt;br /&gt;&lt;br /&gt;[Line: lnMyLine]&lt;br /&gt;    Add: Field: fldMyField&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: fldMyField]&lt;br /&gt;    Set as : "Here's a Sample FORM"&lt;/p&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;strong&gt;Notes:-&lt;/strong&gt;&lt;br /&gt;1) The above program defines a menu-option "MyOption" in the "GateWay of Tally" screen before Balance Sheet. Note the tidle character ~ in front of Balance Sheet which highlights the next letter after it.&lt;br /&gt;2) When the user selects this option "MyOption", it displays a Form.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl3.zip"&gt;Click here &lt;/a&gt;to download the Example 3 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8787899310083246749?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8787899310083246749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8787899310083246749'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-3-display-form.html' title='Example 3: Display a Form'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-9181906635494884319</id><published>2007-02-04T13:43:00.000+05:30</published><updated>2007-03-03T11:34:16.232+05:30</updated><title type='text'>Example 2: Add a Sub-Menu option</title><content type='html'>&lt;table width"100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;&lt;p&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Item: MyOption: Menu: MySubMenu&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;[Menu: MySubMenu]&lt;br /&gt;    Item: MyOption1&lt;br /&gt;    Item: MyOption2&lt;br /&gt;    Item: MyOption3&lt;/p&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;strong&gt;Notes:-&lt;/strong&gt;&lt;br /&gt;1) The above program defines a menu-option "MyOption" in the "GateWay of Tally" screen&lt;br /&gt;2) When the user selects this option "MyOption", it displays a sub-menu with three options&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl2.zip"&gt;Click here &lt;/a&gt;to download the Example 2 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-9181906635494884319?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/9181906635494884319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/9181906635494884319'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/example-2-adding-sub-menu.html' title='Example 2: Add a Sub-Menu option'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8169773525853030159</id><published>2007-02-04T01:58:00.000+05:30</published><updated>2007-03-03T11:34:44.391+05:30</updated><title type='text'>Example 1: Add a Menu-option</title><content type='html'>&lt;table width"100%" bgcolor="#f0f0f0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;br /&gt;&lt;pre&gt;&lt;font face="Arial" color="#000000"&gt;[#Menu: Gateway of Tally]&lt;br /&gt;    Item: MyOption: Display: rptMyReport&lt;br&gt; &lt;br /&gt;&lt;br /&gt;[Report: rptMyReport]&lt;br /&gt;    Form: frmMyForm&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;[Form: frmMyForm]&lt;br /&gt;    Part: prtMyPart&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;[Part: prtMyPart]&lt;br /&gt;    Line: lnMyLine&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;[Line: lnMyLine]&lt;br /&gt;    Field: fldMyField&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;[Field: fldMyField]&lt;br /&gt;    Set as : "Learn, Play and have fun with TDL" &lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Notes:-&lt;br /&gt;1)  Comments in TDL are written using double semi-colon ;;&lt;br /&gt;2) The above TDL code contains several definitions viz. Menu,Report, Form, Part, Line, Field&lt;br /&gt;3) Definitions are always written in square brackets&lt;br /&gt;4) The # symbol modifes the default TDL menu "Gateway of Tally"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rtslink.com/images/tdl1.zip"&gt;Click here &lt;/a&gt;to download the Example 1 compiled file and the source-code.&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8169773525853030159?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8169773525853030159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8169773525853030159'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/add-menu-item-to-gateway-of-tally-menu.html' title='Example 1: Add a Menu-option'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6631004643071848411.post-8522960334022330591</id><published>2007-02-04T01:46:00.000+05:30</published><updated>2007-02-04T14:52:50.211+05:30</updated><title type='text'>Introduction to Tally Definition Language (TDL)</title><content type='html'>Tally Definition Language (TD) is a proprietary language of "Tally Solutions FZ LLC" and is specific to Tally only. You can use TDL for customizing Tally software as per your requirements.&lt;br /&gt;&lt;br /&gt;READ our sample programs to know more about progamming with Tally Definition Language. We shall be posting sample programs regularly on this blogspot. Initially, we shall start with some basic features of TDL and later-on move to more advanced topics.&lt;br /&gt;&lt;br /&gt;You can create your own TDL programs using any text-editor (like NOTEPAD). To compile these program, you need Tally Developer 2.7 which can purchased from Tally Solutions or any other Tally Authorised Dealer or Service centre.&lt;br /&gt;&lt;br /&gt;Please note that we don't sell Tally Developer 2.7.&lt;br /&gt;&lt;br /&gt;When you compile your TDL program using Tally Developer, a TCP (Tally Compiled Program) file is generated. To use this TCP file, you need to do certain changes in the Tally.ini file. The Tally.ini file is located in the directory where Tally Software is installed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Changes required in Tally.ini&lt;/strong&gt;&lt;br /&gt;USER TDL = YES&lt;br /&gt;TDL = C:\TALLY\TDL1.TCP&lt;br /&gt;&lt;br /&gt;Remarks:-&lt;br /&gt;a) You are required to copy your TCP file to the Tally directory.&lt;br /&gt;b) Use NOTEPAD to open and modify the Tally.ini file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Create your own TDL programs&lt;/strong&gt;&lt;br /&gt;As mentioned earlier, TDL programs are simple text files that contain TDL statements. You can easily create TDL programs using Notepad. Next, you need to compile it. In case, if you don't have the Tally Developer software, you can send us your TDL file (i.e. simple text file with TDL statements) to us. We shall compile it and send it back to you.  You can mail your TDL programs to &lt;a href="mailto:tdlplayground@rtslink.com?subject=TDL%20programs"&gt;TDLplayground@rtslink.com&lt;/a&gt;. However, we cannot give you 100% commitment that all such requests will be entertained because of the large number of emails that we receive.&lt;br /&gt;&lt;br /&gt;If your program is worth its salt, we shall publish it in this blogspot (of-course with your prior-permission).&lt;br /&gt;&lt;br /&gt;You can visit us at &lt;a href="http://www.rtslink.com/"&gt;www.rtslink.com&lt;/a&gt;&lt;br /&gt;&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6631004643071848411-8522960334022330591?l=tdlplayground.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8522960334022330591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6631004643071848411/posts/default/8522960334022330591'/><link rel='alternate' type='text/html' href='http://tdlplayground.blogspot.com/2007/02/introduction-to-tally-definition.html' title='Introduction to Tally Definition Language (TDL)'/><author><name>Shweta Softwares</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
