Tally Prime “Automatic Cheque number generation “TDL File

नमस्कार दोस्तों आज हम एक ऐसे  tdl फाइल के बारे में चर्चा करेंगे, जिसकी मदद से आप Cheque numbers automatically generate कर सकते है when the payment voucher is passed. यह automated Cheque number user द्वारा निर्दिष्ट चेक संख्या सीमा के अनुसार उत्पन्न होता है तो चलिए देखते हैं | कि हम कैसे उपयोग कर सकते हैं इस tdl फ़ाइल का tally prime में ?

Automatic Cheque Number Generation TDL code

Cheque No Capturing
;;**********************************************************************************************************************************
[#Part : Vch Narration]
Add : Lines : At Beginning : DDJLChequeNo

[Line : DDJLChequeNo]
Fields : Medium Prompt, DDJLChequeNo, Info Field, JLChequeDt

Local : Field : Medium Prompt : Set as : “Cheque No(s) :”
Local : Field : Medium Prompt : Color : Black
Local : Field : Medium Prompt : BackGround: Stone Wash
Local : Field : Medium Prompt : Invisible : (Not $$IsReceipt:##SVVoucherType) And (Not $$IsPayment:##SVVoucherType)
Local : Field : Medium Prompt : Inactive : Not @@IsBankLedPresent

Local : Field : Info Field : Info : “Dt. : “
Local : Field : Info Field : Inactive : Not @@IsBankLedPresent
Local : Field : Info Field : Invisible : (Not $$IsReceipt:##SVVoucherType) And (Not $$IsPayment:##SVVoucherType)

Local : Field : Default : Style : Small Bold

[Field : DDJLChequeNo]
Use : Name Field
Set as : $DueDateOfPymt
Storage : DueDateOfPymt
Invisible : (Not $$IsReceipt:##SVVoucherType) And (Not $$IsPayment:##SVVoucherType)
Set Always : Yes
Inactive : Not @@IsBankLedPresent

[Field : JLChequeDt]
Use : Shortdate Field
Storage : OrderDate
Set as : $Date
Invisible : (Not $$IsReceipt:##SVVoucherType) And (Not $$IsPayment:##SVVoucherType)
Set Always : Yes
Inactive : Not @@IsBankLedPresent Or $$IsEmpty:$DueDateOfPymt

[System : Formula]
AbcFilter : $$IsBelongsTo:$$GroupBank OR $$IsBelongsTo:$$GroupBankOD OR $$IsBelongsto:$$GroupCash
IsBankLedger : ($$IsLedofGrp:$LedgerName:$$GroupBank Or $$IsLedofGrp:$LedgerName:$$GroupBankOD)
IsBankLedPresent : $$FilterCount:AllLedgerEntries:IsBankLedger > 0

;;*****************************************************************************************************************************
;; Eof

;;**************************************************************************************************************************************************************************
;; Cheque Number Auto Generation Bank Wise
;;**************************************************************************************************************************************************************************

[#Part: MST LED Details]

Add : Line : At End : LedCheNo Enable

[Line : LedCheNo Enable]

Field : Long Prompt, LedCheNo Enable
Local : Field : Long Prompt : Set as : “Enter Cheque Number details ?”

Local : Field : Default : Inactive : Not ($$IsBelongsTo:$$GroupBank Or $$IsBelongsTo:$$GroupBankOD)

[Field : LedCheNo Enable]

Use : Logical Field
SubForm : LedCheNo Part : #LedCheNoEnable
Set as : No

[Report : LedCheNo Part]

Form : LedCheNo Part

[Form : LedCheNo Part]

Part : LedCheNo Part
Height : 50% Screen
Width : 60% Screen
SpaceLeft : 2% Screen
SpaceRight : 2% Screen
Horizontal Align : Left
Vertical Align : Bottom
BackGround : Cmp ClassficationsColor

Local : Field : Default : Style : Small Bold

;;[Color : Cmp STGroupColor]
;; RGB : 210,174,160

[Color : Cmp ClassficationsColor]

RGB : 140,174,160

[Part : LedCheNo Part]

Line : LedCheNo PartTit1, LedCheNo PartTit2, LedCheNo PartTit3, LedCheNo Part
Repeat : LedCheNo Part : LedgerChequeNoAllocations
Scroll : Vertical
BreakOn : $$IsEmpty:$LedgerChequeNoFrom
BackGround : Green

[Line : LedCheNo PartTit1]

Field : Info Field
Local : Field : Info Field : Set as : “Cheque Number”
Local : Field : Info Field : Style : Normal Bold
Local : Field : Info Field : Full Width : Yes
Local : Field : Info Field : Align : Centre

[Line : LedCheNo PartTit2]

Field : LedCheqNo FromTit
Right Field : LedCheqNo ToTit, LedCheNoStartTit, LedCheNoPrefixTit, LedCheqWidthTit

Local : Field : LedCheqWidthTit : Set as : “Width Of”
Local : Field : Default : Style : Small

Border : Thin Top

[Line : LedCheNo PartTit3]

Field : LedCheqNo FromTit
Right Field : LedCheqNo ToTit, LedCheNoStartTit, LedCheNoPrefixTit, LedCheqWidthTit
Border : Double Bottom

Local : Field : Default : Set as : “”
Local : Field : Default : Style : Small
Local : Field : LedCheqWidthTit : Set as : “Numerical Part”
Local : Field : LedCheNoStartTit : Set as : “Number”

[Field : LedCheqNo FromTit]
Set as : “From”
Width : 15
Align : Left

[Field : LedCheNoPrefixTit]
Set as : “Prefix”
Width : 10

[Field : LedCheqNo ToTit]
Set as : “To”
Width : 15
Align : Left

[Field : LedCheNoStartTit]
Set as : “Starting”
Width : 15
Align : Left

[Line : LedCheNo Part]
Field : LedCheqNo From
Right Field : LedCheqNo To, LedCheNoStart, LedCheNoPrefix, LedCheqWidth

[Field : LedCheqWidthTit]
Set as : “Width of “
Width : 10
Align : Centre

[Field : LedCheqNo From]
Use : LedCheqNo FromTit
Type : Number
Max : 12
Storage : LedgerChequeNoFrom

[Field : LedCheqNo To]
Use : LedCheqNo ToTit
Type : Number
Max : 12
Storage : LedgerChequeNoTo
Inactive : $$IsEmpty:$LedgerChequeNoFrom
Validate : $$Value > $LedgerChequeNoFrom

[Field : LedCheqWidth]
Use : LedCheqWidthTit
Type : Number
Max : 2
Storage : LedgerChequeNumericalWidth
Inactive : $$IsEmpty:$LedgerChequeNoFrom
Validate : $$Value <= 12

[Field : LedCheNoPrefix]
Use : LedCheNoPrefixTit
Storage : LedgerChequeNoPrefix
Inactive : $$IsEmpty:$LedgerChequeNoFrom
Set as : $LedgerChequeNoPrefix
;; Max : 5

[Field : LedCheNoStart]
Use : LedCheNoStart Tit
Type : Number
Max : 12
Storage : LedgerChequeNoStart
Set as : $LedgerChequeNoFrom
Set Always : Yes
Inactive : $$IsEmpty:$LedgerChequeNoFrom
Validate : ($$Value => $LedgerChequeNoFrom And $$Value <= $LedgerChequeNoTo)

;;**************************************************************************************************************************************************************************
;; Cheque No Generation in Voucher
;;**************************************************************************************************************************************************************************

[#Part : Vch Narration]

Add : Lines : At Beginning : Vch CheqNoGenerate
Add : Lines : At Beginning : Vch ChequeGenerateBankName

[Line : Vch ChequeGenerateBankName]
Field : Vch ChequeGenerateBankName

[Field : Vch ChequeGenerateBankName]
Use : Name Field
Storage : Vch ChequeBankNameInvisible
Set as : $$FilterValue:$LedgerName:AllLedgerEntries:First:IsBankLedger
Skip : Yes
Set Always : Yes
Inactive : Not $$IsPayment:$VoucherTypeName
Invisible : Yes

[Line : Vch CheqNoGenerate]
Field : Medium Prompt, Vch CheqNoGenerate ;;, Raman Cus DD Charge Amt, Raman Cus PO Charge Amt
Local : Field : Medium Prompt : Set as : “Generate Auto Cheque No. ?”
Local : Field : Default : Style : Small Bold
Local : Field : Default : Inactive : Not @@IsBankLedPresent Or @@IsManualChequeNo

[Field : Vch CheqNoGenerate]
Use : Logical Field
Set as : No
Skip : @@IsChequeVouchers

;; ******************************************************************************************************************************************************************************
;; To activate the cheque module fields
;; ******************************************************************************************************************************************************************************

[#Field : DDJLChequeNo]
;; Set as : If #VchCheqNoGenerate then (@@LedMasChequeNoPrefix + @@AutoFillZero + $$String:@@AutoChequeNumber) else $$Value
Set as : If #VchCheqNoGenerate then (@@LedMasChequeNoPrefix + $$ZeroFill:@@AutoChequeNumber:@@LedMasChequeNoWidth) else $$Value
Set Always : Yes
Skip : Not @@IsManualChequeNo ;;;;(Not @@IsManualChequeNo And #VchCheqNoGenerate) Or ($$InAlterMode And Not @@IsManualChequeNo)

[#Field : JLChequeDt]
Validate : Not ($$IsEmpty:$$Value Or $$IsEmpty:$DueDateOfPymt)

;; ******************************************************************************************************************************************************************************

;;[Collection : BankChequePymt Vouchers]
;; Collection : BankChequePymt NonOptional Vouchers
;; Collection : BankChequePymt Optional Vouchers
;; Sort : Default : $$Number:$DueDateOfPymt

;; [Collection : BankChequePymt NonOptional Vouchers]
;; Type : Vouchers : Ledger
;; ChildOf : @@VchChequeBankName
;; Filter : IsPymtVch, IsChequeVouchers, RangeVouchers

;; [Collection : BankChequePymt Optional Vouchers]
;; Type : Optional Vouchers
;; Filter : IsPymtVch , IsChequeVouchers , IsAppropriateBankLedger , RangeVouchers

[Collection : BankChequePymt Vouchers]
Type : Voucher
Filter : IsPymtVch, IsChequeVouchers, IsAppropriateBankLedger, RangeVouchers
Sort : Default : $$Number:$DueDateOfPymt

;; ******************************************************************************************************************************************************************************
[System : Formula]
;; IsBankLedger : ($$IsLedofGrp:$LedgerName:$$GroupBank Or $$IsLedofGrp:$LedgerName:$$GroupBankOD)
;; IsBankLedPresent : $$FilterCount:AllLedgerEntries:IsBankLedger > 0
IsPymtVch : $$IsPayment:$VoucherTypeName
LastChequeNo : $$CollectionField:$DueDateOfPymt:@@LastItem:BankChequePymtVouchers
CurrentChequeNumber : $$Number:@@LastChequeNo + 1
AutoChequeNumber : If @@CurrentChequeNumber = 1 then @@LedMasChequeNoStarting else @@CurrentChequeNumber
;; AutoChequeNumber : If @@CurrentChequeNumber = 1 then @@LedMasChequeNoFrom else @@CurrentChequeNumber
IsChequeVouchers : Not $$IsEmpty:$DueDateOfPymt
LedMasChequeNoFrom : $LedObjChequeNoFrom:Ledger:@@VchChequeBankName
LedMasChequeNoTo : $LedObjChequeNoTo:Ledger:@@VchChequeBankName
LedMasChequeNoWidth : $LedObjChequeNoWidth:Ledger:@@VchChequeBankName
LedMasChequeNoPrefix : $LedObjChequeNoPrefix:Ledger:@@VchChequeBankName
LedMasChequeNoStarting : $LedObjChequeNoStarting:Ledger:@@VchChequeBankName
;; VchChequeBankName : $$FilterValue:$LedgerName:AllLedgerEntries:First:IsBankLedger
VchChequeBankName : $VchChequeBankNameInvisible
IsManualChequeNo : $$IsEmpty:@@LedMasChequeNoFrom
;; IsAppropriateBankLedger : $$FilterCount:AllLedgerEntries:ForThisBankLedger > 0
IsAppropriateBankLedger : @@VchChequeBankName = $$ReqObject:@@VchChequeBankName
ForThisBankLedger : $LedgerName = $$ReqObject:@@VchChequeBankName
ChequeBook Exhaust MSG : “Cheque Book ” + $$NewLine + “is Exhausted”
IsChequeBookExhausted : (@@AutoChequeNumber > @@LedMasChequeNoTo) And Not @@IsManualChequeNo
RangeVouchers : ($$Number:$DuedateofPymt => $$ReqObject:@@LedMasChequeNoFrom And $$Number:$DuedateofPymt <= $$ReqObject:@@LedMasChequeNoTo)
IsCancelledPymtVch : $IsCancelled

AutoChequeNoCharactor1 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:0:1
AutoChequeNoCharactor2 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:1:1
AutoChequeNoCharactor3 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:2:1
AutoChequeNoCharactor4 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:3:1
AutoChequeNoCharactor5 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:4:1
AutoChequeNoCharactor6 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:5:1
AutoChequeNoCharactor7 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:6:1
AutoChequeNoCharactor8 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:7:1
AutoChequeNoCharactor9 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:8:1
AutoChequeNoCharactor10 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:9:1
AutoChequeNoCharactor11 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:10:1
AutoChequeNoCharactor12 : $$IsEmpty:$$StringPart:@@AutoChequeNumber:11:1

AutoFillNumber : (@@LedMasChequeNoWidth – @@WidthOfAutoChequeNo)

AutoFillZero : If @@AutoFillNumber <= 0 then “” else +
If @@AutoFillNumber = 1 then “0” else +
If @@AutoFillNumber = 2 then “00” else +
If @@AutoFillNumber = 3 then “000” else +
If @@AutoFillNumber = 4 then “0000” else +
If @@AutoFillNumber = 5 then “00000” else +
If @@AutoFillNumber = 6 then “000000” else +
If @@AutoFillNumber = 7 then “0000000” else +
If @@AutoFillNumber = 8 then “00000000” else +
If @@AutoFillNumber = 9 then “000000000” else +
If @@AutoFillNumber =10 then “0000000000” else +
If @@AutoFillNumber =11 then “00000000000” else “”

WidthOfAutoChequeNo : If @@AutoChequeNoCharactor1 then 0 else +
If @@AutoChequeNoCharactor2 then 1 else +
If @@AutoChequeNoCharactor3 then 2 else +
If @@AutoChequeNoCharactor4 then 3 else +
If @@AutoChequeNoCharactor5 then 4 else +
If @@AutoChequeNoCharactor6 then 5 else +
If @@AutoChequeNoCharactor7 then 6 else +
If @@AutoChequeNoCharactor8 then 7 else +
If @@AutoChequeNoCharactor9 then 8 else +
If @@AutoChequeNoCharactor10 then 9 else +
If @@AutoChequeNoCharactor11 then 10 else +
If @@AutoChequeNoCharactor12 then 11 else 12

;; ******************************************************************************************************************************************************************************

;;[#Field : Vch Narration]
;; Set as : $$ReqObject:@@LedMasChequeNoFrom ;;;@@AutoFillNumber ;;;@@AutoFillZero
;; Set Always : Yes

;;**************************************************************************************************************************************************************************
;; To Control if the cheque book is exhausted
;;**************************************************************************************************************************************************************************

[#Form : Accounting Voucher]
Control : ChequeBook Exhaust MSG : @@IsChequeBookExhausted

[#Form : Voucher]
Control : ChequeBook Exhaust MSG : @@IsChequeBookExhausted

;;**************************************************************************************************************************************************************************
;;**************************************************************************************************************************************************************************

[#Object : Ledger]
LedObjChequeNoFrom : $$CollectionField:$LedgerChequeNoFrom:@@LastItem:LedgerChequeNoAllocations
LedObjChequeNoTo : $$CollectionField:$LedgerChequeNoTo:@@LastItem:LedgerChequeNoAllocations
LedObjChequeNoWidth : $$CollectionField:$LedgerChequeNumericalWidth:@@LastItem:LedgerChequeNoAllocations
LedObjChequeNoPrefix : $$CollectionField:$LedgerChequeNoPrefix:@@LastItem:LedgerChequeNoAllocations
LedObjChequeNoStarting : $$CollectionField:$LedgerChequeNoStart:@@LastItem:LedgerChequeNoAllocations

[System : UDF]
LedgerChequeNoAllocations : Aggregate : 6

LedgerChequeNoFrom : Number : 1
LedgerChequeNoTo : Number : 2
LedgerChequeNumericalWidth : Number : 3
LedgerChequeNoStart : Number : 4
LedgerChequeNoPrefix : String : 1

Vch ChequeBankNameInvisible : String : 27

;;**************************************************************************************************************************************************************************
;;**************************************************************************************************************************************************************************
;;[#Menu : Gateway of Tally]
;; Add : Item : Test Vch : Display : Test Vch

[Report : Test Vch]
Form : Test Vch

[Form :Test Vch]
Part : Test Vch

[Part : Test Vch]
Line : Test Vch
Repeat : Test Vch : BankChequePymt Vouchers
SCroll : Vertical

[Line : Test Vch]
Field : Test Vch1, Test Vch2, Test Vch3, Test Vch4, Test Vch5, Test Vch6, Test Vch7, Test Vch8

[Field : Test Vch7]
Use : Name Field
Set as : $DueDateOfPymt

[Field : Test Vch8]
Use : Name Field
Set as : $VchChequeBankNameInvisible

[Field : Test Vch1]
Use : Name Field
Set as : $VoucherNumber

[Field : Test Vch2]
Use : Name Field
Set as : $VoucherTypeName

[Field : Test Vch3]
Use : Amount Field
Set as : $Amount

[Field : Test Vch4]
Use : Shortdate Field
Set as : $date

[Field : Test Vch5]
Use : Name Field
Set as : $DuedateofPymt

[Field : Test Vch6]
Use : Logical Field
Set as : $IsCancelled

;;**************************************************************************************************************************************************************************
;;EOF

Step 2: अब above code को Save करने के बाद Tally Prime पर TDL File अपलोड करें ( और अगर आपको Tally Prime पर TDL File upload करने का तरीका नहीं पता है तो नीचे दिए गए Link पर Click करें जो आपको Tally Prime पर TDL File अपलोड करने के लिए Guide करेगा )

Step 3: अब Gateway of Tally Select F11: Features or Press F11: Features button. 

Step 4: Select Accounting Features or Press A from the F11: Features Menu.

Step 5: Set the option ‘Set/Alter Cheque Printing Configuration’ to Yes.

Step 6: Select the Bank name as shown.

Step 7: Accept the Cheque printing configuration screen & Accept the F11: Features.

Step 8: Go to Gateway of Tally -> Accounts Info -> Ledgers -> Select Alter

Step 9: Select the Bank Ledger name

Step 10: In the Ledger alteration screen, set ‘Enter Cheque number details’ to Yes [Gateway of
Tally -> Accounts Info -> Ledgers -> Alter -> HDFC Bank].

Step 11: When the option ‘Enter Cheque number details’ is set to Yes the below screen is
displayed, where the fields should be filled manually.

Step 12: Accept the Ledger Alteration screen.

Step 13: From the Gateway of Tally Select Accounting Vouchers or Press V.

Step 14: Press F5 to go to the Payment Voucher.> Select ABC & Co by pressing Enter from the drop-down list of ledgers. > Enter the amount in the Debit field. Press Enter.

Step 15:  Press Enter to come back to the Payment Voucher screen. > Press Enter and select HDFC Bank from the drop-down list. Credit column will be updated with the amount automatically. >Set ‘Generate Auto Cheque No’ to Yes. The Cheque Number and Date will automatically appear.

Step 16: Type the Cheque number in the Narration field. Press Enter to accept the
Voucher.

धन्यवाद दोस्तों ! अगर आपको ये आर्टिक्ल पसंद आया हैं तो इसको सोशल मीडिया पर अपने दोस्तो के साथ जरूर से शेयर कीजिए, जिससे उनको भी ये जानकारी प्राप्त हो सके।

 Download Button पर  Click कर के फ़ाइल डाउनलोड करें

Leave a Comment