TDL Programming Basics — Report, Form, Part, Line, Field और Collection (Beginners)
TDL (Tally Definition Language) में हर चीज़ एक “definition” है — और TallyPrime की हर screen Report → Form → Part → Line → Field की chain से बनती है, जबकि data Collection से आता है। यह guide सीखने वालों के लिए है: छोटे, सही examples से समझिए कि TDL code कैसा दिखता है। नीचे का code learning के लिए है — इसे हमेशा test company पर चलाएँ।
TDL की 5 मूल बातें
- Definition: हर block
[Type: Name]से शुरू होता है, जैसे[Report: My Report]। Type और Name का जोड़ unique होना चाहिए। - Attribute: definition के अंदर की lines —
Attribute : Value, जैसेForm : My Form। - Modifier:
#से मौजूदा (TallyPrime की default) definition बदली जाती है, नई नहीं बनती। - Comment:
;;से शुरू line को TallyPrime ignore करता है। - Methods और functions:
$Nameकिसी object का field (method) है,$$से built-in function call होता है।
Screen की chain: Report से Field तक
| Definition | क्या है | आसान तुलना |
|---|---|---|
| Report | सबसे ऊपर — क्या दिखेगा, कैसे काम करेगा | पूरी किताब |
| Form | Report का layout | पन्ना |
| Part | Form का एक हिस्सा | पन्ने का paragraph block |
| Line | Part की एक row | एक पंक्ति |
| Field | जहाँ value दिखती या भरी जाती है | एक शब्द / खाना |
| Menu | Items की list (जैसे Gateway of Tally); Report की तरह अकेला रह सकता है | किताबों की सूची |
| Collection | Data का group — ledgers, vouchers, stock items | data की टोकरी |
Form, Part, Line और Field अकेले नहीं चलते — वे हमेशा किसी Report के अंदर इस्तेमाल होते हैं। Report और Menu स्वतंत्र हैं।
Example 1: Hello TDL (learning के लिए)
यह Gateway of Tally में एक नया item जोड़ता है, जो एक छोटी report खोलकर एक line दिखाता है:
;; Learning example - Gateway of Tally mein naya item
[#Menu: Gateway of Tally]
Add : Item : Hello TDL : Display : Hello TDL
[Report: Hello TDL]
Form : Hello TDL
[Form: Hello TDL]
Part : Hello TDL
[Part: Hello TDL]
Line : Hello TDL
[Line: Hello TDL]
Field : Hello TDL
[Field: Hello TDL]
Set As : "Namaste! Yeh meri pehli TDL hai"
Full Width : Yes
ध्यान दें: पहली definition में # है, यानी TallyPrime की अपनी Gateway of Tally menu बदली जा रही है। Display : Hello TDL का मतलब है item चुनने पर “Hello TDL” report display mode में खुलेगी। बाकी हर definition अगली को नाम से बुलाती है — यही chain है।
Example 2: Collection से ledgers की list
अब data लाते हैं। Collection सभी ledgers इकट्ठा करता है और Part उसकी हर ledger के लिए Line दोहराता है:
[Collection: AT Ledgers]
Type : Ledger
Fetch : Name, Parent
[Part: AT Ledger List]
Line : AT Ledger Line
Repeat : AT Ledger Line : AT Ledgers
Scroll : Vertical
[Line: AT Ledger Line]
Field : AT Ledger Name
[Field: AT Ledger Name]
Set As : $Name
Full Width : Yes
Repeat line को collection की हर entry के लिए दोहराता है और $Name हर ledger का नाम देता है। इस Part को किसी Form में लगाकर report बनाई जा सकती है — ऊपर वाले Hello TDL जैसा।
Code को चलाएँ कैसे
- Code को Notepad में .txt या .tdl file के रूप में save करें (या Tally Developer में)।
- Test company खोलें, F1 → TDLs & Add-Ons → F4 से file load करें — पूरे steps।
- Ctrl+Alt+T से देखें कि TDL loaded है; error हो तो message पढ़ें (अक्सर spelling या missing definition)।
- सीखने के लिए Tally की official Developer Reference (help.tallysolutions.com) सबसे अच्छा source है।
# भूल जाना या ज़्यादा लगा देना
[Menu: Gateway of Tally] (बिना #) लिखने पर TallyPrime इसे नई definition मानेगा और error/गलत behaviour आएगा। Default definition बदलनी हो तो # ज़रूर लगाएँ; अपनी नई definition पर नहीं।
नाम में spelling mismatch
Form : Hello TDL लिखा और definition [Form: Hello-TDL] बनाई — chain टूट जाएगी। हर नाम exactly वही लिखें जो definition में है।
Practice code live company पर चलाना
Display वाली TDL से नुकसान कम है, पर data लिखने वाली गलत TDL entries बिगाड़ सकती है। सीखते समय हमेशा test company और backup।
FAQ
TDL programming kaise seekhein?
Is TDL hard to learn?
TDL लिखने के लिए कौन-सा software चाहिए?
TDL में # का क्या मतलब है?
Kya main seekhkar khud business ki TDL bana sakta hoon?
सीख रहे हैं और कहीं अटक गए, या business के लिए production-ready TDL चाहिए — हम source-code level पर TDL लिखते हैं। WhatsApp करें।
WhatsApp पर पूछेंRelated: TDL Customization Services · TDL क्या है · TDL Errors Fix