Tested on Tally ERP 9 Version 6.63 This TDL adds a button on Ledger Display Report : "Find or Search" and displays report based on search of UDF fields in the Inventory Entries and Batch Allocations In this example ; It adds item description field (UDF) during voucher entry and performs a search on it, beside this it also shows the Item description (UDF) in "Detailed View" of Alt+F8 Columnar Report. Note : Enable Item Description and Batch Description in F11, Company Features-Accounting Features Code By : Nitin Kumar Jain Code: System: UDF] Nvn_ItmDes_Name : String : 9057 Nvn_ItmDes_BatchName : String : 9058 Nvn_ItmDes_BatchDate : Date : 9059 IsNvn_ItmDes_NameOn : Logical : 9001 IsNvn_ItmDes_BatchNameOn : Logical : 9002 [#Part : CMP AccFeat Right] Add : Line : Nvn_ItmDes_Name, Nvn_ItmDes_BatchName [Line: Nvn_ItmDes_Name] Fields : Medium Prompt, Nvn_ItmDes_Name Local : Field : Medium Prompt : Info :$$LocaleString:"Enable ItemDescription Name on voucher In sales Invoice ?" Local : Field : Medium Prompt : Style :Verdana Bold Local : Field : Medium Prompt : Color :Blue Space Top: 1 [Field : Nvn_ItmDes_Name] Use : Logical Field Storage : IsNvn_ItmDes_NameOn [System : Formula] NvnIsItemDescOn : $IsNvn_ItmDes_BatchNameOn:Company:##SVCurrentCompany [Line: Nvn_ItmDes_BatchName] Fields : Medium Prompt, Nvn_ItmDes_BatchName Local : Field :Medium Prompt : Info : $$LocaleString:"Enable Item Description Name in Batch In sales Invoice ?" Local : Field :Medium Prompt : Style:Verdana Bold Local : Field :Medium Prompt : Color:Blue Space Top: 2 [Field : Nvn_ItmDes_BatchName] Use : Logical Field Storage : IsNvn_ItmDes_BatchNameOn ;-------------------------------------------------------------------------------------------------------------------------------------- ;UDF fields during voucher Entries [#Line: EI ColumnOne] Add: Option: Desc Title on Voucher: @@IsSales and $IsNvn_ItmDes_NameOn:Company:##SVCurrentCompany [!Line : Desc Title on Voucher] Add : Right Field: At Beginning:Nvn_ItmDes_Title [Field: Nvn_ItmDes_Title] Use:Name Title Field Set as: $$LocaleString:"Description" ;Skip: Yes Border:Thick Left Right Width:@@VCHNameWidth Align: Center [#Line : EI Inv Info] Add: Option: Desc Inv on Voucher: @@IsSales and $IsNvn_ItmDes_NameOn:Company:##SVCurrentCompany [!Line : Desc Inv on Voucher] Add: Right Field:At Beginning:Nvn_ItmDes_Store [Field: Nvn_ItmDes_Store] Use : Name Field Storage : Nvn_ItmDes_Name Dynamic : "" Width : @@VCHNameWidth Max : 100 Invisible : @@Ispurchase [#Line: VCHBATCH ColumnOne];EI ColumnOne] Add: Option: Desc VCHBATCH ColumnOne: @@IsSales and $IsNvn_ItmDes_BatchNameOn:Company:##SVCurrentCompany [!Line: Desc VCHBATCH ColumnOne] Add:Right Field:After: VCH BatchNameTitle : VCH Nvn_ItmDes_Title ;, VCH BatchDate [#Field: VCH BatchNameTitle] ;Width: 25 [Field: VCH Nvn_ItmDes_Title] Type : String Width : @@NameWidth Max : 50 Info : "Description" Style : Normal Bold Align : Left Invisible : @@Ispurchase [Field: VCH BatchDate] Type : String Width : @@NameWidth Max : 50 Info : "Batch Date" Style : Normal Bold Align : Left Invisible : @@Ispurchase [#Line: STKVCH Batch2] Add : Option :STKVCH Batch2 with Nvn_ItmDes_c : @@IsSales and $IsNvn_ItmDes_BatchNameOn:Company:##SVCurrentCompany [!Line : STKVCH Batch2 with Nvn_ItmDes_c] Add : Right Field : After :VCHBATCH Name: Fld_Nvn_ItmDes_BatchName, Fld_Nvn_ItmDes_BatchDate [#Field: VCHBATCH Name] ;Width: 50 ;Max : 50 [Field: Fld_Nvn_ItmDes_BatchDate] Use : Short Date Field Align : Left Width : @@VCHBatchNameWidth Style : Small Format : Month Beginning, Universal Date, Behind:$Date Storage : Nvn_ItmDes_BatchDate Inactive : $$IsEnd:$BatchName [Field: Fld_Nvn_ItmDes_BatchName] Use : Name Field Storage : Nvn_ItmDes_BatchName Dynamic : "" Max : 100 Invisible : @@Ispurchase ;-------------------------------------------------------------------------------------------------------------------------------------- ;UDF fields in Ledger Display and Dabybook Display [#Line: DSP ColVchTitle] Add: Option: Nvn_ItmDes_ DBCTitile : $IsNvn_ItmDes_NameOn:Company:##SVCurrentCompany [!Line: Nvn_ItmDes_ DBCTitile] Add : Right Fields : After : DSP VchTypeTitle : DBC Nvn_ItmDes_c Local: Field: DBC Nvn_ItmDes_c: Set as : $$LocaleString:"Item Name" [#Line: DSP ColVchDetail] Add: Option: Nvn_ItmDes_Name DBCDetail : $IsNvn_ItmDes_NameOn:Company:##SVCurrentCompany [!Line: Nvn_ItmDes_Name DBCDetail] Add: Fields : After: DBC VchNo :DBC Nvn_ItmDes_c [Field: DBC Nvn_ItmDes_c] Set as : IF NOT $$IsVoucher AND NOT $IsForexLine Then $$collectionfield:$Nvn_ItemDescription:$$Line:InventoryEntries else "" Border : thin left right Align : Left width : 24 [#Field: DBC Party] ;Add: Option: DBCItemDescription : NOT $$IsVoucher AND NOT $IsForexLine [!Field: DBCNvn_ItmDes_cription] Set as : $ItemDSPName + " | " + $Nvn_ItemDescription + " | " + $Nvn_ItmDes_BatchName Style : Small Italic Align : Right ;------------------------------------------------------------------------------------------------------------------------ ;Adding your own filters for custom fields [#Form: Ledger Vouchers] Add: Button: Nvn_FilterRange [Button: Nvn_FilterRange] Title: "Find or Search" Key: ALT + S Action : Modify Variables : Nvn_FilterRange [Report:Nvn_FilterRange] Use : Filters Delete : Form Add : Form : Nvn_FilterRange Title : $$LocaleString:"Find or Search" [Form: Nvn_FilterRange] Use : Filters [#Field: IFLT Method ] Delete : Tables Switch : CaseNvn : Nvn_IFLT Method_old : No ;NOT @@NvnIsItemDescOn Switch : CaseNvn : Nvn_IFLT Method : Yes ;@@NvnIsItemDescOn [!Field: Nvn_IFLT Method_old] Use : Short Name Field Width : 15 Show Table : Always Storage : User Method Name Inactive : $$Line > 1 AND $$IsEnd:#IFLTCombine CommonTable : No Table : MethodTable : #IFLTType != "" AND NOT $$IsSysNameEqual:CostCentres:$$Owner:$UserMethodName Table : IFLT CostCentreMethodTable : #IFLTType != "" AND $$IsSysNameEqual:CostCentres:$$Owner:$UserMethodName [!Field: Nvn_IFLT Method] Use : Short Name Field Width : 15 Show Table : Always Storage : User Method Name Inactive : $$Line > 1 AND $$IsEnd:#IFLTCombine CommonTable : No Table : Nvn_IFLT_Table : #IFLTType != "" AND NOT $$IsSysNameEqual:CostCentres:$$Owner:$UserMethodName [Collection: Nvn_IFLT_Table] Object : Nvn_Itm_Des_Name_Obj, Nvn_Itm_Batch_Name_Obj, Nvn_Itm_Batch_Date_Obj Type : Object Methods ; Child of : $MethodType Format : $UserMethodName Align : Centre Title : $$LocaleString:"Particulars" ClientOnly : Yes ;/ [Object : Nvn_Itm_Des_Name_Obj] UserMethodName : "Item Descriptions" Method Name : "Nvn_ItemDescription" CollectionSource : "All Inventory Entries" SecondaryObject : "" MethodType : "String" [Object : Nvn_Itm_Batch_Name_Obj] UserMethodName : "Item Batch Name" Method Name : "Nvn_ItemBatchName" CollectionSource : "All Inventory Entries, Batch Allocations" SecondaryObject : "" MethodType : "String" [Object : Nvn_Itm_Batch_Date_Obj] UserMethodName : "Item Batch Date" Method Name : "Nvn_ItemBatchDate" CollectionSource : "All Inventory Entries, Batch Allocations" SecondaryObject : "" MethodType : "Date" ;--------------------------------------------------------------------------------------------------- ;Changes in collections and objects [#Object : Batch Allocations] Nvn_ItemBatchName : $Nvn_ItmDes_BatchName Nvn_ItemBatchDate : $Nvn_ItmDes_BatchDate [#Object : InventoryEntry] Nvn_ItemDescription : $Nvn_ItmDes_Name [#Collection: Columnar Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription, Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: Columnar Vouchers of Ledgers] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: Vouchers of Ledger] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: Filtered Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: Columnar Filtered Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: SRC Filtered Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection: Specific Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate [#Collection : SRC Specific Vouchers of Company] Fetch : InventoryEntries.Nvn_ItemDescription Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchName Fetch : InventoryEntries.BatchAllocations.Nvn_ItemBatchDate /*