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
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"
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"
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"
Tally; Tally Developer and Tally Definition Language are trademarks or registered trademarks of "Tally Solutions FZ LLC", Bangalore.