मुद्रित प्रपत्र 1एस 8.3 में टेम्पलेट

यह कोई रहस्य नहीं है कि, हालांकि आजकल अधिक से अधिक कंपनियां इलेक्ट्रॉनिक दस्तावेज़ प्रबंधन पर स्विच कर रही हैं, पुरानी कहावत "बिना कागज के, आप..." अपनी प्रासंगिकता नहीं खोती है। ऐसा होता है कि किसी कारण से निरीक्षण अधिकारी मुख्य रूप से कागजी दस्तावेजों में रुचि रखते हैं। इसलिए, यदि आप वित्तीय नियंत्रण के लिए सक्रिय रूप से 1सी: अकाउंटिंग या एंटरप्राइज प्रोग्राम का उपयोग करते हैं, तो यह जानना महत्वपूर्ण है कि प्रोग्राम का उपयोग करके बनाए गए इलेक्ट्रॉनिक दस्तावेज़ को कैसे प्रिंट किया जाए।

1सी में मुद्रित प्रपत्र आपको इलेक्ट्रॉनिक दस्तावेज़ को मुद्रित संस्करण में बदलने की अनुमति देते हैं।

इसके लिए डेवलपर ने एक उत्कृष्ट टूल - प्रिंट डिज़ाइनर प्रदान किया है। इसकी मदद से, आप ऐसे दस्तावेज़ बना सकते हैं जिनमें आप अपनी ज़रूरत का कोई भी डेटा निर्दिष्ट कर सकते हैं, न कि केवल कुछ मानक प्रपत्र। यह उन दस्तावेज़ों के लिए विशेष रूप से सच है जिनका कोई कड़ाई से विनियमित रूप नहीं है, जिसे किसी भी परिस्थिति में बदला नहीं जा सकता है। इसमें, विशेष रूप से, काम पूरा होने का एक अधिनियम, कुछ चालान या भुगतान शामिल हो सकते हैं।

इस गाइड में, हम प्रिंट डिज़ाइनर की क्षमताओं को समझने का प्रस्ताव करते हैं, विचार करते हैं कि प्रिंटिंग फॉर्म किस प्रकार के हो सकते हैं और वे एक दूसरे से कैसे भिन्न हैं। हम एक उदाहरण के साथ यह भी दिखाएंगे कि बनाए गए फॉर्म को कैसे प्रिंट किया जाए।

सबसे पहले, यह समझने लायक है कि सामान्य तौर पर, 1C 8 में एक मुद्रित प्रपत्र क्या होता है। यह एक 1C स्प्रेडशीट टेम्पलेट (एक्सेल की तरह) है, जिसमें कुछ चर पंक्तियाँ निर्दिष्ट की जाती हैं, जो दस्तावेज़ बनाते समय प्रोग्राम के डेटा से भरी होती हैं।

मुद्रण प्रपत्र दो प्रकार में आते हैं:

  • आंतरिक (अंतर्निहित)। वे प्रोग्राम कॉन्फ़िगरेशन में संग्रहीत हैं, इसलिए बेहतर है कि उन्हें न बदला जाए, क्योंकि बाद में अद्यतन के दौरान समस्याएँ उत्पन्न हो सकती हैं।
  • बाहरी - प्रोग्राम सेटिंग्स से अलग संग्रहीत। और उनकी मदद से, आप 1C 8 प्रोग्राम के कॉन्फ़िगरेशन को प्रभावित किए बिना, लगभग किसी भी जटिलता का दस्तावेज़ बना और प्रिंट करने के लिए तैयार कर सकते हैं।

पहले से तैयार लेआउट कैसे चुनें? इनकमिंग या आउटगोइंग ऑपरेशन करने के बाद, उदाहरण के लिए, पूर्ण किए गए कार्य की रिपोर्ट लिखना, आप दस्तावेजों को प्रिंट करने के लिए "प्रिंट" बटन पर क्लिक करते हैं। सूची मुद्रण योग्य प्रपत्रों की एक सूची प्रदर्शित करती है जो पहले से ही किए गए लेनदेन और आपकी कंपनी के बारे में दर्ज किए गए डेटा से भरे हुए हैं। आपको जिस प्रकार के दस्तावेज़ की आवश्यकता है उस पर क्लिक करके, आप एक पूर्वावलोकन विंडो खोलते हैं ताकि आप सुनिश्चित कर सकें कि आपके द्वारा भरा गया डेटा सही है। प्रिंट बटन दस्तावेज़ को प्रिंटर पर प्रिंट करता है।

बुनियादी बातों को ध्यान में रखते हुए, आइए जानें कि आपके सभी प्रिंटयोग्य कहाँ संग्रहीत हैं। आइए अगले प्रश्न पर चलते हैं।

मुद्रित प्रपत्र कहाँ संग्रहीत किये जाते हैं?

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

दूसरे मामले में, आपको मेनू अनुभाग "प्रशासन" - "प्रिंट फॉर्म, रिपोर्ट और प्रसंस्करण" - "मुद्रित फॉर्म के लेआउट" पर जाना होगा। यह सभी दस्तावेज़ लेआउट प्रदर्शित करेगा। उल्लेखनीय है कि इन्हें एक ही मेनू में संपादित किया जा सकता है।

बाहरी प्रपत्रों के लिए, आपको पहले या तो उन्हें कॉन्फ़िगरेटर मोड के माध्यम से बनाना होगा, या एक तैयार फ़ाइल डाउनलोड करके, और फिर उन्हें "प्रशासन" मेनू से कनेक्ट करना होगा - "मुद्रित प्रपत्र, रिपोर्ट और प्रसंस्करण" - "अतिरिक्त रिपोर्ट और प्रसंस्करण” हम इस बारे में थोड़ी देर बाद बात करेंगे।

अंतर्निर्मित प्रिंट डिज़ाइनर का उपयोग करके एक सरल फ़ॉर्म बनाना

इस तरह के मुद्रित प्रपत्र में गहन संपादन की संभावना नहीं है, क्योंकि इससे प्रोग्राम कॉन्फ़िगरेशन में बदलाव होगा, साथ ही इसे अपडेट करते समय और भी कठिनाइयाँ होंगी। हालाँकि, यदि आप मानक फॉर्म से पूरी तरह संतुष्ट हैं या बाहरी फॉर्म बनाने की जटिलताओं को समझना चाहते हैं, तो यह विधि आपके लिए पूरी तरह उपयुक्त है।

  1. सबसे पहले, कॉन्फिगरेटर मोड में लॉन्च करें, आपको आवश्यक दस्तावेज़ ढूंढें, उदाहरण के लिए, उत्पादों और सेवाओं की बिक्री, दस्तावेज़ गुणों में एक्शन - डिज़ाइनर - प्रिंट डिज़ाइनर पर जाएं।
  2. जब कार्य विकल्प के लिए कहा जाए, तो नियमित प्रपत्र चुनें।
  3. नए लेआउट को एक नाम दें, उदाहरण के लिए, "इनवॉइस प्रिंट करें।"
  4. वह विवरण चुनें जो आप दस्तावेज़ के शीर्षलेख में देखना चाहते हैं। इसके अलावा, उन्हें उसी क्रम में चुना जाना चाहिए जिसमें वे प्रदर्शित किए जाएंगे। चयन करने के लिए, आपको कर्सर के साथ बाएं कॉलम में आइटम को हाइलाइट करना होगा और स्क्रीन के बीच में तीर को दबाना होगा ताकि विवरण दाएं कॉलम में दिखाई दे।
  5. तालिका अनुभाग में प्रदर्शित होने वाले विवरणों को चिह्नित करें। विवरण का चयन पिछले पैराग्राफ के समान सिद्धांत का पालन करता है।
  6. इसी तरह दस्तावेज़ के निचले भाग का विवरण चुनें।
  7. निर्माण के अंतिम चरण में, चुनें कि क्या आप पूर्वावलोकन के बिना तुरंत प्रिंट करना चाहते हैं, क्या आपको तालिका की सुरक्षा करने की आवश्यकता है, और फिर ओके बटन के साथ फॉर्म के निर्माण की पुष्टि करें।

एक बाहरी मुद्रण प्रपत्र बनाना

प्रिंट डिज़ाइनर के माध्यम से बनाए गए फॉर्म की तुलना विज़ुअल सॉफ़्टवेयर संपादक से की जा सकती है, जब आप सभी कोड मैन्युअल रूप से दर्ज नहीं करते हैं, बल्कि इसे केवल प्रस्तावित तत्वों से बनाते हैं। बाहरी प्रपत्र मैन्युअल रूप से लिखित प्रोग्राम कोड वाली एक फ़ाइल है, जो स्क्रीन पर डेटा प्रदर्शित करने की प्रक्रिया का वर्णन करती है। यह आपको किसी भी क्रम में किसी भी डेटा को निर्दिष्ट करते हुए, मुद्रित फॉर्म को अपनी इच्छानुसार संपादित करने की अनुमति देता है।

एक अतिरिक्त लाभ यह है कि, भले ही आप 1सी 8 प्रोग्रामिंग की जटिलताओं को नहीं समझते हैं या समझना नहीं चाहते हैं, आप इस प्रक्रिया को पेशेवरों को सौंप सकते हैं। वे आपके लिए आवश्यक फॉर्म तैयार करने में सक्षम होंगे और इसे आपको एक तैयार फ़ाइल के रूप में प्रदान करेंगे, जिसे आप केवल एक बटन के कुछ क्लिक के साथ सक्रिय कर सकते हैं।

अब आइए प्रक्रिया के बारे में अधिक बात करें। आइए दस्तावेज़ "बिक्री (कार्य, चालान)" के लिए "चालान" लेआउट बनाने का उदाहरण देखें।

  1. 1C 8 प्रोग्राम को कॉन्फिगरेटर मोड में खोलें।
  2. फ़ाइल - नया - बाह्य प्रसंस्करण पर क्लिक करें, इसे एक नाम दें (इसमें रिक्त स्थान शामिल नहीं होना चाहिए), फिर क्रियाएँ - ऑब्जेक्ट मॉड्यूल खोलें पर क्लिक करें।
  3. खुलने वाले इनपुट फ़ील्ड में, निम्नलिखित कोड दर्ज करें (जिन मानों को आपके अनुसार बदला जा सकता है उन्हें पीले रंग में हाइलाइट किया गया है):

फ़ंक्शन सूचनाऑनएक्सटर्नलप्रोसेसिंग() निर्यात
पंजीकरण पैरामीटर = नई संरचना;
ArrayDestinations = नई सारणी;
असाइनमेंट की श्रृंखला.जोड़ें('दस्तावेज़.वस्तुओं और सेवाओं की बिक्री'); // उस दस्तावेज़ को निर्दिष्ट करें जिसके लिए हम बाहरी प्रिंट बना रहे हैं। रूप
पंजीकरण पैरामीटर्स.सम्मिलित करें ("देखें", "प्रिंटफॉर्म"); //शायद - प्रिंट करने योग्य फॉर्म, ऑब्जेक्ट भरना, अतिरिक्त रिपोर्ट, संबंधित ऑब्जेक्ट बनाना...
पंजीकरण पैरामीटर्स.सम्मिलित करें ("गंतव्य", गंतव्य की सरणी);
पंजीकरण पैरामीटर्स.सम्मिलित करें ("नाम", "माल की बिक्री के लिए आदेश"); // नाम जिसके तहत प्रसंस्करण बाहरी प्रसंस्करण की निर्देशिका में पंजीकृत किया जाएगा
पंजीकरण पैरामीटर्स.सम्मिलित करें ("सेफमोड", गलत);
पंजीकरण पैरामीटर्स.सम्मिलित करें ("संस्करण", "1.0");
पंजीकरण विकल्प.सम्मिलित करें ("सूचना", "यह मुद्रण योग्य प्रपत्र एक नमूने के रूप में बनाया गया था");
कमांडटेबल = GetCommandTable();
AddCommand(कमांडटेबल, "एक्सटर्नल ऑर्डर", "एक्सटर्नलऑर्डर", "कॉलसर्वरमेथोड", ट्रू, "एमएक्सएल प्रिंट");
पंजीकरण पैरामीटर्स.सम्मिलित करें ("कमांड", कमांडटेबल);
वापसीपंजीकरणपैरामीटर;
एंडफ़ंक्शन // बाहरी प्रसंस्करण के बारे में जानकारी()
फ़ंक्शन GetTableCommand()
कमांड = नया वैल्यूटेबल;
Commands.Columns.Add("View", New typeDescription("Row"));//प्रिंटिंग फॉर्म का विवरण उपयोगकर्ता के लिए कैसा दिखेगा
Commands.Columns.Add("पहचानकर्ता", नया प्रकार विवरण("स्ट्रिंग")); //प्रिंट फॉर्म लेआउट नाम
Commands.Columns.Add("उपयोग", NewTypeDescription("पंक्ति")); // सर्वर विधि को कॉल करें
Commands.Columns.Add("ShowAlert", NewTypeDescription("बूलियन"));
Commands.Columns.Add("संशोधक", NewTypeDescription("पंक्ति"));
वापसी टीम;
अंतकार्य
प्रक्रिया AddCommand(कमांडटेबल, दृश्य, पहचानकर्ता, उपयोग, शोअलर्ट = गलत, संशोधक = "")
न्यूकमांड = CommandTable.Add();
NewCommand.View = देखें;
NewCommand.Identifier = पहचानकर्ता;
NewCommand.Use = उपयोग;
NewCommand.ShowAlert = शोअलर्ट;
NewCommand.Modifier = संशोधक;
प्रक्रिया का अंत

  1. मुद्रण के लिए लेआउट को अपनी हार्ड ड्राइव पर किसी भी फ़ोल्डर में फ़ाइल के रूप में सहेजें, इसे उचित नाम दें।

उसी दस्तावेज़ में प्रोग्राम मेनू से प्रिंटिंग शुरू करने की प्रक्रिया डालें (पीले रंग में हाइलाइट किए गए कमांड लाइन से मेल खाने चाहिए):

कमांड जोड़ें (कमांड की तालिका, "बाहरी ऑर्डर", "बाहरी ऑर्डर"):
प्रक्रिया प्रिंट (ऑब्जेक्ट्स की सरणी, प्रिंटफॉर्म का संग्रह, प्रिंटऑब्जेक्ट्स, आउटपुट पैरामीटर्स) निर्यात
प्रिंट प्रबंधन.आउटपुट TabularDocumentIntoCollection(
मुद्रण प्रपत्रों का संग्रह,
"बाहरी आदेश"
"बाहरी आदेश"
जेनरेटप्रिंटफॉर्म(एरेऑफऑब्जेक्ट्स, प्रिंटऑब्जेक्ट्स);
अंतिम प्रक्रिया // प्रिंट()

  1. निचले बाएँ कोने में बाहरी फॉर्म के नाम पर क्लिक करके और "लेआउट" - "जोड़ें" - "स्प्रेडशीट दस्तावेज़" का चयन करके मुद्रित फॉर्म भरने के लिए एक लेआउट डालें, इसे एक नाम दें। उसके बाद, आवश्यक डेटा के साथ स्प्रेडशीट भरें। उदाहरण के लिए:
    • [प्राप्ति तिथि] से उत्पाद संख्या [प्राप्ति संख्या] के लिए ऑर्डर - राइट-क्लिक करें - गुण - लेआउट - भरना - टेम्पलेट।
    • वे कॉलम बनाएं जिन्हें आप अपने दस्तावेज़ में दिखाना चाहते हैं।
    • दर्ज किए गए कक्षों का चयन करें, तालिका - नाम - एक नाम निर्दिष्ट करें - "हेडर" नाम दर्ज करें पर क्लिक करें।
    • तालिका शीर्षलेखों के साथ पंक्ति की प्रतिलिपि बनाएँ, उनका चयन करें, राइट-क्लिक करें - गुण - लेआउट - भरना - पैरामीटर।
    • एक पंक्ति चुनें और उसे नाम दें, उदाहरण के लिए, "स्ट्रिंगटीसीएच"।
    • एक पाद लेख बनाएं: कुल लिखें, वह सेल जिसमें कुल राशि प्रदर्शित होनी चाहिए, इसे कुल कुल नाम दें, गुणों में "पैरामीटर" चुनें।
    • जिम्मेदार व्यक्ति को निर्दिष्ट करें, और अंतिम नाम प्रदर्शित करने के लिए सेल गुणों में, "पैरामीटर" निर्दिष्ट करें।
    • निचली पंक्तियों का चयन करें और श्रेणी को "फ़ुटर" नाम दें।
  2. अब इनपुट विंडो में, मुद्रित प्रपत्र तैयार करने के लिए फ़ंक्शन दर्ज करें:

फ़ंक्शन जनरेटप्रिंटफ़ॉर्म(LinkToDocument, PrintObjects)
TabularDocument = नया TabularDocument;
TabularDocument.प्रिंट पैरामीटर्स का नाम = "PRINT_PARAMETERS_VRTU को भुगतान के लिए चालान";
प्रोसेसिंग लेआउट = गेटलेआउट('भुगतान चालानबाहरी');
// हेडर भरें
एरियाहेडर = प्रोसेसिंगलेआउट.गेटएरिया('हेडर');
एरियाहेडर.पैरामीटर.डॉक्यूमेंटनंबर = LinkToDocument.नंबर;
एरियाहेडर.पैरामीटर.डॉक्यूमेंटडेट = LinkToDocument.Date;
एरियाहेडर.पैरामीटर.संगठननाम = LinkToDocument.संगठन.नाम;
// स्प्रेडशीट दस्तावेज़ में हेडर आउटपुट करें
TabularDocument.Output(HeaderArea);
//पीएम लाइनें भरें
रोएरिया = प्रोसेसिंगलेआउट.गेटएरिया("ROW");
दस्तावेज़ लिंक.उत्पाद चक्र से प्रत्येक वर्तमान पंक्ति के लिए
fillPropertyValues(RowArea.Parameters, currentRow);
TabularDocument.Output(RowArea);
अंतचक्र;
// बेसमेंट भरें
एरियाफुटर = प्रोसेसिंगलेआउट.गेटएरिया('फुटर');
एरियाफुटर.पैरामीटर्स.क्वांटिटीटोटल = LinkToDocument.Products.Total("मात्रा");
एरियाफुटर.पैरामीटर्स.अमाउंटटोटल = LinkToDocument.Products.Total('राशि');
एरियाफुटर.पैरामीटर.जिम्मेदारनाम = LinkToDocument.Manager.Name;
//फ़ुटर को स्प्रेडशीट दस्तावेज़ में आउटपुट करें
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = सत्य;
सारणीबद्ध दस्तावेज़ लौटाएँ;
अंतकार्य

  1. दस्तावेज़ में अपने परिवर्तन सहेजें.
  2. अब आपको बनाए गए फॉर्म को एक्टिवेट करना होगा। इसके लिए:
    • "प्रशासन" - "मुद्रित प्रपत्र, रिपोर्ट और प्रसंस्करण" - "अतिरिक्त रिपोर्ट और प्रसंस्करण" पर जाएं।
    • "बनाएं" बटन पर क्लिक करें, एक्सप्लोरर में बाहरी फॉर्म फ़ाइल का चयन करें, "सहेजें और बंद करें" बटन के साथ अपनी प्रविष्टि की पुष्टि करें।
  3. जांचने के लिए, सेल्स - सेल्स (अधिनियम, चालान) पर जाएं, "प्रिंट" बटन पर क्लिक करें, अपना फॉर्म चुनें और जांचें कि यह सही ढंग से भरा गया है।
  4. यदि आवश्यक हो तो दस्तावेज़ प्रिंट करें।

निष्कर्ष

हमने प्रिंट डिज़ाइनर के माध्यम से और बाहरी फॉर्म बनाने के उपकरण के माध्यम से एक मुद्रण योग्य फॉर्म बनाने का एक उदाहरण देखा। हमें उम्मीद है कि सब कुछ आपके लिए काम करेगा। अपने प्रश्न टिप्पणियों में छोड़ें।

1सी अकाउंटिंग 8.3 (संशोधन 3.0) में एक बाहरी मुद्रित फॉर्म (या प्रसंस्करण) कैसे जोड़ें (पंजीकृत करें)

2019-05-15T13:40:54+00:00

अक्सर एक एकाउंटेंट को मानक दस्तावेजों 1सी: अकाउंटिंग 8.3 (संशोधन 3.0) में से एक के लिए अतिरिक्त मुद्रित फॉर्म की आवश्यकता होती है। या अतिरिक्त प्रसंस्करण की आवश्यकता होती है, उदाहरण के लिए, किसी दस्तावेज़ को स्वचालित रूप से भरने या उसके आधार पर एक नया दस्तावेज़ दर्ज करने के लिए। आमतौर पर किसी ने पहले से ही ऐसी सुविधा विकसित कर ली है और इसे किसी प्रोग्रामर से पाया या ऑर्डर किया जा सकता है। और अब संशोधन प्राप्त हो चुका है, इसे लेखा विभाग में जोड़ना ही शेष है। इसे कैसे करना है? इस पर नीचे चरण दर चरण अधिक जानकारी दी गई है।

1. 1सी अकाउंटिंग 3.0 खोलें और बाएं पैनल में "प्रशासन" -> "प्रिंट फॉर्म, रिपोर्ट और प्रोसेसिंग" अनुभाग चुनें:

2. यहां, बाईं ओर "अतिरिक्त रिपोर्ट और प्रसंस्करण" चेकबॉक्स को चेक करने के बाद, "अतिरिक्त रिपोर्ट और प्रसंस्करण" ढूंढें और चुनें:

3. "फ़ाइल से जोड़ें..." बटन पर क्लिक करें।

4. और बाहरी प्रिंटिंग फॉर्म या प्रोसेसिंग (ईपीएफ एक्सटेंशन) वाली फाइल का चयन करें।

5. नई विंडो में, "सहेजें और बंद करें" बटन पर क्लिक करें।

6. वांछित दस्तावेज़ खोलें और सुनिश्चित करें कि प्रिंट बटन या "इसके आधार पर बनाएं" मेनू में एक आइटम या फॉर्म टूलबार पर एक नया बटन में एक और प्रिंट करने योग्य फॉर्म विकल्प दिखाई दे। तैयार!

ईमानदारी से, व्लादिमीर मिल्किन(शिक्षक और डेवलपर)।

शुभ दोपहर।

आज मैं आपको बताना चाहता हूं कि "वेतन और कार्मिक प्रबंधन 3.0" कॉन्फ़िगरेशन के लिए बाहरी मुद्रित फॉर्म कैसे बनाएं। जैसा कि आप जानते हैं, ZUP 3.0 मानक उपप्रणालियों की एक लाइब्रेरी का उपयोग करता है, जिसका अर्थ है कि प्रसंस्करण संरचना पूरी तरह से अलग दिखती है। जब मुझे पहली बार प्रबंधित प्रपत्रों में बीएसपी के लिए एक मुद्रित प्रपत्र बनाना था (तब यह यूटी 11 था), तो सबसे पहले मैंने आईटीएस डिस्क पर जाकर निर्यात प्रक्रियाओं, कौन से पैरामीटर होने चाहिए, इसके बारे में विस्तृत दस्तावेज ढूंढे। संसाधित किया गया और यह सब कैसे काम करता है। यहाँ ITS ने मुझे थोड़ा निराश किया, क्योंकि... दस्तावेज़ मॉड्यूल में प्रक्रियाएं कैसी दिखनी चाहिए, इसके बारे में सब कुछ वहां बताया गया है, और बाहरी मुद्रित रूप में "प्रिंट" प्रक्रिया के मापदंडों को फिर से व्यवस्थित किया गया है, इसलिए मुझे अन्य स्रोतों में जानकारी ढूंढनी पड़ी और अंदर से सबसिस्टम के साथ छेड़छाड़ करनी पड़ी। .

खैर, चलिए शुरू करते हैं। अंत में हमें जो मिलता है उसे एक टेम्पलेट के रूप में उपयोग किया जा सकता है।

पहला कदम- ज़ाहिर। आइए एक नई प्रोसेसिंग बनाएं। आइए इसे एक मनमाना नाम दें: "प्रिंट नमूना"।

दूसरा चरण।आइए एक लेआउट बनाएं. चूँकि हमारे पास एक परीक्षण उदाहरण है, मैं एक भी पैरामीटर के बिना, सबसे सरल लेआउट बनाऊंगा।

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

//प्रक्रिया जो कमांड टेबल संरचना तैयार करती है

फ़ंक्शन GetTableCommand()

// एक खाली कमांड टेबल और उसमें कॉलम बनाएं
कमांड = नया वैल्यूटेबल;

// उपयोगकर्ता के लिए मुद्रित प्रपत्र का विवरण कैसा दिखेगा
Commands.Columns.Add("देखें", NewTypeDescription("पंक्ति"));

// हमारे लेआउट का नाम, ताकि हम प्रिंट प्रोसेसिंग में कॉल किए गए कमांड को अलग कर सकें
Commands.Columns.Add("पहचानकर्ता", नया प्रकार विवरण("स्ट्रिंग"));

// यह सेट करता है कि प्रोसेसिंग कमांड को कैसे कॉल किया जाना चाहिए
//संभावित विकल्प:
// - ओपनिंगफॉर्म - इस मामले में, पहचानकर्ता कॉलम में उस फॉर्म का नाम दर्शाया जाना चाहिए जिसे सिस्टम खोलेगा
// - CallClientMethod - प्रोसेसिंग फॉर्म मॉड्यूल से क्लाइंट एक्सपोर्ट प्रक्रिया को कॉल करें
// - सर्वर विधि को कॉल करें - प्रोसेसिंग ऑब्जेक्ट मॉड्यूल से सर्वर निर्यात प्रक्रिया को कॉल करें
Commands.Columns.Add("उपयोग", नया प्रकारविवरण("पंक्ति"));

// अगला पैरामीटर निर्दिष्ट करता है कि प्रसंस्करण कार्य शुरू और समाप्त होने पर अधिसूचना दिखाई जानी चाहिए या नहीं। फार्म खोलते समय समझ नहीं आता
Commands.Columns.Add("ShowAlert", NewTypeDescription("बूलियन"));

// मुद्रित प्रपत्र के लिए, इसमें PrintMXL स्ट्रिंग होनी चाहिए
Commands.Columns.Add("संशोधक", नया प्रकार विवरण("पंक्ति"));

वापसी टीम;

अंतकार्य

//कमांड तालिका में एक नई पंक्ति बनाता है

फ़ंक्शन ऐडकमांड (कमांडटेबल, व्यू, पहचानकर्ता, उपयोग, शोअलर्ट = गलत, संशोधक = "")
न्यूकमांड = CommandTable.Add();
नई टीम। देखना = देखना;
नई टीम। पहचानकर्ता = पहचानकर्ता;
नई टीम। उपयोग = उपयोग;
नई टीम। शोअलर्ट= शोअलर्ट;
नई टीम। संशोधक = संशोधक;
अंतकार्य

फ़ंक्शन सूचनाऑनएक्सटर्नलप्रोसेसिंग() निर्यात
पंजीकरण पैरामीटर = नई संरचना;
ArrayDestinations = नई सारणी;
असाइनमेंट की श्रृंखला.जोड़ें('दस्तावेज़.किराये पर लेना');
पंजीकरण पैरामीटर्स.सम्मिलित करें ("देखें", "प्रिंटफॉर्म"); //शायद - एक वस्तु भरना, अतिरिक्त रिपोर्ट, संबंधित वस्तुएँ बनाना...
पंजीकरण पैरामीटर्स.सम्मिलित करें ("गंतव्य", गंतव्य की सरणी);
पंजीकरण पैरामीटर्स.सम्मिलित करें ("नाम", "हैलो वर्ल्ड"); // नाम जिसके तहत प्रसंस्करण बाहरी प्रसंस्करण की निर्देशिका में पंजीकृत किया जाएगा
पंजीकरण पैरामीटर्स.सम्मिलित करें ("संस्करण", "1.0");
पंजीकरण पैरामीटर्स.सम्मिलित करें ("सेफमोड", सत्य);
पंजीकरण पैरामीटर्स.सम्मिलित करें ("सूचना", "नमूना");//मुद्रण योग्य फॉर्म का विवरण उपयोगकर्ता के लिए इस तरह दिखेगा
कमांडटेबल = GetCommandTable();
AddCommand(CommandTable, "Hello World", "Layout", "CallServerMethod", True, "MXL Print");
पंजीकरण पैरामीटर्स.सम्मिलित करें ("कमांड", कमांडटेबल);
वापसीपंजीकरणपैरामीटर;
अंतकार्य

दरअसल, हर बार जब आप कोई नया बाहरी प्रिंटिंग फॉर्म बनाएंगे तो आपको उसमें बदलाव करना होगा। कोड के टुकड़े से यह स्पष्ट है कि हम इसे "भर्ती" दस्तावेज़ से जोड़ देंगे, तदनुसार आप अपना खुद का लिखें। हमारे मुद्रित फॉर्म को "हैलो वर्ल्ड" कहा जाएगा, फिर से हम इसे अपने में बदल देंगे। यहां टेम्पलेट में एक स्पष्ट बिलबोर्ड लिखना सुविधाजनक होगा ताकि यह ध्यान आकर्षित कर सके, ताकि बाद में इसे सही करना न भूलें; मेरी राय में, "हैलो वर्ल्ड" काम में आता है। संस्करण आपके लिए है, आप जो चाहते हैं उसे लिखें, यह बाहरी प्रसंस्करण की निर्देशिका में एक तत्व के रूप में प्रदर्शित किया जाएगा। "नमूना" शब्द भी मुद्रित प्रपत्रों की निर्देशिका के रूप में ही दृष्टिगोचर होता है। इसके बाद, हम एक कमांड जोड़ते हैं, यहां दूसरा पैरामीटर बटन का नाम है, यह वही है जो उपयोगकर्ता दस्तावेज़ में "प्रिंट" मेनू आइटम में देखेगा।

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

चरण चार- कोई कम दिलचस्प नहीं.

प्रिंट फ़ंक्शन?

लेकिन नहीं, अब यह कोई कार्य नहीं, बल्कि एक प्रक्रिया है।

मैं लेआउट वापस कैसे पा सकता हूँ?

इसे वैश्विक प्रिंट सबसिस्टम मॉड्यूल फ़ंक्शन पर भेजें।

ठीक है

इस प्रक्रिया का पाठ इस प्रकार है:

प्रक्रिया प्रिंट (ऑब्जेक्ट्स की सरणी, प्रिंटफॉर्म का संग्रह, प्रिंटऑब्जेक्ट्स, आउटपुट पैरामीटर्स) निर्यात
यदि PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") तो
प्रिंट प्रबंधन.आउटपुट TabularDocumentIntoCollection(कलेक्शनऑफप्रिंटफॉर्म,
"लेआउट", "लेआउट",
GenerateTabDocumentSample(वस्तुओं की सारणी, वस्तुओं को प्रिंट करें));
अगर अंत;
प्रक्रिया का अंत

अब स्पष्टीकरण के लिए. प्रक्रिया की पहली पंक्ति में थोड़ी अस्पष्ट स्थिति है। तथ्य यह है कि जब हम प्रिंट प्रक्रिया को कॉल करते हैं, तो सिस्टम हमें मूल्यों की एक तालिका देता है, जो इंगित करता है कि हमें क्या प्रिंट करने की आवश्यकता है। संक्षेप में, फ़ंक्शन ManagePrint.NeedPrintLayout(...) एक पंक्ति के मानों की तालिका में उपस्थिति की जांच करता है जिसमें "नाम" कॉलम में लेआउट के नाम के साथ एक पंक्ति होती है। व्यवहार में, अधिकांश मामलों में चीज़ बेकार है, क्योंकि... हमारी प्रोसेसिंग केवल एक मुद्रित प्रपत्र तैयार करने में सक्षम होगी। वे। इस शर्त को छोड़ा जा सकता है और इससे प्रदर्शन पर कोई असर नहीं पड़ेगा.

अगला, प्रिंट प्रबंधन। आउटपुट TabularDocumentIntoCollection(...) - यह वह है जो सारणीबद्ध लेआउट जोड़ता है जहां इसकी आवश्यकता होती है, ताकि इसे स्क्रीन पर प्रदर्शित किया जा सके। यदि आपको अपना स्प्रेडशीट दस्तावेज़ अपनी ही विंडो में दिखाना है (मानक विंडो में नहीं), तो इस प्रक्रिया को कॉल न करें, बल्कि बस अपना कोड यहां लिखें।

मैं यह भी जोड़ना चाहूंगा कि प्रिंट प्रक्रिया क्लाइंट पर की जाती है और यदि आवश्यक हो, तो आप प्रिंटिंग के लिए आवश्यक अतिरिक्त जानकारी के लिए उपयोगकर्ता से पूछने के लिए यहां एक निःशुल्क फॉर्म खोल सकते हैं।

अगला, GenerateTabDocumentSample(...) एक फ़ंक्शन है जिसे हमें प्रोसेसिंग मॉड्यूल में लिखना है और जो एक सारणीबद्ध दस्तावेज़ लौटाता है। 100 में से 100 मामलों में यह सर्वर-आधारित होगा, क्योंकि... हमें "ऑब्जेक्ट ऐरे" पैरामीटर में सूचीबद्ध ऑब्जेक्ट से विवरण का मूल्य प्राप्त करने की आवश्यकता है।

चरण पांच- एक लेआउट बनाना.

हुर्रे, हम अंततः लेआउट एल्गोरिदम, डेटा पुनर्प्राप्ति इत्यादि पर उतरेंगे।

लेकिन हमारे नमूने में हम पेशेवर ढंग से कार्य करेंगे और मैं यहां कोई टिप्पणी भी नहीं करूंगा)))

फ़ंक्शन जेनरेटटैबडॉक्यूमेंटसैंपल (ऑब्जेक्ट्स की सरणी, प्रिंट ऑब्जेक्ट्स)
tabDoc = नया TabularDocument;
लेआउट = गेटलेआउट("लेआउट");

एरियाहेडर = लेआउट.गेटएरिया('हेडर');
tabDoc.Output(क्षेत्रहेडर);

टैबडॉक लौटें;
अंतकार्य

बस इतना ही, आपके ध्यान के लिए धन्यवाद

यह आलेख वर्णन करता है कि "ट्रेड मैनेजमेंट 11.2" कॉन्फ़िगरेशन के उदाहरण का उपयोग करके बाहरी मुद्रित फॉर्म को 1C डेटाबेस से कैसे जोड़ा जाए

"व्यापार प्रबंधन 11.2" कॉन्फ़िगरेशन "प्रबंधित" फॉर्म पर एक कॉन्फ़िगरेशन है!

हमारे निर्देश "दिखाते हैं" कि 1C सूचना आधार में एक बाहरी मुद्रित प्रपत्र को "प्रबंधित" प्रपत्रों पर कॉन्फ़िगरेशन के साथ कैसे जोड़ा जाए, अर्थात्:

  • "लेखा 3.0"
  • "व्यापार प्रबंधन 11.2"
  • "वेतन एवं कार्मिक प्रबंधन 3.1"
  • "व्यापक स्वचालन 2.0"
  • "छोटी फर्म प्रबंधन 1.6"
  • "खुदरा 2.2"
  • और अन्य समान विन्यास।

1सी में बाहरी प्रिंटिंग फॉर्म को जोड़ने के लिए हमें 11 चरणों से गुजरना होगा।

1 - मेनू "मास्टर डेटा और प्रशासन" (अन्य कॉन्फ़िगरेशन में, जैसे एंटरप्राइज़ अकाउंटिंग 3.0 में, इसे केवल "प्रशासन" कहा जा सकता है)। 2 - "मुद्रित प्रपत्र, रिपोर्ट और प्रसंस्करण" चुनें (नीचे चित्र देखें ↓)

3 - "रिपोर्ट और प्रोसेसिंग" सबमेनू का विस्तार करें (अन्य कॉन्फ़िगरेशन में, जैसे एंटरप्राइज़ अकाउंटिंग 3.0, ऐसा कोई सबमेनू नहीं हो सकता है, इसलिए हम तुरंत अगले चरण पर आगे बढ़ते हैं)। 4 - "अतिरिक्त रिपोर्ट और प्रसंस्करण का उपयोग" बॉक्स को चेक करें। 5 — अनुभाग पर जाएँ: अतिरिक्त रिपोर्ट और प्रसंस्करण। (नीचे चित्र देखें ↓) ()

6 - "बनाएं" बटन पर क्लिक करें। (नीचे चित्र देखें ↓)

1C के नए संस्करणों (अगस्त 2016 से शुरू) में, प्रोग्राम में अज्ञात बाहरी प्रसंस्करण के उपयोग के खतरे के बारे में एक अंतर्निहित चेतावनी तंत्र है जिसमें "वायरस" हो सकते हैं; प्रोग्राम के पुराने संस्करणों में चेतावनी दिखाई नहीं देगी! यदि ऐसा होता है तो बाह्य मुद्रण प्रपत्र को जोड़ने के लिए यह आवश्यक होगा - 7 - "जारी रखें" बटन पर क्लिक करें। (नीचे चित्र देखें ↓)

8 - उस निर्देशिका का चयन करें जिसमें प्रसंस्करण स्थित है। 9 - इसे चुनें (हमें जिस प्रसंस्करण की आवश्यकता है)। 10 - "खोलें" बटन पर क्लिक करें। या, चरण 9 और 10 के बजाय, आप चयन विंडो में हमें जिस बाहरी मुद्रित फॉर्म की आवश्यकता है उस पर बस डबल-क्लिक कर सकते हैं। (नीचे चित्र देखें ↓)

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

बस इतना ही! बधाई हो! बाहरी प्रिंटिंग प्लेट जुड़ी हुई है!क्या हमने सब कुछ ठीक किया? की जाँच करें...

रिकॉर्डिंग और बंद करने से पहले, हमने देखा कि यह बाहरी मुद्रित प्रपत्र वस्तुओं और सेवाओं की बिक्री दस्तावेज़ में स्थित है, जिसका अर्थ है कि हम इस प्रकार के किसी भी दस्तावेज़ के लिए मुद्रण विकल्प खोल सकते हैं: "वस्तुओं और सेवाओं की बिक्री।" "प्रिंट" बटन दबाएं और देखें कि मुद्रित प्रपत्रों के चयन के लिए एक विंडो सामने आई है, उनमें से एक है - 13 - बाहरी मुद्रण प्रपत्र हमारे द्वारा जुड़ा हुआ है (नीचे चित्र देखें ↓)

अब यह निश्चित है. हमें उम्मीद है कि यह लेख आपके लिए उपयोगी था।