घंटी

आपसे पहले इस खबर को पढ़ने वाले भी हैं।
नवीनतम लेख प्राप्त करने के लिए सदस्यता लें।
ईमेल
नाम
उपनाम
आप द बेल को कैसे पढ़ना चाहेंगे
कोई स्पैम नहीं

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

किसी भी रूप (प्रबंधित या पारंपरिक) के एक डेवलपर का मुख्य कार्य उपयोगकर्ता को कार्यक्रम के साथ बातचीत करने के लिए एक सुविधाजनक तंत्र प्रदान करना है।

1C प्लेटफ़ॉर्म में किसी भी प्रकार की वस्तु उत्पन्न करने की क्षमता होती है, लेकिन आमतौर पर, अनुप्रयोग समाधान विकसित करते समय, प्रोग्रामर स्वयं रूपों को कॉन्फ़िगर करते हैं।

प्रबंधित रूपों के साथ काम करने के मुद्दों पर विशेष रूप से और एक पूरे के रूप में प्रबंधित एप्लिकेशन के साथ "1 सी में विकास के बुनियादी ढांचे: टैक्सी" पुस्तक में विस्तार से चर्चा की गई है। 12 चरणों में एक प्रबंधित अनुप्रयोग विकसित करना। यह पुस्तक उन लोगों के लिए एक वास्तविक सहायता होगी जो अभी प्रबंधित अनुप्रयोग विकास के साथ शुरुआत कर रहे हैं।

पुस्तक "1 सी में विकास के बुनियादी सिद्धांत: टैक्सी" उन लोगों के लिए एकदम सही है जिन्होंने पहले से ही प्रोग्रामिंग शुरू कर दी है और इस विषय के साथ कुछ कठिनाइयों का सामना कर रहे हैं और जो लंबे समय से प्रोग्रामिंग कर रहे हैं, लेकिन कभी भी 1 सी प्रबंधित रूपों के साथ काम नहीं किया है

  1. कोई जटिल तकनीकी शर्तें नहीं;
  2. व्यावहारिक सामग्री के 600 से अधिक पृष्ठ;
  3. प्रत्येक उदाहरण एक तस्वीर (स्क्रीनशॉट) के साथ है;

15% छूट के लिए प्रोमो कोड - 48PVXHeYu

कभी-कभी ऐसा लगता है कि 1C में प्रोग्रामिंग भाषा सीखना कठिन और कठिन है। वास्तव में, 1C में प्रोग्रामिंग करना आसान है। मेरी पुस्तकें आपको 1C में आसानी से और जल्दी से मास्टर प्रोग्रामिंग करने में मदद करेंगी: और "1C में विकास की बुनियादी बातें: टैक्सी"

मेरी पुस्तक "1C में 11 चरणों में प्रोग्रामिंग" की मदद से 1C में प्रोग्रामिंग सीखें

  1. कोई जटिल तकनीकी शब्द नहीं।
  2. व्यावहारिक सामग्री के 700 से अधिक पृष्ठ।
  3. प्रत्येक कार्य एक चित्र (स्क्रीनशॉट) के साथ होता है।
  4. गृह अध्ययन के लिए कार्यों का संग्रह।
  5. पुस्तक स्पष्ट और सरल भाषा में लिखी गई है - नौसिखियों के लिए।
  6. पुस्तक पीडीएफ प्रारूप में ई-मेल द्वारा भेजी जाती है। किसी भी डिवाइस पर खोला जा सकता है!


यदि इस पाठ ने आपको किसी समस्या को हल करने में मदद की, पसंद आई या उपयोगी थी, तो आप किसी भी राशि को स्थानांतरित करके मेरी परियोजना का समर्थन कर सकते हैं:

मैन्युअल रूप से भुगतान किया जा सकता है:

यांडेक्स.मनी - 410012882996301
वेब मनी - R955262494655

मेरे समूहों में शामिल हों।

फार्म 1C में: एंटरप्राइज़ को डेटाबेस में निहित जानकारी को प्रदर्शित करने और संपादित करने के लिए डिज़ाइन किया गया है। प्रपत्र विशिष्ट कॉन्फ़िगरेशन ऑब्जेक्ट्स से संबंधित हो सकते हैं या उनसे अलग से मौजूद हो सकते हैं और संपूर्ण एप्लिकेशन समाधान द्वारा संपूर्ण रूप से उपयोग किए जा सकते हैं।

उदाहरण के लिए, एक गाइड नामपद्धतिइसके कई रूप हो सकते हैं जिनका उपयोग विशिष्ट उद्देश्यों के लिए किया जाएगा - एक निर्देशिका तत्व का संपादन, एक सूची प्रदर्शित करना, आदि।

इसके साथ ही, ऐसे सामान्य रूप भी हो सकते हैं जो विशिष्ट विन्यास वस्तुओं से संबंधित नहीं हैं - सामान्य रूप।

मूल रूप

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

लागू समाधान की वस्तुओं के डेटा के साथ ऐसी मानक कार्रवाइयों के प्रदर्शन को सुनिश्चित करने के लिए, उनमें से प्रत्येक के लिए मूल रूपों का एक सेट होता है जिसका उपयोग संबंधित क्रियाओं को करते समय किया जाएगा। मुख्य वस्तु को इस वस्तु के अधीनस्थ किसी भी रूप में सौंपा जा सकता है। उदाहरण के लिए, निर्देशिका नामपद्धतिनिम्नलिखित मुख्य रूप मौजूद हो सकते हैं:

और दस्तावेज़ माल और सेवाओं की प्राप्तिमुख्य रूपों की संरचना अलग होगी:

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

स्वतः उत्पन्न प्रपत्र

1सी: एंटरप्राइज़ 8 प्रणाली की एक महत्वपूर्ण विशेषता स्वत: उत्पन्न रूपों का तंत्र है। यह तंत्र डेवलपर को प्रत्येक कॉन्फ़िगरेशन ऑब्जेक्ट के लिए सभी संभावित रूपों को बनाने से मुक्त करता है। यह डेवलपर के लिए एक नया कॉन्फ़िगरेशन ऑब्जेक्ट जोड़ने के लिए पर्याप्त है, और सिस्टम स्वयं इस ऑब्जेक्ट में निहित जानकारी को प्रदर्शित करने के लिए उपयोगकर्ता के काम के सही समय पर आवश्यक रूप उत्पन्न करेगा।

इस प्रकार, डेवलपर को अपने स्वयं के एप्लिकेशन सॉल्यूशन ऑब्जेक्ट्स के रूपों को बनाने की आवश्यकता होती है, यदि उनके पास सिस्टम द्वारा स्वचालित रूप से उत्पन्न प्रपत्रों से अंतर (अलग डिज़ाइन या विशिष्ट व्यवहार) होना चाहिए।

फॉर्म को डेटा से लिंक करना

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

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

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

रूप संरचना

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

प्रपत्र का वह भाग जो प्रदर्शित होता है (उपयोगकर्ता को दिखाई देता है) को एक ट्री के रूप में वर्णित किया जाता है जिसमें प्रपत्र तत्व होते हैं।

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

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

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

डेवलपर विभिन्न सेटिंग्स के साथ तत्वों की व्यवस्था को प्रभावित कर सकता है। यह तत्वों के क्रम को निर्धारित कर सकता है, वांछित चौड़ाई और ऊंचाई का संकेत दे सकता है। हालाँकि, यह सिस्टम को प्रपत्र प्रदर्शित करने में मदद करने के लिए केवल कुछ अतिरिक्त जानकारी है।

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

पिछले पाठ में, हमने नियमित (मोटे) क्लाइंट के बारे में सोचा था। प्लेटफ़ॉर्म संस्करण 1C 8.2 में। वे नए स्क्रीन फॉर्म 1C 8.2 का उपयोग करते हैं। उन्हें प्रबंधित प्रपत्र 1C 8.2 कहा जाता है।

प्रबंधित प्रपत्र 1C 8.2 1C का भविष्य है। वे साधारण 1C 8.2 रूपों से भिन्न होते हैं, जिसमें वे विशेष सेटिंग्स के आधार पर सिस्टम द्वारा स्वचालित रूप से उत्पन्न होते हैं ("नियमित" फॉर्म केवल प्रोग्रामर द्वारा वसीयत में तैयार किए जाते हैं)।

सामान्य रूपों से प्रबंधित रूपों 1C 8.2 के विकास में अंतर महत्वपूर्ण हैं। इसलिए, हम आज अलग से प्रबंधित रूपों 1C 8.2 के निर्माण और संशोधन पर चर्चा करने के लिए एकत्रित हुए हैं।

प्रबंधित प्रपत्र 1C 8.2

यदि आप पहले 1C कॉन्फ़िगरेशन विकसित कर रहे हैं, जब आप 1C 8.2 प्रबंधित प्रपत्र संपादक खोलते हैं, तो आप तुरंत इस तथ्य से भ्रमित हो जाएंगे कि माउस के साथ 1C 8.2 फ़ॉर्म को प्रभावित करना बिल्कुल भी असंभव है।

आप 1C 8.2 फॉर्म को नहीं बदल सकते, आप तत्व को स्थानांतरित नहीं कर सकते, आप पहले की तरह फ़ील्ड के गुणों को भी नहीं देख सकते - 1C 8.2 फॉर्म पर फ़ील्ड को डबल-क्लिक करके।

अब 1C 8.2 फॉर्म को विकसित करने का आधार फॉर्म पर निर्देशांक के लिए बाध्यकारी फ़ील्ड नहीं है, बल्कि विशेष सेटिंग्स हैं। सिस्टम स्वचालित रूप से इन सेटिंग्स के आधार पर एक प्रबंधित प्रपत्र 1सी 8.2 उत्पन्न करता है।

सेटिंग्स में ऊपरी बाएँ कोने में संपादक में स्थित 1C 8.2 प्रपत्र तत्वों की सूची शामिल है। फॉर्म 1C 8.2 के तत्वों में शामिल हैं:

  • आवश्यक वस्तुएँ
  • कमांड (नई अवधारणा 1C 8.2, बटन या मेनू आइटम की तरह दिख सकती है)
  • समूह (विवरण और आदेशों को संयोजित करने के लिए)।

तदनुसार, इन तत्वों की सेटिंग्स फ़ील्ड के गुणों में नहीं हैं, बल्कि इन सेटिंग्स तत्वों के गुणों में हैं (राइट-क्लिक मेनू, गुण आइटम)।

प्रबंधित प्रपत्र 1C 8.2 कैसे काम करता है

प्रबंधित प्रपत्र 1C 8.2 के साथ कार्य करना उपयोगकर्ता के लिए अलग है। उनके पास अधिक विशेषताएं हैं, लेकिन उन लोगों के लिए असामान्य हैं जो लंबे समय से 1C के साथ काम कर रहे हैं।

सबसे पहले, फॉर्म 1C 8.2 पर सामान्य तत्वों का स्थान भिन्न होता है। कमांड बार हमेशा सबसे ऊपर होता है।

कमांड बार के बाईं ओर अनुकूलन योग्य है। इसमें आमतौर पर रिकॉर्ड और पोस्ट जैसे विशिष्ट बटन होते हैं।

कमांड पैनल के दाईं ओर 1C फॉर्म ऑल एक्शन का नया मानक मेनू है। यह मेनू आपको 1C 8.2 फॉर्म को अपनी इच्छानुसार प्रबंधित करने की अनुमति देता है, ठीक उसी तरह जैसे ACS रिपोर्ट में सेटिंग्स आपको रिपोर्ट के स्वरूप को महत्वपूर्ण रूप से बदलने की अनुमति देती हैं।

मनमाना मेनू आइटम 1C सभी क्रियाएं

यह फॉर्म 1C 8.1 एक या दूसरे से संबंधित है या नहीं, इसके आधार पर, मेनू उन वस्तुओं से भरा होता है जो आपको इस ऑब्जेक्ट को प्रबंधित करने की अनुमति देते हैं। उदाहरण के लिए, यदि यह एक डायरेक्टरी लिस्ट फॉर्म है, तो इसमें क्रिएट या एडिट जैसे कमांड होंगे।

आइटम अनुकूलित करें मेनू सूची 1C सभी क्रियाएं

यदि 1C 8.2 प्रपत्र पर कोई सूची है, तो मेनू में कमांड सेट अप सूची और प्रदर्शन सूची है।
यदि आउटपुट लिस्ट कमांड आपके लिए पहले से ही परिचित है - यह आपको एक्सेल में 1C में किसी भी सूची को सहेजने / प्रिंट करने की अनुमति देता है, तो दूसरा कमांड नया है।

जैसा कि आपने पहले ही देखा है, सूचियाँ कमांड बार पर और अधिक चयन बटन नहीं हैं। इसके बजाय, फाइंड बटन दिखाई दिया, किस काम के लिए (साथ ही टाइप करते समय सूची में कर्सर की अब अक्षम स्थिति) - शिकायतें हैं।

खोज बटन की कार्यक्षमता, बेशक, चयनों के साथ तुलनीय नहीं है, लेकिन वे कहीं भी गायब नहीं हुए हैं!
वे अब अनुकूलित सूची मेनू आइटम के अंतर्गत हैं। चयन अब किसी भी क्षेत्र द्वारा किया जा सकता है, और इसके अलावा, छँटाई और सशर्त स्वरूपण उसी तरह किया जा सकता है जैसे कि SKD रिपोर्ट में किया जा सकता है।

आइटम बदलें मेनू प्रपत्र 1C सभी क्रियाएं

चेंज फॉर्म आइटम आपको न केवल 1C 8.2 फॉर्म पर सूची को बदलने की अनुमति देता है, बल्कि 1C 8.2 फॉर्म को भी बदल देता है।

उपयोगकर्ता स्वतंत्र रूप से 1C 8.2 फॉर्म, चौड़ाई और ऊंचाई पर फ़ील्ड की दृश्यता को सक्षम या अक्षम कर सकता है, खोलते समय डिफ़ॉल्ट फ़ील्ड की सक्रियता आदि।

प्रबंधित रूपों 1C 8.2 और पारंपरिक रूपों 1C का उपयोग करना

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

ऐसा करने के लिए, आपको कॉन्फ़िगरेशन गुण (कॉन्फ़िगरेशन विंडो में शीर्ष तत्व) भी दर्ज करना होगा।

1C 8.2 में कॉन्फ़िगरेशन गुणों में, दो नए चेकबॉक्स दिखाई दिए हैं जो आपको 1C रूपों के गैर-मानक उपयोग को सक्षम करने की अनुमति देते हैं।

प्रबंधित प्रपत्र बनाना 8.2

एक नया फॉर्म 1C 8.2 जोड़ना पहले की तरह ही किया जाता है - कीबोर्ड या ऐड बटन पर इन्स बटन का उपयोग करके। किसी मौजूदा को दर्ज करने के लिए, माउस से उस पर डबल-क्लिक करें।

डिफ़ॉल्ट रूप से, कॉन्फ़िगरेशन में सेट किया गया फॉर्म (नियमित या प्रबंधित) बनाया जाएगा (कॉन्फ़िगरेशन गुणों में मुख्य लॉन्च मोड संपत्ति देखें)।

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

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

प्रपत्र संपादक में तीन खंड होते हैं।

  • ऊपरी बाएँ कोने में प्रपत्र तत्वों की एक सूची है। इसमें फ़ील्ड, कमांड और समूह होते हैं जो आपको आइटमों को संयोजित करने की अनुमति देते हैं। कमांड इंटरफ़ेस टैब पर कमांड की सूची को अलग से देखा जा सकता है।
  • ऊपरी दाएं कोने में उपलब्ध फॉर्म एट्रिब्यूट्स और ऑब्जेक्ट एट्रिब्यूट्स की एक सूची है (ऑब्जेक्ट एट्रिब्यूट के आगे क्रॉस खोलें)।
  • नीचे परिणामी फॉर्म का पूर्वावलोकन है।

आप उपलब्ध विवरण को बाईं ओर खींच सकते हैं और यह एक प्रपत्र तत्व (फ़ॉर्म पर एक फ़ील्ड) बन जाएगा।

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

कमांड को भी बाईं ओर खींचा जाता है। यदि पैरेंट कमांड बार है, तो यह कमांड बार बटन होगा - अन्यथा केवल एक बटन।

फॉर्म एलिमेंट्स (फ़ील्ड्स) की सूची में, आप न केवल ऑब्जेक्ट / फॉर्म की विशेषता को खींच सकते हैं, बल्कि इसे आसानी से जोड़ सकते हैं (बटन ऐड या इन)। विशेष रूप से, आप एक नया प्रपत्र ऑब्जेक्ट बना सकते हैं - एक समूह।

समूह एक कमांड पैनल हो सकता है (कर्सर फॉर्म लाइन पर होना चाहिए)। फिर आप इसमें कमांड्स को ड्रैग करते हैं और वे बटन बन जाते हैं।

समूह "नियमित" हो सकता है। फिर यह लंबवत और क्षैतिज रूप से फ़ील्ड को समूहित करने का एक तरीका है। गुणों में समूह का नाम हटाया जा सकता है।

समूह एक पैनल (पृष्ठ) हो सकता है। शीर्ष जोड़ा गया समूह एक पैनल है, और इस प्रकार के नेस्टेड समूह पृष्ठ हैं। फ़ील्ड्स को पहले से ही पृष्ठों पर खींचा जा रहा है।

सूची में प्रपत्र तत्वों को हटाकर अनावश्यक प्रपत्र तत्वों को हटा दिया जाता है।
प्रपत्र पर फ़ील्ड की स्थिति तत्वों (ऊर्ध्वाधर) या समूहों (क्षैतिज) की सूची में क्रम द्वारा निर्धारित की जाती है। प्रपत्र तत्व के गुणों में चौड़ाई और ऊंचाई सेट की गई है।

प्रपत्र तत्व गुणों का बहुत विस्तार किया गया है और इसमें कई उपयोगी चीज़ें शामिल हैं - उपस्थिति नियंत्रण (पसंद और स्पष्ट बटन), और डिफ़ॉल्ट मानों की जाँच करना।

प्रपत्र के गुण, इसके आयामों सहित, प्रपत्र के मूल तत्व पर समान नाम प्रपत्र के साथ सेट किए गए हैं।

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

क्लाईव वी.वी.

http://prof1c.kklab.ru

स्विच के साथ काम करना

मैं आपको साइट सेवा के सभी उपयोगकर्ताओं को ध्यान में रखने के लिए कहता हूं - मैं सामग्री को शुरुआती अनुभाग में रखता हूं !!!

8.2 प्रबंधित प्रपत्र

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

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

तो, चलिए एक नई डायरेक्टरी बनाते हैं और "बूलियन" टाइप के साथ प्रॉप्स "Props1" जोड़ते हैं।

अब फॉर्म टैब पर जाएं और एक नया फॉर्म जोड़ें।

तो, प्रबंधित फॉर्म बनाया गया है, अब फॉर्म के साथ काम करते हैं और वही पाते हैं जहां स्विच स्थित है।
यहाँ हमारा फॉर्म है, और उस पर हम अपना सहारा देखते हैं, लेकिन एक चेकबॉक्स के रूप में

तो हमने क्या गलत किया?
आइए प्रोप के गुणों को देखने के लिए देखें कि क्या नियंत्रण के दृश्य में कोई स्विच है या नहीं।
और हम देखते हैं कि स्विच फील्ड यहाँ नहीं है!(हम कहाँ गलत हो गए?

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

अब नियंत्रण के गुणों पर वापस जाते हैं और जांचते हैं कि क्या नियंत्रण का दृश्य इसके गुणों में जोड़ा गया है - - - और उर्रा, हम वहां का दृश्य देखते हैं - स्विच फ़ील्ड।

अब प्रपत्र को देखें, जो हम देखते हैं:

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

2 के लिए - कॉलम की संख्या सेट करें - 2।

यह एक थके हुए प्रोग्रामर को थोड़ा रोक सकता है)), लेकिन अब वह और हम दोनों इसे जानते हैं!

8.2 सामान्य रूप।

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

तो आइए एक उदाहरण देखें। 1C SCP में प्राप्तियों को समायोजित करने के लिए ऐसा एक दस्तावेज है - यह निश्चित रूप से मौजूद है। हमें एक बार इसमें स्विच जोड़ने की आवश्यकता थी ताकि लेखांकन के लिए थोड़ी अलग पोस्टिंग तैयार की जा सके। क्या समस्या है, यह आवश्यक प्रतीत होगा, तो यह आवश्यक है, हम करेंगे। लेकिन इस प्रपत्र में पहले से ही 2 रेडियो बटन हैं।

यह फॉर्म कैसा दिखता है जिसमें हमें अधिक स्विच संलग्न करने की आवश्यकता होती है


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

ऐसा लगेगा कि सब कुछ सरल है। हम टाइप - "नंबर" के साथ एक नई विशेषता बनाते हैं और 2 स्विच सम्मिलित करते हैं, जिनमें से एक विशेषता में डेटा लिखने में सक्षम होगा, और दूसरा नहीं।

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

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


हमारे स्विच काम करें, इसके लिए आपको स्वचालित ऑर्डर को तोड़ना होगा और मैन्युअल ऑर्डर से सहमत होना होगा। और फॉर्म में रखें ताकि हमारे स्विच चलते रहें - एक के बाद एक क्रम में।

ठीक है। कॉन्फ़िगरेशन को अपडेट करें और चलाने का प्रयास करें।
महान। सब कुछ काम कर गया।

वैकल्पिक - वीडियो (कोई आवाज़ नहीं है, इसलिए सब कुछ स्पष्ट है)


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

कई मामलों में फॉर्म के प्रोग्रामेटिक संशोधन की आवश्यकता हो सकती है:

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

प्रबंधित रूप में, आप प्रोग्रामेटिक रूप से जोड़ सकते हैं, संशोधित कर सकते हैं और निकाल सकते हैं:

  • आवश्यक वस्तुएँ;
  • स्थानीय आदेश;
  • तत्व।

ये सभी ऑपरेशन केवल सर्वर पर ही संभव हैं।

प्रोग्रामेटिक रीशेपिंग की सीमाएँ हैं:

  • आप केवल प्रोग्रामेटिक रूप से जोड़े गए गुण/आदेश/तत्व हटा सकते हैं। आप विन्यासकर्ता में निर्मित वस्तुओं को प्रोग्रामेटिक रूप से नहीं हटा सकते हैं।
  • विशेषता को मुख्य के रूप में असाइन करना असंभव है।

फॉर्म कमांड बदलना

किसी वस्तु के लिए आदेशों की संरचना का प्रबंधन करने के लिए प्रबंधित प्रपत्रएक संग्रह है टीमें

    जोड़ना (< ИмяКоманды >)

    मात्रा ()

    पाना (< ИмяКоманды >)

    मिटाना (< Команда >)

कमांड संग्रह क्लाइंट और सर्वर दोनों पर उपलब्ध है। संग्रह को संशोधित करना (तरीके जोड़ें () और निकालें ()) केवल सर्वर पर ही संभव है। आप क्लाइंट और सर्वर दोनों पर तत्वों की संख्या (तरीके Find () और Quantity ()) खोज और प्राप्त कर सकते हैं।

फॉर्म कमांड के साथ काम करने के एक उदाहरण के रूप में, आइए "चेंज हिस्ट्री ..." शीर्षक के साथ एक नया चेंज हिस्ट्री कमांड बनाएं, जो हैंडलर को कॉल करेगा प्रदर्शन इतिहास() . प्रपत्र खोले जाने पर निर्माण किया जाता है।

&सर्वर पर
प्रक्रिया OnCreateOnServer(विफलता, मानक प्रसंस्करण)
टीम = आदेश। जोड़ना( "परिवर्तन का इतिहास");
टीम . क्रिया =;
टीम . शीर्षक = "परिवर्तन का इतिहास ...";
अंतिम प्रक्रिया
&एटक्लाइंट
प्रक्रिया कनेक्टेड_डिस्प्ले हिस्ट्री (कमांड)
// कमांड एक्शन
अंतिम प्रक्रिया

कमांड हैंडलर फॉर्म में स्थित होना चाहिए और संकलन निर्देश &AtClient होना चाहिए।

प्रपत्र विवरण बदलना

प्रपत्र विशेषताओं की संरचना को पढ़ना फ़ंक्शन द्वारा किया जाता है विवरण प्राप्त करें(< Путь >) जो फॉर्मएट्रिब्यूट्स प्रकार की एक सरणी देता है। फ़ंक्शन पैरामीटर मूल विशेषता (एक स्ट्रिंग के रूप में) का पथ निर्दिष्ट करता है। यदि पैरामीटर छोड़ दिया जाता है या एक खाली स्ट्रिंग निर्दिष्ट की जाती है, तो शीर्ष-स्तरीय क्रेडेंशियल वापस आ जाते हैं।

विवरण बदलना विधि द्वारा किया जाता है संपादित करें(<जोड़ा गया विवरण>, <हटाने योग्य विवरण>) वस्तु प्रबंधित प्रपत्र. विकल्प जोड़ा गया विवरणऔर हटाने योग्य विवरणप्रपत्र आवश्यक प्रकार के तत्वों के साथ सरणियाँ पारित की जाती हैं।

ध्यान!

विवरण की संरचना को बदलने की प्रक्रिया काफी संसाधन-गहन है। दरअसल फॉर्म को रीक्रिएट किया जा रहा है। इस संबंध में, प्रपत्र के विवरण के साथ कार्य बैच मोड में किया जाता है।

चलिए क्रेता नाम से एक नया फॉर्म एट्रिब्यूट बनाते हैं:


AddAttributes = नई सरणी;
जोड़ा गया विवरण। जोड़ें (नया प्रपत्र विशेषता("क्रेता", नए प्रकार का विवरण ("निर्देशिका संदर्भ। प्रतिपक्ष"), "क्लाइंट");

// विशेषताओं की संरचना में परिवर्तन
);

प्रपत्र तत्वों को बदलना

किसी वस्तु के तत्वों की संरचना का प्रबंधन करने के लिए प्रबंधित प्रपत्रएक संग्रह है तत्वों. संग्रह के कई तरीके हैं:

    डालना (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    जोड़ना (< Имя>, < ТипЭлемента>, < Родитель >)

    मात्रा ()

    पाना (< Имя >)

    कदम(< Элемент>, < Родитель>, < МестоРасположения >)

    मिटाना (< Элемент >)

एलिमेंट्स संग्रह क्लाइंट और सर्वर दोनों पर उपलब्ध है। संग्रह संशोधित करें (तरीकों को सम्मिलित करें () , Add (), Move () और Delete ()) केवल सर्वर पर उपलब्ध हैं। आप क्लाइंट और सर्वर दोनों पर तत्वों की संख्या (तरीके Find () और Quantity ()) खोज और प्राप्त कर सकते हैं। संग्रह तत्व हो सकते हैं:

  • ग्रुपफॉर्म;
  • टेबलफॉर्म;
  • फॉर्मफिल्ड;
  • बटनफॉर्म।

आप तत्व बनाने के लिए प्रोग्रामेटिक रूप से इवेंट हैंडलर असाइन कर सकते हैं। इस प्रयोजन के लिए, विधि सेटएक्शन(< ИмяСобытия>, < Действие >) .

आइए आज्ञाओं, विशेषताओं और प्रपत्र तत्वों के साथ काम करने के कुछ सबसे सामान्य व्यावहारिक उदाहरण देखें।

एक कमांड और उससे जुड़े बटन को जोड़ना:

// एक टीम बनाएं
टीम = आदेश। जोड़ना( "परिवर्तन का इतिहास");
टीम . क्रिया = "कनेक्टेड_डिस्प्लेइतिहास"; // फॉर्म में निर्दिष्ट नाम के साथ एक प्रक्रिया होनी चाहिए
टीम . हैडर = "परिवर्तन का इतिहास ...";
// एक बटन बनाएं और इसे कमांड से संबद्ध करें
तत्व = आइटम। जोड़ना( "परिवर्तन का इतिहास", टाइप ("फॉर्मबटन"));
Element.CommandName = "परिवर्तन का इतिहास";

एक विशेषता और उससे संबंधित इनपुट फ़ील्ड जोड़ना:

// जोड़े गए विवरण का विवरण
AddAttributes = नई सरणी;
जोड़ा गया विवरण। जोड़ना(नई प्रपत्र विशेषता ("क्रेता", नए प्रकार का विवरण ( "संदर्भ लिंक। प्रतिपक्ष"), "ग्राहक" ));
// विशेषताओं की संरचना बदलना
एडिटएट्रिब्यूट्स (जोड़ाएट्रिब्यूट्स);
// एक इनपुट फ़ील्ड बनाना और एक विशेषता से लिंक करना
तत्व = आइटम। जोड़ें ("ग्राहक", प्रकार ("फॉर्मफिल्ड"));
तत्व . व्यू = व्यूफॉर्मफिल्ड्स। प्रवेश क्षेत्र;
तत्व . पाथ टूडाटा= "क्रेता";

एक ईवेंट हैंडलर को एक फॉर्म एलिमेंट में असाइन करना:

मद क्रेता। सेटएक्शन("जब यह बदलता है", "प्लग-इन_ब्यूयरऑनचेंज");

&एटक्लाइंट
प्रक्रिया प्लगइन_खरीदारऑनचेंज(तत्व )
// घटना क्रियाएं
अंतिम प्रक्रिया

ध्यान!

विधि का उपयोग करके कोड से इवेंट हैंडलर के रूप में स्थापित की जाने वाली प्रक्रियाएँ सेटएक्शन (), Connected_ उपसर्ग का उपयोग करने की अनुशंसा की जाती है।

ध्यान!

आप प्रोग्रामेटिक खोज के उदाहरण और विवरण, कमांड और प्रबंधित फॉर्म के तत्वों में बदलाव के साथ प्रोसेसिंग डाउनलोड कर सकते हैं।

घंटी

आपसे पहले इस खबर को पढ़ने वाले भी हैं।
नवीनतम लेख प्राप्त करने के लिए सदस्यता लें।
ईमेल
नाम
उपनाम
आप द बेल को कैसे पढ़ना चाहेंगे
कोई स्पैम नहीं