Tally ERP 9 | Tally 9 | Tally 8.1 | Tally 7.2 | Tally 6.3 | Learn Tally TDL

Monday, September 19, 2011

Change MENU Options in Tally

How can I move the Stock Summary option from "Gateway of Tally" to DISPLAY menu ?

Here's the TDL code :-
;;Remove the Stock Summary option from Gateway of Tally
[#Menu : Gateway of Tally]
 Delete : Item : @@locStockSummary
 
;;Add the Stock Summary option in Display Menu
[#Menu : Display Menu] 
 Add : Item : Before : @@locQuit : @@locStockSummary

Saturday, September 10, 2011

Walk Collection - Example 4

Here's a sample TDL program to get the Ledger Name and Address using the WALK COLLECTION statement.

;;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 : "=>" + $Address
 25 :  END WALK
 
 30 : END WALK
 90 : SET FILE LOG OFF
 100 : Exec Command  : Notepad  : "TDLFunc.Log" 

Walk Collection - Example 3

Here's a sample TDL program to get the Voucher details for a specific Ledger using the WALK COLLECTION statement

;;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 : "=>" + $LedgerName + "," + $$String:$Amount
 25 :  END WALK
 
 30 : END WALK
 90 : SET FILE LOG OFF
 100 : Exec Command  : Notepad  : "TDLFunc.Log" 

Walk Collection - Example 2

Here's a sample TDL program to get the Voucher details with all ledgers using the WALK COLLECTION statement.

;;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 : "=>" + $LedgerName + "," + $$String:$Amount
 25 :  END WALK
 
 30 : END WALK
 90 : SET FILE LOG OFF
 100 : Exec Command  : Notepad  : "TDLFunc.Log" 
 

Friday, September 9, 2011

Walk Collection

Here's a sample TDL program to get the Voucher details using the WALK COLLECTION statement.

;;Adds a new option to Gateway of Tally
[#Menu : Gateway of Tally]
    Add    : Item    : Before : @@locQuit    : Walk Collection - Example1      : Call    : MyWalkCollectionExample1    

;;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 definition 
;;Displays the Voucher details
[Function : MyWalkCollectionExample1]
    00 : SET FILE LOG ON
    01 : LOG : "***************************"
    05 : WALK COLLECTION : MyVouchers
    10 :     LOG : $$String:$Date + "," + $VoucherTypeName + "," + $$String:($LedgerEntries[1].LedgerName) + "," + $$String:$LedgerEntries[1].Amount
    20 : END WALK
    90 : SET FILE LOG OFF
    100 : Exec Command        : Notepad     : "TDLFunc.Log"    

Tally; Tally Developer and Tally Definition Language are trademarks or registered trademarks of "Tally Solutions FZ LLC", Bangalore.