1s में आदिम डेटा प्रकार। परिभाषित प्रकारों का उपयोग करना
यह लेख "1सी विकास में पहला कदम" लेखों की श्रृंखला को जारी रखता है। यह आदिम डेटा प्रकारों और उनके साथ काम करते समय सबसे सामान्य कार्यों के बारे में बात करेगा। सामग्री पढ़ने के बाद, आप सीखेंगे:
- कौन से डेटा प्रकार आदिम हैं?
- आप स्ट्रिंग्स के साथ कैसे काम कर सकते हैं और किन विशेषताओं को ध्यान में रखा जाना चाहिए?
- संख्यात्मक अभिव्यक्तियों के साथ काम करने की बारीकियाँ क्या हैं?
- किसी विशिष्ट मान वाली तारीख का वर्णन कैसे करें? रिक्त तिथि कैसे निर्धारित करें?
- प्रकार रूपांतरण कैसे कार्य करता है?
- शून्य और अपरिभाषित - वे क्या हैं और अंतर क्या हैं?
- कैसे निर्धारित करें कि कोई वस्तु/चर किस प्रकार का है?
प्रयोज्यता
लेख 1C प्लेटफ़ॉर्म संस्करण 8.3.4.496 के लिए लिखा गया था, इसलिए जानकारी प्लेटफ़ॉर्म के वर्तमान संस्करण के लिए भी प्रासंगिक है। हालाँकि, यह ध्यान दिया जाना चाहिए कि संस्करण 8.3.6.1977 में स्ट्रिंग्स के साथ काम करने के लिए नए फ़ंक्शन जोड़े गए थे। इसलिए, जब आप लेख के चरणों को दोहराते हैं, तो आश्चर्यचकित न हों यदि सिंटेक्स असिस्टेंट के संबंधित अनुभाग में आपको कुछ फ़ंक्शन दिखाई देते हैं जो हमारे स्क्रीनशॉट में नहीं दिखाए गए हैं। हम यह भी अनुशंसा करते हैं कि आप प्लेटफ़ॉर्म 8.3.10 में जोड़ी गई नई StringWithNumber() विधि से परिचित हों।
आदिम डेटा प्रकार और उनके कुछ कार्य
निम्नलिखित आदिम डेटा प्रकार प्रतिष्ठित हैं:
स्ट्रिंग स्थिरांक
आदिम डेटा प्रकार रेखा(स्ट्रिंग स्थिरांक) में विभिन्न वर्ण होते हैं। रेखासदैव उद्धरण चिह्नों से घिरा रहता है। एक स्ट्रिंग स्थिरांक का उदाहरण:
Message.Text = "खाली डेटा हैं";
वे। पंक्ति "रिक्त डेटा हैं" विशेषता को निर्दिष्ट की गई है मूलपाठवस्तु संदेश. उद्धरण चिह्नों से घिरी कोई भी चीज़ एक स्ट्रिंग मानी जाती है।
स्ट्रिंग में कोई भी वर्ण हो सकता है. तार बहु-पंक्ति हो सकते हैं. इस मामले में, प्रत्येक नई पंक्ति को उद्धरण चिह्नों में परिभाषित किया जाना चाहिए। उदाहरण के लिए:
टेक्स्ट = "अमान्य विवरण भरे गए"
"दस्तावेज़ पोस्ट करना असंभव है";
अर्धविराम केवल अंतिम पंक्ति के अंत में लगाया जाता है।
एक और तरीका है - पूरे पाठ को केवल एक उद्धरण चिह्न के साथ फ्रेम करना, लेकिन प्रत्येक नई पंक्ति एक ऊर्ध्वाधर पट्टी से शुरू होनी चाहिए।
यह सिंटैक्स आमतौर पर विशिष्ट कॉन्फ़िगरेशन में उपयोग किया जाता है। विशेष रूप से, क्वेरी भाषा में. उदाहरण के लिए:
अनुरोध.पाठ=
"चुनना
| कर्मचारी.नाम कर्मचारी के रूप में,
| कर्मचारी.जन्मदिनांक जन्मतिथि के रूप में
|से
| निर्देशिका.कर्मचारी कैसे कर्मचारी
|कहां
| कर्मचारी नहीं। यह एक समूह है";
यह ध्यान दिया जाना चाहिए कि अतिरिक्त ऑपरेशन को स्ट्रिंग्स के लिए परिभाषित किया गया है। यह कोई अंकगणितीय संक्रिया नहीं है, इसे संघनन संक्रिया कहा जाता है।
वे। उदाहरण के लिए, आपको दो पंक्तियों को, पंक्तियों के बीच एक अतिरिक्त चिह्न "+" के साथ संयोजित करने की आवश्यकता है:
पाठ = "विवरण गलत तरीके से भरे गए हैं" + "दस्तावेज़ पोस्ट करना असंभव है";
इस प्रकार, रेखाएँ विलीन हो जाती हैं। निस्संदेह, संयोजन ऑपरेशन अधिक स्ट्रिंग्स पर लागू होता है। स्ट्रिंग्स के लिए अन्य ऑपरेशन (घटाव, गुणा, भाग) की अनुमति नहीं है।
यदि किसी स्ट्रिंग के भीतर किसी शब्द को उद्धरण चिह्नों में संलग्न करने की आवश्यकता है, तो स्ट्रिंग के अंदर उद्धरण चिह्न को दोहरे उद्धरण चिह्न के साथ परिभाषित किया जाना चाहिए। उदाहरण के लिए:
पाठ = "मॉड्यूल में त्रुटि" सामान्य मॉड्यूल1"";
इस उदाहरण में, पहला उद्धरण स्ट्रिंग शुरू करता है। दूसरे और तीसरे उद्धरण चिह्न एक दूसरे के बगल में एक उद्धरण चिह्न दर्शाते हैं।
और अंत में तीन उद्धरण चिह्न हैं: अंतिम उद्धरण चिह्न पंक्ति को बंद कर देता है, पिछले दो उद्धरण चिह्न इंगित करते हैं।
स्ट्रिंग्स पर विभिन्न स्ट्रिंग रूपांतरण ऑपरेशन संभव हैं, पहले कुछ बाएँ वर्णों की पहचान करना, कई सबसे दाएँ वर्णों की पहचान करना, एक स्ट्रिंग के भीतर एक सबस्ट्रिंग की खोज करना आदि।
ये सभी फ़ंक्शन कॉन्फ़िगरेशन में कहीं भी उपलब्ध हैं।
सिंटैक्स सहायक में वे अनुभाग में हैं अंतर्निर्मित भाषा का सामान्य विवरण – अंतर्निहित कार्य – स्ट्रिंग प्रकार के मानों के साथ काम करने के लिए कार्य.
इसमें काफी बड़ी संख्या में फ़ंक्शन हैं और वे आमतौर पर स्ट्रिंग स्थिरांक के साथ काम करने के लिए पर्याप्त हैं।
आइए स्ट्रिंग फ़ंक्शंस का उपयोग करके किसी समस्या को हल करने का एक उदाहरण देखें।
कार्य:
एक फ़ंक्शन विकसित करने की आवश्यकता है. फ़ंक्शन के पैरामीटर के रूप में एक मनमाना स्ट्रिंग पास की जाती है। पंक्ति के अक्षर संख्याएँ भी हो सकते हैं।
अंकों का एक क्रम (एक या अधिक), जो अन्य वर्णों से रिक्त स्थान द्वारा अलग किया जाता है, एक सकारात्मक पूर्णांक का गठन करता है।
उदाहरण के लिए, स्ट्रिंग "72 एबीसी 6एपी 31 54एफ -22" में दो सकारात्मक पूर्णांक हैं: 72 और 31। रिक्त स्थान के अलावा, अन्य महत्वहीन वर्ण (जैसे टैब, कैरिज रिटर्न) का उपयोग नहीं किया जाता है। फ़ंक्शन को सकारात्मक पूर्णांकों की संख्या लौटानी होगी।
यह एक प्रबंधित एप्लिकेशन मॉड्यूल में स्थित होना चाहिए। यह सुनिश्चित करना आवश्यक है कि इसे सिस्टम स्टार्टअप पर बुलाया जाए। एक वेरिएबल का उपयोग करके एक स्ट्रिंग को परिभाषित करें।
तो, आइए प्रबंधित एप्लिकेशन मॉड्यूल खोलें और कॉन्फ़िगरेशन पैनल में चयन फ़ील्ड में सूची से चयन करें मापांकमानक हैंडलर एटसिस्टमस्टार्ट().
हैंडलर के अंदर हम एक वेरिएबल को परिभाषित करते हैं रेखा, उदाहरण के लिए:
पंक्ति = "72 एबीसी 6एपी 31 54एफ -22";
मात्रा = पूर्णांक संख्याओं की संख्या (स्ट्रिंग);
आइए पूर्णांकों की संख्या के बारे में एक संदेश भेजें:
रिपोर्ट ("पंक्ति में " + संख्या + " पूर्णांक शामिल हैं");
इस मामले में, चर मात्राको अंतर्निहित रूप से प्रकार में परिवर्तित कर दिया जाएगा स्ट्रिंग स्थिरांक. फिर तीन स्ट्रिंग्स पर कॉन्सटेनेशन ऑपरेशन किया जाएगा और संदेश प्रसारित किया जाएगा।
आइए फ़ंक्शन की शुरुआत और अंत (यानी टेम्पलेट) को परिभाषित करें पूर्णांकों की संख्या(स्ट्रिंग).
आइए अब किसी फ़ंक्शन को विकसित करने के संभावित विकल्पों में से एक पर नज़र डालें पूर्णांकों की संख्या(स्ट्रिंग). साथ ही, हम स्ट्रिंग्स के साथ काम करने के लिए डिज़ाइन किए गए कुछ अंतर्निहित कार्यों से परिचित होंगे।
सबसे पहले, आपको फ़ंक्शन से परिचित होना चाहिए प्रतीक कोड. यह फ़ंक्शन पारित स्ट्रिंग में निर्दिष्ट संख्या वाले स्थान पर स्थित वर्ण का कोड प्राप्त करता है।
वाक्य - विन्यास:
कैरेक्टरकोड(,)
विकल्प:
(आवश्यक)
(वैकल्पिक) - यह उस पंक्ति में वर्ण की संख्या है जिसका कोड आप प्राप्त करना चाहते हैं। एक पंक्ति में वर्णों की संख्या 1 से प्रारंभ होती है।
प्रतिलाभ की मात्रा:
प्रेषित चरित्र का कोड. कोड यूनिकोड एन्कोडिंग के अनुसार लौटाया जाता है।
कृपया ध्यान दें कि पैरामीटर 1 का डिफ़ॉल्ट मान है.
एक स्ट्रिंग में एक अक्षर भी शामिल हो सकता है। इस प्रकार, कोड 0 और कोड 9 निर्धारित करना संभव है, और अन्य सभी अंकों के कोड, जैसा कि ज्ञात है, उनके बीच के अंतराल में हैं।
आइए संबंधित चर और उनके मानों को परिभाषित करें:
कोड0 = कैरेक्टरकोड(“0”);
कोड9 = कैरेक्टरकोड(“9”);
समस्या को हल करने के लिए, हम निम्नलिखित योजना चुनते हैं:
- यदि पंक्ति में किसी भी मात्रा में अग्रणी या अनुगामी स्थान हैं, तो हम एक विशेष फ़ंक्शन के साथ उनसे छुटकारा पा लेंगे। आगे हम आंतरिक स्थानों के बीच वर्णों के समूहों में रुचि लेंगे। यदि समूह में केवल अंक हैं, तो यह एक पूर्णांक है। एक विशेष फ़ंक्शन है जिसका उपयोग पहले स्थान की स्थिति निर्धारित करने के लिए किया जा सकता है।
- एक बार जब आपके पास पहले स्थान की स्थिति हो, तो आप अंतरिक्ष के बाईं ओर वर्णों के समूह (सबस्ट्रिंग) को प्राप्त करने के लिए दूसरे फ़ंक्शन का उपयोग कर सकते हैं।
- आइए उन वर्णों का विश्लेषण करें जो समूह बनाते हैं और निर्धारित करते हैं कि क्या यह एक पूर्णांक है। पहचाने गए पूर्णांकों को एक विशेष चर में संक्षेपित किया जाएगा।
- आइए किसी अन्य फ़ंक्शन का उपयोग करके, रिक्त स्थान के दाईं ओर सभी वर्णों का चयन करके प्रारंभिक पंक्ति को छोटा करें। यह स्थान सिर्फ एक नहीं, बल्कि एक पंक्ति में रिक्त स्थानों की एक पूरी श्रृंखला हो सकती है, इसलिए शेष पंक्ति में, सभी बाईं ओर के रिक्त स्थान (एक पंक्ति में) से छुटकारा पाने के लिए एक विशेष फ़ंक्शन का उपयोग करें और बिंदु 2 पर लौटें। हम दोहराएंगे बिंदु 2 से बिंदु 4 तक चरण तब तक चलते हैं जब तक हम इस स्थिति तक नहीं पहुँच जाते कि पंक्ति में कोई स्थान नहीं बचा है। इस मामले में, छोटी स्ट्रिंग पार्स किए गए वर्णों के अंतिम समूह का गठन करेगी।
आइए अब उन कार्यों पर नजर डालें जिनकी हमें समस्या को हल करने के लिए आवश्यकता है।
AbbrLP
सिंटैक्स: AbbrLP()
विकल्प:
(आवश्यक)।
स्ट्रिंग में पहले महत्वपूर्ण वर्ण के बाईं ओर और स्ट्रिंग में अंतिम महत्वपूर्ण वर्ण के दाईं ओर रिक्त स्थान (गैर-महत्वपूर्ण वर्ण) को ट्रिम करता है।
खोजो
सिंटैक्स: खोजें(,)
विकल्प:
(आवश्यक),
(आवश्यक)।
किसी पाए गए सबस्ट्रिंग के पहले अक्षर की स्थिति लौटाता है।
एक स्ट्रिंग में वर्णों की संख्या 1 से शुरू होती है। यदि स्ट्रिंग में निर्दिष्ट सबस्ट्रिंग नहीं है, तो 0 लौटाया जाता है, हमारे मामले में, हम एक सबस्ट्रिंग के रूप में एक स्पेस ("") का उपयोग करेंगे।
एक सिंह
सिंटैक्स: लेव(,)
विकल्प:
(आवश्यक),
(आवश्यक)।
किसी स्ट्रिंग के पहले बाएँ अक्षर का चयन करता है। इस फ़ंक्शन का उपयोग करके हम विश्लेषण के लिए वर्णों के समूह निर्धारित करेंगे (बाएं से पहले स्थान तक)।
स्ट्रेल्थ
सिंटैक्स: स्ट्रेल्थ ()
विकल्प:
(आवश्यक)।
स्ट्रिंग में वर्णों की संख्या प्राप्त करें. हम इसका उपयोग स्ट्रिंग की लंबाई निर्धारित करने के लिए करेंगे।
समारोह प्रतीक कोड, जिसका उपयोग हम उन वर्णों के समूहों की पहचान करने के लिए करेंगे जो पूर्णांक हैं, पहले वर्णित किया गया था।
सही
सिंटैक्स: दाएँ(,)
विकल्प:
(आवश्यक),
(आवश्यक)।
एक स्ट्रिंग में सबसे दाएँ वर्ण का चयन करता है। इस फ़ंक्शन का उपयोग करके, हम स्ट्रिंग के अभी भी असंसाधित भाग का चयन करेंगे।
AbbrL
सिंटैक्स: संक्षिप्तीकरण()
विकल्प:
(आवश्यक)।
स्ट्रिंग में पहले महत्वपूर्ण वर्ण के बाईं ओर रिक्त स्थान (गैर-महत्वपूर्ण वर्ण) को ट्रिम करता है। हम इस फ़ंक्शन का उपयोग शेष स्ट्रिंग के बाईं ओर संभावित रिक्त स्थान को हटाने के लिए करते हैं।
नीचे टिप्पणियों के साथ फ़ंक्शन के लिए एक संभावित एल्गोरिदम दिया गया है।
संख्यात्मक अभिव्यक्तियाँ
मॉड्यूल के वेरिएबल और डेटाबेस ऑब्जेक्ट के विवरण संख्यात्मक हो सकते हैं।
किसी संख्या के लिए एक अंक सीमा होती है. संख्यात्मक विवरण के लिए, पूर्णांक भाग की लंबाई 32 वर्णों से अधिक नहीं हो सकती।
भिन्नात्मक भाग की सटीकता 10 अंकों से अधिक नहीं हो सकती। जब किसी वेरिएबल का वर्णन किया जाता है और उसे एक संख्यात्मक मान निर्दिष्ट किया जाता है, तो उसकी बिट गहराई कहीं भी दर्ज नहीं की जाती है। हालाँकि, चरों की भी सीमाएँ हैं।
सिंटैक्स सहायक का कहना है कि किसी संख्या के लिए अधिकतम अनुमत बिट गहराई 38 अक्षर है। ऐसी सीमा किसी भी आर्थिक समस्या के समाधान को नहीं रोकती है, अर्थात्। इन संख्याओं का उपयोग करके किसी भी मौद्रिक मूल्य का वर्णन किया जा सकता है।
हालाँकि, यदि आपको अभी भी कुछ गणितीय समस्याओं को हल करने के लिए बड़ी मात्राओं का वर्णन करने की आवश्यकता है, तो प्रोग्रामिंग सिद्धांत में एल्गोरिदम हैं जो आपको मौजूदा प्रतिबंधों के आधार पर किसी भी आयाम के साथ संख्याओं का वर्णन करने की अनुमति देते हैं।
संख्याओं पर लागू संचालन:
- सामान्य अंकगणितीय परिचालन (-, +, *, /)। जोड़ और घटाव पर गुणा और भाग को प्राथमिकता दी जाती है। कोष्ठकों की सर्वोच्च प्राथमिकता है. ऐसे यूनरी ऑपरेटर्स + और - भी हैं, जिनकी पूर्वता कोष्ठक के तुरंत बाद आती है;
- ऑपरेशन "विभाजन का शेष" (%)। उदाहरण के लिए, 12%5=2;
- गणितीय फ़ंक्शन जिनका उपयोग संख्याओं के लिए किया जा सकता है (त्रिकोणमितीय फ़ंक्शन, घातांक, वर्गमूल, किसी निर्दिष्ट स्थानीय मान पर पूर्णांक बनाना, किसी संख्या के पूर्णांक भाग का चयन करना)
यदि हम संख्यात्मक मानों की सटीकता के बारे में बात करते हैं, जहां तक डेटाबेस विवरण का संबंध है, तो प्राकृतिक सीमाएं हैं।
लेकिन जहां तक चर का सवाल है, यहां एक ख़ासियत है। वास्तव में, आप चर में बहुत बड़ी संख्याओं के साथ काम कर सकते हैं, लेकिन 32 वर्णों से अधिक की पूर्णांक भाग लंबाई वाले मान सूचना आधार में संग्रहीत नहीं किए जाएंगे।
बूलियन मान
बूलियन डेटा प्रकार के लिए, केवल दो मान हैं, सही और गलत, जिन्हें विभिन्न तरीकों से प्राप्त किया जा सकता है।
उदाहरण के लिए, आप संख्याओं या तिथियों के बीच तुलना संचालन का उपयोग कर सकते हैं। परिणामस्वरूप, एक निश्चित बूलियन मान प्राप्त होगा, जो भविष्य में सशर्त बयानों और लूप ऑपरेटरों में सबसे अधिक उपयोग किया जाएगा।
दिनांक प्रकार के अक्षर
किसी तिथि का वर्णन करने के दो तरीके हैं। उनमें से एक शाब्दिक का उपयोग कर रहा है. शाब्दिक एकल उद्धरण में लिखा गया है।
पहले साल, फिर महीना और फिर दिन लिखा जाता है।
यदि आवश्यक हो तो आप समय भी निर्दिष्ट कर सकते हैं, क्योंकि 1सी:एंटरप्राइज़ 8 प्रणाली में, किसी भी तारीख में दिनांक और समय दोनों शामिल होते हैं। उदाहरण के लिए:
दस्तावेज़ दिनांक = '20140315121020';
यदि समय निर्दिष्ट नहीं है, तो यह डिफ़ॉल्ट रूप से शून्य हो जाता है। आप दिनांक विवरण में किसी भी विभाजक का उपयोग कर सकते हैं। उदाहरण के लिए:
दस्तावेज़ दिनांक = '2014.03.15';
दिनांक निर्धारित करने का दूसरा तरीका वैश्विक संदर्भ फ़ंक्शन का उपयोग करना है की तारीख(). इस मामले में, हम इस फ़ंक्शन के पैरामीटर के समान ही पास करते हैं: वर्ष, महीना, दिन अल्पविराम द्वारा अलग किया गया।
आप समय भी निर्दिष्ट कर सकते हैं. यदि आप इसे निर्दिष्ट नहीं करते हैं, तो यह दिन की शुरुआत में डिफ़ॉल्ट हो जाएगा।
1सी:एंटरप्राइज़ 8 प्रणाली में, एक खाली तारीख कैलेंडर की शुरुआत होती है। रिकॉर्डिंग विकल्प:
खाली दिनांक = '00010101';
खाली दिनांक = दिनांक(1,1,1);
दोनों प्रविष्टियाँ समान परिणाम देंगी, और यह तिथि रिक्त मानी जाएगी।
कार्य की सुविधा की तारीख()मुद्दा यह है कि हम इसमें विशिष्ट मान नहीं, बल्कि कुछ चर डाल सकते हैं। यानी, कभी-कभी हम अलग-अलग वेरिएबल्स इकट्ठा करके एक तारीख बनाते हैं।
अतिरिक्त कार्रवाई दिनांक पर लागू होती है. अतिरिक्त ऑपरेशन दिनांक में सेकंड की निर्दिष्ट संख्या जोड़ता है।
आदिम डेटा प्रकार रूपांतरण
एक असाइनमेंट स्टेटमेंट में जहां कई वेरिएबल्स को संक्षेपित किया जाता है (उदाहरण के लिए, चर = ए + बी + सी), आदिम डेटा प्रकारों का रूपांतरण संभव है। डेटा प्रकार रूपांतरण पहले डेटा प्रकार के मान पर किया जाता है।
इस प्रकार, यदि पहला डेटा प्रकार एक स्ट्रिंग है, तो सिस्टम संपूर्ण अभिव्यक्ति को एक स्ट्रिंग बनाने का प्रयास करेगा। यदि पहला डेटा प्रकार एक संख्या है, तो सिस्टम एक संख्यात्मक डेटा प्रकार प्राप्त करने का प्रयास करेगा।
और इसलिए, स्ट्रिंग + संख्या = स्ट्रिंग। कभी-कभी किसी स्ट्रिंग में एक संख्या जोड़ी जा सकती है, यदि स्ट्रिंग से कुछ संख्यात्मक मान निकाला जा सकता है (उदाहरण के लिए, 123 + "456")।
तार्किक डेटा प्रकार के लिए, निम्नलिखित अभिव्यक्तियाँ लागू होती हैं:
सत्य और 1 = सत्य;
सत्य और 0 = असत्य।
शून्य से बड़ी कोई भी संख्या सत्य में बदल जाती है, 0 गलत में बदल जाती है।
जैसा कि पहले उल्लेख किया गया है, तारीख को संख्या में जोड़ा जा सकता है। दिनांकों को बूलियन डेटा प्रकार में भी जोड़ा जा सकता है।
इस स्थिति में, True को 1 और False को 0 में बदल दिया जाता है।
ऑपरेटरों में प्रकार रूपांतरण के अलावा, उपयुक्त कार्यों का उपयोग करके स्पष्ट प्रकार रूपांतरण संभव है: स्ट्रिंग(), संख्या(), दिनांक(), बूलियन().
को रेखाकिसी भी डेटा प्रकार को परिवर्तित किया जाता है।
संख्या एक स्ट्रिंग या बूलियन से प्राप्त की जा सकती है। बूलियन कनवर्ट करता है: 1 तक सही, 0 तक गलत।
यदि किसी स्ट्रिंग में दिनांक मान है तो आप उसे दिनांक में डाल सकते हैं। उदाहरण के लिए, दिनांक(“20140315”)। जैसा कि पहले उल्लेख किया गया है, स्थिति के अनुसार परिवर्तित करना संभव है:
की तारीख(,)।
आप संख्या और बूलियन मान को बूलियन में परिवर्तित कर सकते हैं।
इन फ़ंक्शंस का उपयोग प्रोग्राम कोड में स्पष्ट प्रकार के रूपांतरण करने के लिए किया जा सकता है।
आदिम डेटा प्रकार संख्या, स्ट्रिंग, दिनांक और बूलियन डेटाबेस फ़ील्ड के रूप में कार्य कर सकते हैं।
शून्य और अपरिभाषित मान
NULL एक शाब्दिक है. इसका उपयोग, एक नियम के रूप में, डेटाबेस प्रश्नों में किया जाता है जब दो या दो से अधिक तालिकाएँ जुड़ती हैं।
यह दूसरी तालिका में गुम रिकॉर्ड हैं जो NULL मान से भरे हुए हैं। वे। यह एक प्रकार का लुप्त मूल्य है।
भविष्य में, परिणामी परिणाम को संसाधित करते समय, इसे ध्यान में रखा जाना चाहिए, क्योंकि NULL शून्य नहीं है, बल्कि संबंधित डेटा प्रकार है।
किसी मान को संसाधित करने के लिए, NULL को कुछ नियमित डेटा प्रकार में डाला जाना चाहिए जिसे आउटपुट किया जा सकता है या अंकगणितीय संचालन में उपयोग किया जा सकता है।
अंतर्निहित भाषा में NULL प्रकार का मान भी प्राप्त किया जा सकता है। आप एक वेरिएबल को परिभाषित कर सकते हैं और उसे वही NULL मान निर्दिष्ट कर सकते हैं। हालाँकि, प्रोग्राम कोड में ऐसे असाइनमेंट का उपयोग लगभग कभी नहीं किया जाता है।
वे। NULL वास्तव में वह डेटा प्रकार है जो प्रश्नों के साथ काम करते समय प्राप्त होता है। क्वेरी भाषा में NULL मान को एक विशेष तरीके से प्रबंधित करने की आवश्यकता है।
अर्थात्, A=NULL तुलना क्वेरी स्तर पर काम नहीं करेगी; विशेष कार्यों का उपयोग करने की आवश्यकता होगी। हालाँकि, अंतर्निहित भाषा में, NULL मान के साथ तुलना को सही ढंग से नियंत्रित किया जाएगा।
डेटा प्रकार अपरिभाषित कुछ विशेषता का एक गैर-रिक्त मान है।
उदाहरण के लिए, यदि किसी निर्देशिका विशेषता में डेटा प्रकार के रूप में किसी अन्य निर्देशिका का लिंक है, तो इस विशेषता का खाली मान अपरिभाषित के बराबर नहीं होगा।
यह प्रकार (अपरिभाषित) प्रकट होता है, सबसे पहले, यदि हमारे पास एक निश्चित चर है और इसे प्रारंभ नहीं किया गया है (डेटा प्रकार परिभाषित नहीं है)।
दूसरा उदाहरण: यदि कार्रवाई नहीं की जा सकती तो अपरिभाषित डेटा प्रकार कई अंतर्निहित भाषा कार्यों द्वारा लौटाया जाता है।
उदाहरण के लिए, किसी निर्देशिका तत्व को नाम से खोजना यदि किसी निर्देशिका में ऐसा कोई तत्व नाम नहीं है। तरीका नाम खोजेंमान लौटा देगा अपरिभाषित.
जिसमें अपरिभाषितएक कीवर्ड है, इसे लाल रंग में हाइलाइट किया गया है। यह भी एक शाब्दिक है, लिखने के लिए अपरिभाषितकिसी उद्धरण, अल्पविराम, कोष्ठक आदि का उपयोग करने की आवश्यकता नहीं है।
यदि दस्तावेज़ों की एक सूची है, और यह सूची खाली है (इसलिए, इसमें कोई पंक्तियाँ नहीं हैं), तो वर्तमान पंक्ति मान लेगी अपरिभाषित.
यदि इन्फोबेस में समग्र डेटा प्रकार वाली कोई विशेषता है, तो इस विशेषता का रिक्त मान बराबर होगा अपरिभाषित.
लेकिन यदि डेटा प्रकार समग्र नहीं है, तो खाली मान इस प्रकार के खाली मान के अनुरूप होगा (किसी तारीख के लिए, यह पहले वर्ष के पहले महीने के पहले दिन के पहले घंटे का पहला सेकंड है)।
इन प्रकारों में NULL और UnDefined दोनों डेटा प्रकार और मान हैं, और एक और केवल एक। NULL के लिए यह मान NULL है, अपरिभाषित के लिए यह अपरिभाषित है।
डेटा प्रकार प्रकार
इस डेटा प्रकार का मुख्य उपयोग एक विशिष्ट प्रकार के साथ एक निश्चित चर या डेटाबेस विशेषता के मूल्य की तुलना करना है।
वे। एल्गोरिदम में, आपको यह समझने की आवश्यकता है कि दी गई वस्तु किस प्रकार की है।
विशेष रूप से, इस डेटा प्रकार में कोई शाब्दिक अर्थ नहीं है। हम इसे NULL या UnDefined के रूप में नहीं लिख सकते हैं, लेकिन हम दो फ़ंक्शन का उपयोग करके इस प्रकार का मान प्राप्त कर सकते हैं प्रकारऔर टाइपवैल्यू.
किसी ऑब्जेक्ट का प्रकार प्राप्त करने के लिए (यह एक वेरिएबल, या एक डेटाबेस विशेषता, या एक फॉर्म विशेषता हो सकता है), फ़ंक्शन का उपयोग किया जाता है टाइपवैल्यू.
जिस ऑब्जेक्ट के लिए आप डेटा प्रकार प्राप्त करना चाहते हैं वह इस फ़ंक्शन को पास कर दिया जाता है।
यह फ़ंक्शन प्रकार के प्रकार को उसके रिटर्न मान के रूप में लौटाता है।
भविष्य में इसकी तुलना किसी भी प्रकार के हित से की जानी चाहिए। उदाहरण के लिए:
यदि टाइपवैल्यू(एलिमेंट) = टाइप करें ("डायरेक्टरीलिंक.नोमेनक्लेचर") तो
रिपोर्ट ("यह एक उत्पाद है");
अगर अंत;
अंत में, आइए कवर की गई सभी सामग्री का सारांश प्रस्तुत करें।
हमने अंतर्निहित 1C भाषा की बुनियादी संरचनाओं को देखा, चर और ऑपरेटरों का उपयोग करना सीखा, और यह पता लगाया कि प्रक्रियाओं और कार्यों का उपयोग क्यों और कैसे करना है। ध्यान दें कि मूल रूप से इस बिंदु तक हमारे सभी प्रोग्राम कोड आत्मनिर्भर थे - हमने स्क्रैच से सब कुछ स्वयं लिखा और कुछ कॉन्फ़िगरेशन ऑब्जेक्ट या अंतर्निहित भाषा का न्यूनतम उपयोग किया।
हम अगले लेख में इन वस्तुओं के बारे में अधिक विस्तार से जानेंगे, इसलिए बने रहें! ;)
/
मेटाडेटा ऑब्जेक्ट बनाना और संपादित करना
परिभाषित प्रकारों का उपयोग करना
आवेदन का दायरा: प्रबंधित अनुप्रयोग, सामान्य अनुप्रयोग।
1. परिभाषित प्रकारों का उद्देश्य उन डेटा प्रकारों को परिभाषित करना है जो अक्सर उपयोग की जाने वाली संस्थाओं का वर्णन करते हैं या उच्च स्तर की संभावना के साथ किसी एप्लिकेशन समाधान को लागू करते समय बदल सकते हैं। वे आपको कॉन्फ़िगरेशन में विभिन्न स्थानों (विवरण, वस्तुओं के गुणों, रूपों, आदि) में संरचना को निर्दिष्ट किए बिना वर्णित प्रकार या प्रकारों के सेट का पुन: उपयोग करने की अनुमति देते हैं।
ITS पर आलेख भी देखें: "कॉन्फ़िगरेशन ऑब्जेक्ट - परिभाषित प्रकार"
2.1. एक सरल प्रकार और उसके क्वालीफायर को परिभाषित करने के लिए जिसका एक व्यावहारिक अर्थ होता है, जिसका उपयोग विभिन्न विशेषताओं, संसाधनों, फॉर्म विशेषताओं, लेआउट आदि में किया जाता है। किसी भी सबसिस्टम के भीतर या संपूर्ण एप्लिकेशन समाधान में। यह सुनिश्चित करता है कि उपयोग के सभी स्थानों पर डेटा समान लंबाई और सटीकता का है, और यदि आवश्यकताएं बदलती हैं तो संशोधन को सरल बनाता है।
उदाहरण के लिए:
- बीजक संख्या- स्ट्रिंग, लंबाई 30। विभिन्न दस्तावेजों में चालान संख्या के प्रारूप को नियंत्रित करता है: वस्तुओं और सेवाओं की प्राप्ति, एंट्रीबुकशॉपिंग, ग्राहक से माल की वापसीऔर आदि।
- डिलिवरी का पता- स्ट्रिंग, 500. दस्तावेजों में डिलीवरी पते का पाठ प्रतिनिधित्व आपूर्तिकर्ता को आदेश, डिलिवरी पता वाहक, प्रक्रिया में है बिक्री सहायक, प्रॉप्स में डिलिवरी पता वाहकदस्तावेज़ ग्राहक से माल की वापसी के लिए आवेदनऔर आदि।
2.2. एक समग्र प्रकार को परिभाषित करने के लिए जो किसी सबसिस्टम की वस्तुओं या संपूर्ण एप्लिकेशन समाधान में व्यापक रूप से उपयोग किया जाता है। परिभाषित प्रकार उपयोग के सभी स्थानों में डेटा की समान संरचना (प्रकार) की गारंटी देता है, और एप्लिकेशन कॉन्फ़िगरेशन में उप-प्रणालियों के संशोधन और कार्यान्वयन को भी सरल बनाता है।
उदाहरण के लिए, कॉन्फ़िगरेशन में एक सबसिस्टम शामिल है इंटरैक्शन, जिसका उद्देश्य ईमेल पत्राचार, रिकॉर्डिंग कॉल और मीटिंग आयोजित करना है। इस उपप्रणाली को लागू करते समय, डेवलपर ने मेटाडेटा ऑब्जेक्ट्स की संरचना पर निर्णय लिया जो "इंटरैक्शन संपर्क" के रूप में कार्य कर सकते हैं - ये निर्देशिकाओं के तत्व हैं व्यक्तियों, भागीदारों, व्यक्ति-साझेदारों से संपर्क करें, और परिभाषित प्रकार में प्रकारों की इस संरचना को निर्दिष्ट किया संपर्क बातचीतसबसिस्टम में प्रदान किया गया। बदले में, परिभाषित प्रकार का व्यापक रूप से ऑब्जेक्ट विवरण और सबसिस्टम फॉर्म (दस्तावेज़ों में) में उपयोग किया जाता है बैठक, नियोजित बातचीत- सारणीबद्ध भाग प्रतिभागियों, दस्तावेज़ में संदेशएसएमएस– सारणीबद्ध भाग अभिभाषक, दस्तावेज़ में फोन कॉल- सहारा सब्सक्राइबर संपर्क, सामान्य रूपों में पता पुस्तिका, संपर्क चुनें- आवश्यक वस्तुएँ विषय के बारे में संपर्क,लेआउट पैरामीटर में इंटरैक्शनसंपर्क का पदानुक्रमदस्तावेज़ पत्रिका इंटरैक्शनआदि) अन्यथा, किसी परिभाषित प्रकार का उपयोग किए बिना संपर्क बातचीतसबसिस्टम ऑब्जेक्ट को समर्थन से हटाना और सभी सूचीबद्ध स्थानों में प्रकारों की आवश्यक संरचना निर्दिष्ट करना आवश्यक होगा।
2.3. एक कार्यान्वित सबसिस्टम विकसित करते समय - एप्लिकेशन प्रकार को फिर से परिभाषित करने के लिए, जिसे कार्यान्वयन के दौरान निर्दिष्ट किया जाएगा।
उदाहरण के लिए, सबसिस्टम प्रकार आपूर्तिकर्ताओंकार्यान्वयन के दौरान इसे एप्लिकेशन कॉन्फ़िगरेशन प्रकार से बदला जा सकता है प्रतिपक्षों.
3. किसी मौजूदा प्रकार के लिए "पर्यायवाची" को परिभाषित करने के लिए परिभाषित प्रकारों का उपयोग करना, अन्य कॉन्फ़िगरेशन में कार्यान्वयन की आवश्यकता के बिना, केवल कारणों से, एक उपप्रणाली (कॉन्फ़िगरेशन) के भीतर स्थानीय (बड़े पैमाने पर नहीं) उपयोग के लिए संस्थाओं को "प्रतिस्थापित" करना गलत है। संशोधन में आसानी. एक नियम के रूप में, यह एक डिज़ाइन त्रुटि या मूल प्रकार के नाम की पद्धतिगत रूप से गलत पसंद को इंगित करता है।
एक छात्र के रूप में साइट पर लॉगिन करें
स्कूल सामग्री तक पहुँचने के लिए एक छात्र के रूप में लॉग इन करें
शुरुआती प्रोग्रामर के लिए आंतरिक प्रोग्रामिंग भाषा 1सी 8.3: 1सी में डेटा प्रकार
अब हम जानते हैं कि कंप्यूटर को हमारे आदेशों को निष्पादित करने के लिए कैसे बाध्य किया जाए (उदाहरण के रूप में "रिपोर्ट" कमांड का उपयोग करके) और कमांड के लिए कुछ मापदंडों को कैसे पारित किया जाए ("रिपोर्ट" के बाद कोष्ठक में आने वाले संदेश का पाठ)। हमने यह भी महसूस किया कि सभी कमांड अर्धविराम द्वारा अलग किए गए हैं।
डेटा के प्रकार
मुख्य प्रोग्रामिंग कार्यों में से एक डेटा प्रोसेसिंग है, तो आइए जानें कि 1C भाषा में मुख्य डेटा प्रकार क्या हैं:
- रेखा. ऐसे डेटा का एक उत्कृष्ट उदाहरण एक कविता का एक उद्धरण है "तूफान ने आकाश को अंधेरे से ढक दिया,". कृपया ध्यान दें कि स्ट्रिंग प्रकार का डेटा हमेशा संलग्न होता है डबल उद्धरण.
- संख्या. हम सभी डेटा प्रकार से परिचित हैं। हम अक्सर वास्तविक जीवन में इसका सामना करते हैं: वेतन-दिवस पर काम पर, और फिर स्टोर में। संख्याएँ, जैसा कि आप निश्चित रूप से जानते हैं, हो सकती हैं साबुतऔर आंशिक. पूर्णांक का एक उदाहरण: 1000000, और एक भिन्न: 3.14। भिन्नात्मक भाग को पूर्ण भाग से अलग कर दिया जाता है डॉट. संख्याओं का एक चिन्ह भी होता है: प्लसया ऋण.
- तारीख. आपकी जन्मतिथि इस प्रकार के डेटा का एक उदाहरण है। इसमें साल, महीना और दिन शामिल है. उदाहरण के लिए, पहली मानवयुक्त अंतरिक्ष उड़ान 12 अप्रैल, 1961 को हुई थी। कंप्यूटर भाषा में यह डेटा इस प्रकार दिखेगा: " 19610412 "। स्वयं जानने का प्रयास करें कि ऐसा क्यों है। तारीख हमेशा होती है एकल कोट ().
टास्क नंबर 6.निम्नलिखित प्रश्नों के उत्तर कंप्यूटर प्रारूप में (उपयुक्त डेटा प्रकार का उपयोग करके) लिखें:
- पहला कृत्रिम उपग्रह कब प्रक्षेपित किया गया था?
- प्रथम अंतरिक्ष यात्री का नाम क्या था?
- सौर मंडल में कितने ग्रह हैं?
खुद जांच करें # अपने आप को को
कार्य संख्या 7 के परिणामों के आधार पर, एक दिलचस्प निष्कर्ष निकाला जा सकता है: न केवल स्ट्रिंग्स, बल्कि किसी अन्य प्रकार का डेटा भी रिपोर्ट कमांड के पैरामीटर के रूप में पारित किया जा सकता है।
डाटा प्रासेसिंग
अब, अंततः, आइए इस डेटा को संसाधित करें! हम डेटा पर कौन से ऑपरेशन कर सकते हैं? यह उनके प्रकार पर निर्भर करता है।
उदाहरण के लिए, हम अतिरिक्त चिह्न का उपयोग करके स्ट्रिंग को एक दूसरे से जोड़ सकते हैं:
अधिक जटिल अंकगणितीय अभिव्यक्तियों के लिए, कोष्ठक का उपयोग करें:
टास्क नंबर 8.अपने कंप्यूटर पर निम्नलिखित उदाहरण चलाएँ.
सिस्टम टाइप करेंएक विशेष प्रणाली है जिसके द्वारा एप्लिकेशन समाधानों द्वारा उपयोग किए गए डेटा को व्यवस्थित किया जाता है। टाइप सिस्टम आपको वास्तविक दुनिया की जानकारी को ऐसे शब्दों में प्रस्तुत करने की अनुमति देता है जो 1C:एंटरप्राइज़ 8 के लिए "समझने योग्य" हैं।
टाइप सिस्टम एप्लिकेशन समाधानों के व्यावसायिक तर्क का सीधे वर्णन करने और मध्यवर्ती डेटा प्रोसेसिंग कार्यों को करने के लिए पर्याप्त अवसर प्रदान करता है।
सिस्टम प्रकार का विवरण सिंटैक्स सहायक, अंतर्निहित सहायता और दस्तावेज़ीकरण में निहित है।
टाइप सिस्टम की मुख्य विशेषता यह है कि किसी भी एप्लिकेशन समाधान में ऐसे प्रकार मौजूद होते हैं। ये प्रकार स्वयं प्लेटफ़ॉर्म स्तर पर परिभाषित होते हैं और डेवलपर के कार्यों की परवाह किए बिना हमेशा मौजूद रहते हैं। उनके साथ, एक विशिष्ट एप्लिकेशन समाधान में, इस विशेष एप्लिकेशन समाधान में विभिन्न प्रकार के डेटा अंतर्निहित हो सकते हैं। इस प्रकार के डेटा के लिए, प्लेटफ़ॉर्म स्तर पर उनके निर्माण और टेम्प्लेट के लिए केवल सामान्य नियम परिभाषित किए जाते हैं। और प्लेटफ़ॉर्म द्वारा विशिष्ट प्रकार का डेटा बनाया जाता है जो इस आधार पर होता है कि डेवलपर एप्लिकेशन समाधान की संरचना को कैसे बनाता और संशोधित करता है।
प्लेटफ़ॉर्म स्तर पर परिभाषित डेटा प्रकार
एप्लिकेशन समाधान जिन प्रकारों पर काम कर सकते हैं उनका सेट काफी विविध है। यह आपको डेटा प्रोसेसिंग समस्याओं और इस डेटा को उपयोगकर्ता के सामने प्रस्तुत करने और इसके साथ इंटरैक्टिव काम करने के कार्यों दोनों को हल करने की अनुमति देता है। डेटा प्रकारों की कई मुख्य श्रेणियाँ हैं।
आदिम प्रकार
आदिम डेटा प्रकार ऐसे प्रकार हैं रेखा, संख्या, तारीख, बूलियनऔर दूसरे। ये प्रकार 1C:Enterprise 8 के लिए कुछ खास नहीं हैं। एक नियम के रूप में, ऐसे डेटा प्रकार अन्य सॉफ़्टवेयर सिस्टम में मौजूद होते हैं।
आदिम प्रकार के मूल्य सरल अविभाज्य मूल्य हैं जिनमें व्यक्तिगत घटकों को अलग नहीं किया जा सकता है। उदाहरण के लिए, मान जैसे संख्या 1, 8, 15, आदि हो सकते हैं। एक आदिम प्रकार का मान बनाने के लिए, आपको इसे प्रोग्राम टेक्स्ट में निर्दिष्ट करना होगा शाब्दिक- मूल्य का प्रतीकात्मक पहचानकर्ता.
सामान्य मूल्य संग्रह
अधिक जटिल डेटा प्रकार भी हैं। उदाहरण के लिए, प्लेटफ़ॉर्म कई प्रकारों का समर्थन करता है, जो मूल्यों के सामान्य संग्रह हैं: सरणी, संरचना, सूचीमूल्यऔर दूसरे।
सामान्य प्रकार
इसके अलावा, प्लेटफ़ॉर्म विशिष्ट डेटा प्रकारों को लागू करता है जो एप्लिकेशन समाधानों की एक या दूसरी कार्यक्षमता को लागू करते हैं: सामग्री या लेख दस्तावेज़, सारणीबद्ध दस्तावेज़, भंडारण मान, क्वेरी बिल्डरऔर दूसरे।
सामान्य प्रकार भी कहलाते हैं आम वस्तुएं. इन प्रकारों के मूल्य, आदिम प्रकारों के मूल्यों के विपरीत, किसी वस्तु के व्यक्तिगत गुणों के मूल्यों का एक संग्रह हैं। इसीलिए उन्हें बुलाया जाता है वस्तुओं के उदाहरण.
ऑब्जेक्ट इंस्टेंस एक विशेष अंतर्निहित भाषा ऑपरेटर का उपयोग करके बनाए जाते हैं - नया.
इंटरफ़ेस प्रकार
इंटरफ़ेस प्रकार आपको उपयोगकर्ता के साथ एप्लिकेशन समाधान के दृश्य इंटरैक्शन को व्यवस्थित करने की अनुमति देते हैं। ये मुख्य रूप से रूपों और उनके तत्वों के संचालन से संबंधित प्रकार हैं।
एप्लिकेशन समाधान में उत्पन्न डेटा के प्रकार
हालाँकि, प्लेटफ़ॉर्म स्तर पर परिभाषित डेटा प्रकारों के अलावा, एक विशेष एप्लिकेशन समाधान अद्वितीय डेटा प्रकारों का उपयोग कर सकता है जो केवल उस विशेष एप्लिकेशन समाधान में मौजूद होते हैं। इसके अलावा, प्लेटफ़ॉर्म इन डेटा प्रकारों के साथ उसी तरह काम करने में पूरी तरह से सहायता करेगा जैसे प्लेटफ़ॉर्म के स्तर पर परिभाषित प्रकारों के साथ किया जाता है।
एक नियम के रूप में, किसी एप्लिकेशन समाधान में नए डेटा प्रकारों का उद्भव एप्लिकेशन कॉन्फ़िगरेशन ऑब्जेक्ट के उपयोग से जुड़ा होता है। इसलिए, इन प्रकारों को भी कहा जाता है आवेदन प्रकारया लागू वस्तुएं.
प्लेटफ़ॉर्म स्तर पर, एप्लिकेशन ऑब्जेक्ट के कई वर्ग (टेम्पलेट) समर्थित होते हैं, जिनका उपयोग स्वयं किसी विशिष्ट एप्लिकेशन समाधान में नहीं किया जा सकता है। उदाहरण के लिए, आप एप्लिकेशन ऑब्जेक्ट वर्गों को सूचीबद्ध कर सकते हैं जैसे कि निर्देशिका, प्रलेखन, सूचना रजिस्टर, विशेषता प्रकार की योजनाएँवगैरह।
एप्लिकेशन ऑब्जेक्ट के प्रत्येक वर्ग के लिए, उससे संबंधित बुनियादी कार्यक्षमता परिभाषित की गई है: डेटाबेस तालिकाओं के प्रकार जिन्हें डेटा, मानक फॉर्म, मानक भाषा ऑब्जेक्ट, अधिकारों के सेट आदि को संग्रहीत करने के लिए बनाया जाना चाहिए।
एक डेवलपर, एक एप्लिकेशन समाधान बनाते समय, इन वर्गों का सीधे उपयोग करने का अवसर नहीं रखता है, लेकिन अपने एप्लिकेशन समाधान में एक नया कॉन्फ़िगरेशन ऑब्जेक्ट जोड़ सकता है जो किसी विशेष वर्ग की सभी कार्यक्षमताओं को प्राप्त करता है:
उदाहरण के लिए, एक डेवलपर अपने एप्लिकेशन समाधान में एक नई संदर्भ पुस्तक जोड़ सकता है नामपद्धति निर्देशिका, या एक नया दस्तावेज़ नकद रिपोर्ट, जो क्लास की कार्यक्षमता को इनहेरिट करेगा प्रलेखन.
इस तरह के जोड़ के तुरंत बाद, नए डेटा प्रकार डेवलपर के लिए उपलब्ध हो जाते हैं, जिनकी संरचना कॉन्फ़िगरेशन ऑब्जेक्ट के एप्लिकेशन ऑब्जेक्ट के एक विशेष वर्ग से संबंधित होती है।
उदाहरण के लिए, एक नई निर्देशिका बनाने के बाद नामपद्धति, निम्नलिखित डेटा प्रकार उपलब्ध हो जाते हैं:
- निर्देशिका प्रबंधक.नामपद्धति,
- निर्देशिकालिंक.नामपद्धति,
- निर्देशिकाऑब्जेक्ट.नामपद्धति,
- निर्देशिका चयन. नामकरण,
- निर्देशिका सूची.नामपद्धति.
प्रकार प्रणाली केवल इस प्रकार की सामान्य "संरचना" का वर्णन करती है, वे नियम जिनके द्वारा इस प्रकार की वस्तुओं का निर्माण किया जाएगा। प्रकार का विशिष्ट नाम, ऑब्जेक्ट के गुणों और विधियों की संरचना इस बात पर निर्भर करेगी कि डेवलपर कॉन्फ़िगरेशन ऑब्जेक्ट को कैसे नाम देता है और उदाहरण के लिए, विवरण और तालिका भाग वह इसमें जोड़ देगा।
साथ ही नया संचय रजिस्टर बनाकर सेल्सकंपनी, नए डेटा प्रकारों की संरचना भिन्न होगी:
- संचय रजिस्टरकंपनी बिक्री प्रबंधक,
- रजिस्टरसंचय चयन.सेल्सकंपनी,
- रजिस्टरसंचयसूची.सेल्सकंपनी,
- रजिस्टरएक्युमुलेशनसेटरिकॉर्ड्स.सेल्सकंपनी,
- संचय रजिस्टररिकॉर्ड.कंपनी बिक्री,
- संचय रजिस्टररिकॉर्ड कुंजी.कंपनी बिक्री।
यह फिर से ध्यान दिया जाना चाहिए कि ये डेटा प्रकार प्लेटफ़ॉर्म द्वारा मूल रूप से समर्थित नहीं हैं और केवल एक विशिष्ट एप्लिकेशन समाधान में मौजूद हैं।
एक अन्य बिंदु जिस पर जोर दिया जाना चाहिए उसे एक उदाहरण के साथ प्रदर्शित करना सबसे आसान है।
मान लीजिए कि किसी एप्लिकेशन समाधान में दो नई निर्देशिकाएं बनाई गई हैं: नामपद्धतिऔर कीमतों. भले ही ये दोनों वस्तुएं संबंधित वर्ग की कार्यक्षमता प्राप्त करती हैं निर्देशिका, और उनके लिए एप्लिकेशन समाधान में डेटा प्रकारों का एक ही सेट बनाया गया था, "समान" डेटा प्रकार अलग-अलग डेटा प्रकार होंगे। उदाहरण के लिए, डायरेक्ट्रीऑब्जेक्ट.नामकरण डेटा प्रकार।
परिभाषित प्रकार एक नया 1C मेटाडेटा ऑब्जेक्ट है जो प्लेटफ़ॉर्म संस्करण 8.3 में दिखाई दिया। वस्तु सहायक प्रकृति की है। आइए विचार करें कि परिभाषित प्रकार क्या हैं और वे कार्य जिन्हें यह ऑब्जेक्ट हल कर सकता है।
परिभाषित नए डेटा प्रकार हैं, जिनका सेट एप्लिकेशन समाधान के डेवलपर द्वारा निर्धारित किया जाता है। इसमें कई वैध प्रकार शामिल हैं। यह डेटा प्रकार किसी भी कॉन्फ़िगरेशन विशेषता का प्रकार हो सकता है, परिभाषित प्रकार और "" ऑब्जेक्ट को छोड़कर।
1सी पर 267 वीडियो पाठ निःशुल्क प्राप्त करें:
समायोजन
इस ऑब्जेक्ट के लिए इतनी सारी सेटिंग्स नहीं हैं:
वे। 1C में नाम और पर्यायवाची के अलावा, परिभाषित प्रकारों में केवल ऑब्जेक्ट प्रकारों का एक सेट होता है।
1सी 8.3 में परिभाषित प्रकारों का उपयोग करने का एक उदाहरण
इस ऑब्जेक्ट के लिए विभिन्न प्रकार के एप्लिकेशन पाए जा सकते हैं।
उपयोग के उदाहरण:
- आप कॉन्फ़िगरेशन विवरण में वर्णन कर सकते हैं जो उस डेटा को संदर्भित करता है जिसे परिभाषित किया जाएगा जब टुकड़ा एक विशिष्ट कॉन्फ़िगरेशन में एम्बेडेड होता है;
- इवेंट सब्सक्रिप्शन के एक निश्चित सेट के लिए एक प्रकार का परिभाषित डेटा निर्दिष्ट करें, जब प्रकारों का सेट बदलता है, तो सभी सब्सक्रिप्शन के लिए स्रोत गतिशील रूप से बदल जाएगा;
- विशेषता प्रकारों की योजना के विकल्प के रूप में उपयोग करें
और भी बहुत कुछ।
यदि आप 1सी प्रोग्रामिंग सीखना शुरू कर रहे हैं, तो हम हमारे निःशुल्क पाठ्यक्रम की अनुशंसा करते हैं (मत भूलिए