यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
आपूर्ति श्रृंखला या व्यापार परिदृश्यों में, अक्सर एक मानकीकृत "आपूर्ति और खरीद अनुबंध" को तेज़ी से जनरेट करने की आवश्यकता होती है, और डेटा स्रोत से खरीदारों, विक्रेताओं और उत्पाद विवरण जैसी जानकारी के आधार पर सामग्री को गतिशील रूप से भरना होता है। नीचे, हम एक सरलीकृत "अनुबंध" उपयोग-मामले का उदाहरण देंगे ताकि आपको यह दिखाया जा सके कि "टेम्पलेट प्रिंट" फ़ंक्शन को कैसे कॉन्फ़िगर और उपयोग किया जाए, डेटा जानकारी को अनुबंध टेम्पलेट में प्लेसहोल्डर से कैसे मैप किया जाए, जिससे अंतिम अनुबंध दस्तावेज़ स्वचालित रूप से जनरेट हो सके।
हमारे उदाहरण में, मोटे तौर पर निम्नलिखित मुख्य संग्रह (अन्य अप्रासंगिक फ़ील्ड को छोड़कर) मौजूद हैं:

चूंकि वर्तमान सिस्टम केवल एकल रिकॉर्ड प्रिंट करने का समर्थन करता है, हम "अनुबंध विवरण" पृष्ठ पर "प्रिंट" पर क्लिक करेंगे, और सिस्टम स्वचालित रूप से संबंधित अनुबंध रिकॉर्ड, साथ ही संबंधित पार्टियों और अन्य जानकारी को पुनः प्राप्त करेगा, और उन्हें Word या PDF दस्तावेज़ों में भरेगा।
ध्यान दें, हमारा "टेम्पलेट प्रिंट" एक व्यावसायिक प्लगइन है जिसे प्रिंटिंग कार्य करने से पहले खरीदना और सक्रिय करना होगा।

प्लगइन सक्रियण की पुष्टि करें:
किसी भी पृष्ठ पर, एक विवरण ब्लॉक (जैसे उपयोगकर्ता) बनाएं और जांचें कि क्या कार्य कॉन्फ़िगरेशन में संबंधित टेम्पलेट कॉन्फ़िगरेशन विकल्प है:


ऊपर डिज़ाइन किए गए मुख्य इकाई संग्रह, अनुबंध संग्रह और उत्पाद आइटम संग्रह बनाएं (केवल मुख्य फ़ील्ड चुनें)।
| फ़ील्ड श्रेणी | Field Display Name | Field Name | Field Interface |
|---|---|---|---|
| PK & FK Fields | |||
| ID | id | Integer | |
| Buyer ID | buyer_id | Integer | |
| Seller ID | seller_id | Integer | |
| Association Fields | |||
| Contract Items | contract_items | One to many | |
| Buyer (Party A) | buyer | Many to one | |
| Seller (Party B) | seller | Many to one | |
| General Fields | |||
| Contract Number | contract_no | Single line text | |
| Delivery Start Date | start_date | Datetime (with time zone) | |
| Delivery End Date | end_date | Datetime (with time zone) | |
| Deposit Ratio (%) | deposit_ratio | Percent | |
| Payment Days After Delivery | payment_days_after | Integer | |
| Bank Account Name (Beneficiary) | bank_account_name | Single line text | |
| Bank Name | bank_name | Single line text | |
| Bank Account Number (Beneficiary) | bank_account_number | Single line text | |
| Total Amount | total_amount | Number | |
| Currency Codes | currency_codes | Single select | |
| Balance Ratio (%) | balance_ratio | Percent | |
| Balance Days After Delivery | balance_days_after | Integer | |
| Delivery Place | delivery_place | Long text | |
| Party A Signatory Name | party_a_signatory_name | Single line text | |
| Party A Signatory Title | party_a_signatory_title | Single line text | |
| Party B Signatory Name | party_b_signatory_name | Single line text | |
| Party B Signatory Title | party_b_signatory_title | Single line text | |
| System Fields | |||
| Created At | createdAt | Created at | |
| Created By | createdBy | Created by | |
| Last Updated At | updatedAt | Last updated at | |
| Last Updated By | updatedBy | Last updated by |
| फ़ील्ड श्रेणी | Field Display Name | Field Name | Field Interface |
|---|---|---|---|
| PK & FK Fields | |||
| ID | id | Integer | |
| General Fields | |||
| Party Name | party_name | Single line text | |
| Address | address | Single line text | |
| Contact Person | contact_person | Single line text | |
| Contact Phone | contact_phone | Phone | |
| Position | position | Single line text | |
| Website | website | URL | |
| System Fields | |||
| Created At | createdAt | Created at | |
| Created By | createdBy | Created by | |
| Last Updated At | updatedAt | Last updated at | |
| Last Updated By | updatedBy | Last updated by |
| फ़ील्ड श्रेणी | Field Display Name | Field Name | Field Interface |
|---|---|---|---|
| PK & FK Fields | |||
| ID | id | Integer | |
| Contract ID | contract_id | Integer | |
| Association Fields | |||
| Contract | contract | Many to one | |
| General Fields | |||
| Product Name | product_name | Single line text | |
| Specification / Model | spec | Single line text | |
| Quantity | quantity | Integer | |
| Unit Price | unit_price | Number | |
| Total Amount | total_amount | Number | |
| Delivery Date | delivery_date | Datetime (with time zone) | |
| Remark | remark | Long text | |
| System Fields | |||
| Created At | createdAt | Created at | |
| Created By | createdBy | Created by | |
| Last Updated At | updatedAt | Last updated at | |
| Last Updated By | updatedBy | Last updated by |
नमूना डेटा दर्ज करें:


कुल मूल्य और शेष भुगतान की स्वचालित रूप से गणना करने के लिए लिंकेज नियम इस प्रकार कॉन्फ़िगर करें:

एक दृश्य ब्लॉक बनाएं, डेटा की पुष्टि करने के बाद, "टेम्पलेट प्रिंट" कार्य सक्षम करें:


एक टेम्पलेट कॉन्फ़िगरेशन जोड़ें, जैसे "आपूर्ति और खरीद अनुबंध":


इसके बाद, हम फ़ील्ड सूची टैब पर जाएंगे, जहाँ हम वर्तमान ऑब्जेक्ट के सभी फ़ील्ड देख सकते हैं। "कॉपी" पर क्लिक करने के बाद, हम टेम्पलेट भरना शुरू कर सकते हैं।

Word अनुबंध टेम्पलेट फ़ाइल
अनुबंध टेम्पलेट (.docx फ़ाइल) पहले से तैयार रखें, उदाहरण के लिए: SUPPLY AND PURCHASE CONTRACT.docx
इस उदाहरण में, हमने "आपूर्ति और खरीद अनुबंध" का एक सरलीकृत संस्करण दिया है, जिसमें नमूना प्लेसहोल्डर शामिल हैं:
{d.contract_no}: अनुबंध संख्या{d.buyer.party_name}、{d.seller.party_name}: खरीदार और विक्रेता के नाम{d.total_amount}: अनुबंध की कुल राशिइसके बाद, आप अपने संग्रह से फ़ील्ड को कॉपी करके Word में पेस्ट कर सकते हैं।
मूल फ़ील्ड भरना:
उदाहरण के लिए, सबसे ऊपर अनुबंध संख्या, या हमारे अनुबंध पर हस्ताक्षर करने वाली इकाई का ऑब्जेक्ट। हम कॉपी पर क्लिक करते हैं और इसे सीधे अनुबंध में संबंधित खाली स्थान पर पेस्ट कर देते हैं।


टेम्पलेट में, हमें अक्सर फ़ील्ड को फ़ॉर्मेट करने की आवश्यकता होती है, खासकर दिनांक फ़ील्ड को। सीधे कॉपी किया गया दिनांक फ़ॉर्मेट आमतौर पर लंबा होता है (जैसे Wed Jan 01 2025 00:00:00 GMT), और हमें वांछित शैली प्रदर्शित करने के लिए इसे फ़ॉर्मेट करना होता है।
दिनांक फ़ील्ड के लिए, आप आउटपुट फ़ॉर्मेट निर्दिष्ट करने के लिए formatD() फ़ंक्शन का उपयोग कर सकते हैं:
उदाहरण:
उदाहरण के लिए, यदि हमारा कॉपी किया गया मूल फ़ील्ड {d.created_at} है, और हमें दिनांक को 2025-01-01 इस फ़ॉर्मेट में फ़ॉर्मेट करना है, तो इस फ़ील्ड को इस प्रकार बदलें:
सामान्य दिनांक फ़ॉर्मेटिंग शैलियाँ:
YYYY - वर्ष (चार अंक)MM - माह (दो अंक)DD - दिन (दो अंक)HH - घंटा (24 घंटे का फ़ॉर्मेट)mm - मिनटss - सेकंडउदाहरण 2:
मान लीजिए कि अनुबंध में {d.total_amount} जैसा कोई राशि फ़ील्ड है। हम संख्याओं को फ़ॉर्मेट करने के लिए formatN() फ़ंक्शन का उपयोग कर सकते हैं, जिसमें दशमलव स्थान और हजारों का विभाजक निर्दिष्ट किया जाता है।
सिंटैक्स:
2 का अर्थ है दो दशमलव स्थान रखना।true या false।उदाहरण 1: हजारों के विभाजक और दो दशमलव स्थानों के साथ राशि को फ़ॉर्मेट करें
यह d.amount को दो दशमलव स्थानों में फ़ॉर्मेट करेगा और हजारों का विभाजक जोड़ेगा।
उदाहरण 2: राशि को दशमलव स्थानों के बिना पूर्णांक में फ़ॉर्मेट करें
यह d.amount को एक पूर्णांक में फ़ॉर्मेट करेगा और हजारों का विभाजक जोड़ेगा।
उदाहरण 3: दो दशमलव स्थानों के साथ लेकिन हजारों के विभाजक के बिना राशि को फ़ॉर्मेट करें
यहां हजारों का विभाजक अक्षम कर दिया गया है, और केवल दो दशमलव स्थान रखे गए हैं।
अन्य राशि फ़ॉर्मेटिंग आवश्यकताएँ:
स्ट्रिंग फ़ील्ड के लिए, आप टेक्स्ट के फ़ॉर्मेट को निर्दिष्ट करने के लिए :upperCase का उपयोग कर सकते हैं, जैसे केस रूपांतरण।
सिंटैक्स:
सामान्य रूपांतरण विधियाँ:
upperCase - सभी बड़े अक्षरों में बदलेंlowerCase - सभी छोटे अक्षरों में बदलेंupperCase:ucFirst - पहला अक्षर बड़ा करेंउदाहरण:
जब हमें कई उप-आइटम (जैसे उत्पाद विवरण) वाली एक तालिका प्रिंट करने की आवश्यकता होती है, तो आमतौर पर लूप प्रिंटिंग का उपयोग करना पड़ता है। इस तरह, सिस्टम सूची में प्रत्येक आइटम के लिए एक पंक्ति सामग्री जनरेट करेगा, जब तक कि सभी आइटमों को पार न कर लिया जाए।
मान लीजिए हमारे पास एक उत्पाद सूची (उदाहरण के लिए, contract_items) है, जिसमें कई उत्पाद ऑब्जेक्ट शामिल हैं। प्रत्येक उत्पाद ऑब्जेक्ट में कई विशेषताएँ होती हैं, जैसे उत्पाद का नाम, विनिर्देश, मात्रा, प्रति इकाई मूल्य, कुल राशि और टिप्पणी।
चरण 1: तालिका की पहली पंक्ति में फ़ील्ड भरें
सबसे पहले, तालिका की पहली पंक्ति (हेडर नहीं) में, हम सीधे टेम्पलेट चर को कॉपी करके भरते हैं। ये चर संबंधित डेटा द्वारा प्रतिस्थापित किए जाएंगे और आउटपुट में प्रदर्शित होंगे।
उदाहरण के लिए, तालिका की पहली पंक्ति इस प्रकार है:
| Product Name | Specification / Model | Quantity | Unit Price | Total Amount | Remark |
|---|---|---|---|---|---|
| {d.contract_items[i].product_name} | {d.contract_items[i].spec} | {d.contract_items[i].quantity} | {d.contract_items[i].unit_price} | {d.contract_items[i].total_amount} | {d.contract_items[i].remark} |
यहां, d.contract_items[i] उत्पाद सूची में i-वें आइटम का प्रतिनिधित्व करता है, और i एक सूचकांक है, जो वर्तमान उत्पाद के क्रम को दर्शाता है।
चरण 2: दूसरी पंक्ति में सूचकांक संशोधित करें
इसके बाद, तालिका की दूसरी पंक्ति में, हम फ़ील्ड के सूचकांक को i+1 में संशोधित करेंगे और केवल पहली विशेषता भरेंगे। ऐसा इसलिए है क्योंकि लूप प्रिंटिंग के दौरान, हमें सूची से डेटा का अगला आइटम निकालना होगा और उसे अगली पंक्ति में प्रदर्शित करना होगा।
उदाहरण के लिए, दूसरी पंक्ति इस प्रकार भरी जाती है:
| Product Name | Specification / Model | Quantity | Unit Price | Total Amount | Remark |
|---|---|---|---|---|---|
| {d.contract_items[i+1].product_name} |
इस उदाहरण में, हमने [i] को [i+1] में बदल दिया, ताकि हम सूची में अगला उत्पाद डेटा प्राप्त कर सकें।
चरण 3: टेम्पलेट रेंडरिंग के दौरान स्वचालित लूप प्रिंटिंग
जब सिस्टम इस टेम्पलेट को संसाधित करेगा, तो यह निम्नलिखित तर्क के अनुसार कार्य करेगा:
d.contract_items से डेटा निकालना शुरू कर देगा, तालिका के प्रारूप में प्रत्येक पंक्ति को लूप करके भरेगा, जब तक कि सभी उत्पाद विवरण प्रिंट नहीं हो जाते।प्रत्येक पंक्ति में i बढ़ेगा, जिससे यह सुनिश्चित होगा कि प्रत्येक पंक्ति में अलग-अलग उत्पाद जानकारी प्रदर्शित हो।


इस बिंदु पर, वर्तमान पॉपअप से बाहर निकलें और जनरेट किया गया पूर्ण टेम्पलेट प्राप्त करने के लिए "टेम्पलेट डाउनलोड करें" पर क्लिक करें।
टिप्स:
.doc या अन्य फ़ॉर्मेट का उपयोग करता है, तो इसे .docx में बदलने की आवश्यकता हो सकती है, जो प्लगइन समर्थन पर निर्भर करता है।आपको सफल उपयोग की शुभकामनाएँ! "टेम्पलेट प्रिंट" फ़ंक्शन के साथ, आप अनुबंध प्रबंधन में दोहराए जाने वाले काम को बहुत बचा सकते हैं, मैन्युअल कॉपी-पेस्ट त्रुटियों से बच सकते हैं, और मानकीकृत और स्वचालित अनुबंध आउटपुट प्राप्त कर सकते हैं।