बुनियादी और अग्रणी प्रकार की गणना की अवधारणा। जटिल आवधिक बस्तियाँ किस प्रकार का परिकलन रजिस्टर संसाधन हो सकता है?

नई वस्तु "गणना प्रकार की योजना" 7.7 में गणना प्रकारों का एक दूरस्थ एनालॉग है। परिकलन प्रकार डेटा ऑब्जेक्ट होते हैं, मेटाडेटा ऑब्जेक्ट नहीं। पूर्वनिर्धारित गणना प्रकार हो सकते हैं।

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

नई वस्तु "गणना का रजिस्टर" - 7.7 . में गणना की पत्रिका का एक दूरस्थ एनालॉग

कैलेंडर के बजाय, कार्य शेड्यूल को लागू करने के लिए सूचना रजिस्टर का उपयोग किया जाता है।

अंतर्निहित भाषा

प्लेटफ़ॉर्म की क्षमताओं का उल्लेखनीय रूप से विस्तार करने के लिए, 1C: एंटरप्राइज़ 8.0 भाषा का एक नया एकीकृत ऑब्जेक्ट मॉडल विकसित किया गया था। इसने मंच की क्षमताओं का नाटकीय रूप से विस्तार करना, इसके विकास को गति देना और सॉफ्टवेयर मॉड्यूल की समझ को बढ़ाना संभव बना दिया।

नए अक्षर और डेटा प्रकार पेश किए गए हैं, जैसे शाब्दिक अपरिभाषित, शून्य, सही और गलत (बूलियन डेटा प्रकार)। दिनांक प्रकार में समय शामिल है।

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

सामान्य मॉड्यूल पेश किए गए हैं, जिसमें केवल प्रक्रियाओं और कार्यों का एक खंड है। कॉन्फ़िगरेशन में, सामान्य मॉड्यूल की प्रक्रियाएं और कार्य उपलब्ध हैं, जिन्हें "निर्यात" कीवर्ड के साथ घोषित किया गया है।

सॉफ़्टवेयर मॉड्यूल लिखते समय, प्रासंगिक संकेत तकनीक (IntelliSense के अनुरूप) का उपयोग किया जाता है। प्रोग्राम मॉड्यूल का टेक्स्ट एडिटर सिंटैक्स निर्माणों के समूहन (तह) के साथ-साथ प्रक्रियाओं और कार्यों के विवरण (टिप्पणियों के रूप में) का समर्थन करता है।

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

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

गणना रजिस्टर गुण

सभी मेटाडेटा ऑब्जेक्ट्स में निहित सामान्य गुणों के साथ, गणना रजिस्टरों में कई विशिष्ट गुण होते हैं।

गणना रजिस्टर को संपादन विंडो में संपादित किया जाता है।

गणना रजिस्टर को संपादित करते समय, गणना प्रकारों की एक योजना निर्धारित की जाती है, वैधता अवधि और आधार अवधि के लिए समर्थन, आवृत्ति, रजिस्टर की संरचना विकसित की जाती है: आयाम, संसाधन और रजिस्टर विवरण के सेट बनाए जाते हैं, यदि आवश्यक हो, तो स्क्रीन और रजिस्टर की गतिविधियों को देखने के लिए प्रिंट फॉर्म बनाए जाते हैं।

गणना प्रकार का चार्ट- रजिस्टर की मुख्य विशेषता। "गणना प्रकार योजना" प्रकार की वस्तुओं में से एक का चयन किया जाता है।

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

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

ग्राफ़ मान- संपत्ति उपलब्ध है अगर संपत्ति सेट है वैधता... संपत्ति संपत्ति में परिभाषित सूचना रजिस्टर संसाधन का चयन करती है अनुसूची.

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

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

दौरा- उस अवधि को परिभाषित करता है जिसके साथ आंदोलनों को रिकॉर्ड किया जाता है और जिसके भीतर आंदोलन एक दूसरे को प्रभावित कर सकते हैं (वैधता अवधि का समर्थन करने वाले रजिस्टरों के लिए)।

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

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

"अन्य" टैब पर, ऑब्जेक्ट ब्लॉकिंग मोड (स्वचालित या नियंत्रित) सेट है और इस प्रकार की वस्तुओं के लिए पूर्ण-पाठ खोज का संकेत सेट है।

गणना रजिस्टर

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

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

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

गणना रजिस्टर की संरचना यह निर्धारित करती है कि रजिस्टर में कौन सी जानकारी और किन पहलुओं को संग्रहीत किया जाएगा। डेवलपर आयाम, संसाधन और रजिस्टर विवरण निर्दिष्ट करता है:

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

संसाधन - गणना परिणाम, उदाहरण के लिए, मुख्य उपार्जन रजिस्टर के लिए अर्जित संसाधन, कर रजिस्टर के लिए रोके गए संसाधन, आदि। संसाधन केवल संख्यात्मक प्रकार के हो सकते हैं।

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

चार्ट

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

नीचे एक सूचना रजिस्टर का एक उदाहरण है जो एक समय सारिणी के रूप में कार्य करता है।

पुनर्गणना

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

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

मान लीजिए कि हमारे पास कैलकुलेशन रजिस्टर हैं, बेसिक एक्रुअल्स, बोनस और रिटेंशन। करों की गणना सभी उपार्जनों और प्रीमियमों के बाद की जाती है, क्योंकि उनके परिणामों का उपयोग किया जाता है।

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

निम्न उदाहरण दिखाता है कि आवंटन कैसे काम करता है:

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

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

गणना रजिस्टर प्रश्न

गणना रजिस्टर डेटा की क्वेरीज़ आपको प्रदर्शन की गई गणनाओं के बारे में जानकारी प्राप्त करने की अनुमति देती हैं। प्रश्नों में, आप निम्न स्रोत तालिकाओं का उल्लेख कर सकते हैं:

  • गणना रजिस्टर रिकॉर्ड की मुख्य तालिका,
  • वास्तविक वैधता तालिका,
  • आवंटन तालिका।

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

कई 1C प्रोग्रामर ने अपने अभ्यास में कभी भी गणना घटक का सामना नहीं किया है, इसलिए, जब उन्हें प्लेटफ़ॉर्म 8.0 में विशेषज्ञ के लिए परीक्षा देनी होती है, जहाँ प्रत्येक कार्य में जटिल आवधिक गणनाओं पर कार्य होता है, कठिनाइयाँ उत्पन्न होती हैं, सबसे पहले, समझने में कठिनाइयाँ।

आइए 8.0 में इस घटक से निपटने का प्रयास करें। विभिन्न गणना समस्याओं को हल करने के बजाय, आइए इस घटक से निपटने का प्रयास करें ताकि हम किसी भी गणना समस्या को हल कर सकें। इस ट्यूटोरियल का अध्ययन करने के बाद, आप समझेंगे कि गणना रजिस्टर कैसे व्यवस्थित होते हैं और कैसे काम करते हैं।

उदाहरण के लिए, हम परीक्षा में स्थापित कंकाल विन्यास का उपयोग करेंगे।

ईमानदार होने के लिए, मैं लंबे समय से यह सोचने की कोशिश कर रहा हूं कि गणना के लिए अभी भी क्या आवश्यक है, लेकिन मैं इसके साथ नहीं आया हूं, इसलिए हम वेतन की गणना के कार्य पर विचार करेंगे।

गणना क्या हैं

मूल रूप से, पेरोल का अंतिम उत्पाद फॉर्म की गणना रजिस्टर प्रविष्टियों का एक सेट है:

कर्मचारी

अवधि

गणना प्रकार

परिणाम

आंकड़े

एक टिप्पणी

माप

सेवा

सेवा

रंगमंच की सामग्री

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

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

प्रत्येक निपटान रजिस्टर प्रविष्टि एक विशिष्ट निपटान प्रकार और समय अवधि को संदर्भित करती है।

गणना प्रकार

निपटान प्रकार के प्रत्येक रिकॉर्ड में एक सेवा चर - निपटान प्रकार होता है।

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

उदाहरण के लिए, हम गणना प्रकार की एक योजना बनाएंगे जिसमें मूल और पूर्वनिर्धारित गणना प्रकार होंगे वेतन, इनाम, कार्य से अनुपस्थित होना, व्यापार यात्रा.

एक दूसरे पर गणना रजिस्टर प्रविष्टियों के प्रभाव को दर्शाने के लिए गणना प्रकारों का कार्यात्मक रूप से उपयोग किया जाता है। लेकिन संक्षेप में वे एक दूसरे पर गणना के प्रकारों के प्रभाव के बारे में बात करते हैं:

गणना प्रकार

विवरण

उदाहरण

आधार अवधि के अनुसार

आश्रित अवधि की गणना का परिणाम आधार अवधि के परिणाम पर निर्भर करता है। यदि आधार अवधि का परिणाम बदलता है, तो आश्रित अवधि के परिणाम की पुनर्गणना की जानी चाहिए।

बोनस वेतन से आधार अवधि पर निर्भर करता है।

अवधि के अनुसार ड्राइविंग

आश्रित अवधि की वैधता अवधि आधार अवधि की वैधता अवधि को विस्थापित करती है, ताकि आधार अवधि वास्तविक हो

अनुपस्थिति वेतन की वैधता की वास्तविक अवधि को प्रभावित करती है।

अग्रणी गणना

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

बोनस वेतन के आधार पर निर्भर करता है, लेकिन अप्रत्यक्ष रूप से अनुपस्थिति पर भी निर्भर करता है।

इस प्रभाव के कारण, निपटान रजिस्टर प्रविष्टि की वैधता की अवधि को चार अवधियों में विभाजित किया गया है:

अवधि

विवरण

पंजीकरण अवधि

घटना को किस अवधि में पंजीकृत किया गया था, अर्थात। आमतौर पर जब दस्तावेज़ दर्ज किया जाता है।

वैधता

घटना किस अवधि में मान्य है, अर्थात। घटना किस काल की है।

आधार अवधि

यह केवल आधार अवधि के साथ अवधियों के लिए सार्थक है - यह आधार अवधि के अंतराल का वर्णन करता है।

वैधता की वास्तविक अवधि

यदि वैधता अवधि को अन्य निपटान प्रकारों द्वारा प्रतिस्थापित किया जाता है, तो वास्तविक वैधता अवधि में कई अवधियाँ होती हैं जब यह निपटान प्रकार वास्तव में मान्य होता है।

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

समय चार्ट

सिस्टम में समय-सीमा के साथ बिलिंग रजिस्टरों के डेटा को लिंक करने की क्षमता है ताकि किसी भी अवधि के लिए आप काम के घंटों की संख्या प्राप्त कर सकें।

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

आयाम कि निपटान रजिस्टर से जुड़ा आमतौर पर किया जाता हैजिसका अर्थ है "ग्राफ का प्रकार"।

दिनांक

चार्ट दृश्य

अर्थ

11.01.05 शुक्र

पांच दिन

11.01.05 शुक्र

छः दिन

12.01.05 बैठा

पांच दिन

12.01.05 बैठा

छः दिन

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

इस प्रकार, एक निश्चित अवधि (वास्तविक कार्रवाई, पंजीकरण, आधार अवधि, आदि) होने पर, हम स्वचालित रूप से अनुसूची के अनुसार इस अवधि के लिए घंटों की संख्या प्राप्त कर सकते हैं।

पुनर्गणना

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

यही पुनर्गणना के लिए है।

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

संक्षेप में, पुनर्गणना पुनर्गणना की जाने वाली निपटान रजिस्टर प्रविष्टियों की एक सूची है।

यदि आप पुनर्गणना में एक भी आयाम नहीं बनाते हैं, तो जब आधार गणना बदली जाती है, तो सभी आश्रित रिकॉर्ड पुनर्गणना सूची में दर्ज किए जाएंगे।

यदि हम आवंटन में आयाम "कर्मचारी" बनाते हैं, तो जब किसी कर्मचारी के लिए आधार गणना बदल दी जाती है, तो आश्रित रिकॉर्ड केवल इस कर्मचारी के लिए आवंटन में जोड़े जाएंगे।

व्यावहारिक कार्य

पर्याप्त सिद्धांत। आइए व्यवहार में विवरणों का अध्ययन करने का प्रयास करें। आइए वायरफ्रेम कॉन्फ़िगरेशन को आधार के रूप में लें।

समस्या का निरूपण:

बोनस को वेतन के एक निश्चित प्रतिशत के रूप में निर्धारित किया जाए (अनुपस्थिति और यात्रा भत्ते को छोड़कर)।

यात्रा भत्ते का भुगतान दुगना वेतन + यात्रा के प्रत्येक दिन के लिए एक निश्चित भुगतान राशि में किया जाए।

एक कर्मचारी को अनुपस्थिति की अवधि के लिए आधे वेतन की राशि में अनुपस्थिति के लिए जुर्माना लगाया जाए।

प्रगति:

प्रारंभिक तैयारी

आइए गणना प्रकार "बेसिक" की एक नई योजना बनाएं।

आइए गणना के प्रकार और उनके बीच निर्भरता को परिभाषित करें:

बुनियादी

विस्थापित

प्रमुख

वेतन

अनुपस्थिति, व्यापार यात्रा

इनाम

अनुपस्थिति, व्यापार यात्रा

वेतन, अनुपस्थिति, व्यापार यात्रा

व्यापार यात्रा

कार्य से अनुपस्थित होना

आइए इस प्रकार की गणना को गणना प्रकार "बेसिक" की योजना में दर्ज करें और निर्भरता को तालिका के अनुसार गणना प्रकारों के गुणों में डालें।

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

कॉन्फ़िगरेशन में पहले से ही दस्तावेज़ "पेरोल" है।

हेडर में इसकी दो तिथियां हैं - "तारीख" और "पंजीकरण अवधि", साथ ही प्रत्येक पंक्ति में दो तिथियां "प्रारंभ तिथि" और "समाप्ति तिथि"।

यह समझा जाता है कि तारीख सिर्फ वह तारीख है जब दस्तावेज़ जारी किया गया था, पंजीकरण अवधि इंगित करती है कि हम किस महीने के लिए वेतन की गणना करते हैं, और प्रत्येक पंक्ति में तिथियां प्रत्येक प्रकार की गणना की वैधता अवधि का वर्णन करती हैं।

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

दस्तावेज़ मॉड्यूल कुछ इस तरह दिखेगा:

के लिये प्रत्येक के लिए टेक्स्टस्ट्रिंगलिस्टलूप सूची से

// गणना रजिस्टर करें

आंदोलन = आंदोलन गणना। जोड़ें();

गति एस टोरनो= झूठा;

गति .आईडी गणना में = TextStringList.गणना दृश्य;

गति .कार्रवाई की अवधि प्रारंभ= दिन की शुरुआत ( TextStringList.प्रारंभ तिथि);

गति .कार्रवाई की अवधि समाप्ति= दिन का अंत ();

गति पंजीकरण अवधि = पंजीकरण अवधि;

गति .बी मूल अवधि शुरुआत= दिन की शुरुआत ( TextStringList.प्रारंभ तिथि);

गति .बी आधार अवधि समाप्ति= दिन का अंत ( TextStringList.समाप्ति तिथि);

गति ।कर्मचारी = टेक्स्टस्ट्रिंगलिस्ट।कर्मचारी;

गति ।अनुसूची = टेक्स्टस्ट्रिंगलिस्ट। चार्ट;

गति ।परिणाम = 0;

गति ।आंकड़े = टेक्स्टस्ट्रिंगलिस्ट। आकार:;

चक्र का अंत;

प्रविष्टियों को उलटने के लिए स्टोर्नो विशेषता की आवश्यकता होती है (ऋण चिह्न के अनुरूप)।

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

हम सभी दस्तावेजों को 01.20.2003 को तारीख देंगे, हम 01.02.2003 पर पंजीकरण की अवधि निर्धारित करेंगे (मैं विशेष रूप से प्रारंभिक और अंतिम डेटा का संकेत नहीं देता, इससे कोई फर्क नहीं पड़ता, वैसे भी लिखते समय पंजीकरण अवधि 01/01/2003 की अवधि की शुरुआत में परिवर्तित किया गया है)। हम जनवरी 2003 का उपयोग करते हैं, क्योंकि इस अवधि के लिए कार्य अनुसूचियां भर दी गई हैं।

आइए पुनर्गणना "पुनर्गणना" शुरू करें, इसमें "कर्मचारी" आयाम से जुड़े "कर्मचारी" आयाम जोड़ें।

हम पुनर्गणना के साथ खेलते हैं।

खेल के लिए, अनुरोध कंसोल खोलें - प्रसंस्करण " कस्टम अनुरोध"वायरफ्रेम कॉन्फ़िगरेशन में। आइए क्वेरी कंस्ट्रक्टर के साथ एक नई क्वेरी बनाएं, वहां एक वर्चुअल टेबल जोड़ें पुनर्गणना। गणना। पुनर्गणना, अनुरोध पाठ इस प्रकार होगा:

चुनते हैं

गणना पुनर्गणना। वस्तु के बारे में पुनर्गणना,

गणना,

गणना पुनर्गणना। कर्मचारी के साथ

से

गणना का रजिस्टर। गणना। पुनर्गणनाकैसे गणना पुनर्गणना

हम तीन दस्तावेज बनाएंगे - हम पहले कर्मचारियों ए और बी को वेतन अर्जित करेंगे। कर्मचारी ए 1 जनवरी से 31 जनवरी तक काम करता है, बी 1 जनवरी से 20 जनवरी तक काम करता है। दूसरा कर्मचारी बी को 1 जनवरी से 31 जनवरी की अवधि के लिए बोनस अर्जित करेगा, और तीसरे को कर्मचारी ए के लिए 20 से 25 जनवरी तक अनुपस्थिति दी जाएगी।

हम कार्रवाई की वास्तविक अवधि के साथ खेलते हैं।

आइए एक नई क्वेरी बनाएं - इस बार इसमें टेबल डेटा जोड़ें रजिस्टर गणना।गणना।वास्तविक.

आइए एक अनुरोध करें और देखें कि कर्मचारी ए की वेतन वैधता अवधि दो अवधियों में विभाजित है - 1 से 19 तक और 26 से 31 जनवरी तक। मुझे आशा है कि आप समझ गए होंगे कि अवधि दो भागों में विभाजित थी, क्योंकि अनुपस्थिति ने वेतन की आपूर्ति की।

मुझे लगता है कि गणना रजिस्टर के तंत्र हमारी आंखों के सामने साफ हो रहे हैं।

चार्ट की खोज।

अब आइए कर्मचारी के वेतन की गणना करने का प्रयास करें।

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

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

परिणाम कॉलम

अर्थ

ValuePeriodAction

कितने घंटे की वैधता अवधि के लिए रजिस्टर में प्रविष्टि की गई थी।

मूल्य वास्तविक अवधि

एक कर्मचारी ने वास्तव में घंटों में कितने घंटे काम किया

मूल्य आधार अवधि

वेतन के लिए, बोनस के लिए - आधार अवधि में काम के घंटों की संख्या का कोई मतलब नहीं है।

मूल्य पंजीकरण अवधि

पंजीकरण अवधि (जनवरी का महीना) के दौरान कितने कार्य घंटे

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

सिद्धांत

गणना रजिस्टर (आरआर)- एक कॉन्फ़िगरेशन मेटाडेटा ऑब्जेक्ट जिसका उपयोग 1C सिस्टम में आवधिक गणनाओं को लागू करने के लिए किया जाता है। गणना रजिस्टरों के आवेदन के स्पष्ट क्षेत्रों में से, निम्नलिखित को प्रतिष्ठित किया जा सकता है: पेरोल गणना, किराए की गणना, किराए की गणना।

गणना रजिस्टर संरचना में संचय रजिस्टरों या सूचना रजिस्टरों के समान होते हैं। वे, संचय रजिस्टरों की तरह, आयाम, संसाधन, विवरण हैं, लेकिन गणना रजिस्टरों के संचालन का सिद्धांत पूरी तरह से अलग है।

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

कार्रवाई की अवधि के अनुसार विस्थापन तंत्र«:

यहां हम देखते हैं कि गणना के प्रकार "व्यावसायिक यात्रा" की लंबाई है और यह 10 से 20 अप्रैल तक मान्य है, "व्यावसायिक यात्रा" को गणना के प्रकार "वेतन" के लिए एक विस्थापित प्रकार की गणना के रूप में दर्शाया गया है। "वेतन" की भी लंबाई होती है और यह 1 से 30 अप्रैल तक वैध होता है। चूंकि "बिजनेस ट्रिप" को गणना प्रकार "वेतन" (वेतन की तुलना में उच्च प्राथमिकता है) के लिए एक विस्थापित प्रकार की गणना के रूप में इंगित किया गया है और वेतन की वैधता की अवधि के लिए मान्य है, वेतन एक व्यापार यात्रा द्वारा बाहर धकेल दिया जाता है और "वेतन की वैधता की वास्तविक अवधि" बनती है। "वेतन की वैधता की वास्तविक अवधि। »व्यापार यात्रा से भीड़ होने के बाद यह वेतन की वैधता की अवधि है, हमारे मामले में इसमें 2 अवधि शामिल हैं - 1 अप्रैल से 9 अप्रैल तक और 21 अप्रैल से 30 अप्रैल तक और कुल मिलाकर 19 दिन का होता है। अवधि-आधारित विस्थापन तंत्र केवल उन गणनाओं के लिए काम करता है जो समय में विस्तारित होती हैं।

ऊपर दिया गया चित्र रेखांकन के सिद्धांत को दर्शाता है " आधार अवधि पर निर्भरता का तंत्र«:

मान लें कि अप्रैल 2017 के अंत में हम किसी कर्मचारी को उसके वेतन का 10% बोनस अर्जित करना चाहते हैं। वेतन को बोनस के लिए मूल प्रकार की गणना के रूप में दर्शाया गया है।

लेकिन प्रीमियम की गणना के लिए "आधार" के रूप में, हम अप्रैल का पूरा महीना नहीं लेंगे, बल्कि केवल 10 अप्रैल से 20 अप्रैल (11 दिन) का अंतराल लेंगे। आइए बोनस के लिए आधार की गणना करें, कर्मचारी का वेतन 60,000 रूबल है, हमारे पास महीने में 30 दिन हैं, दैनिक वेतन = 60,000/30 = 2,000 रूबल। फिर 2000 * 11 = 22000 रूबल। प्रीमियम की गणना का आधार 22,000 रूबल है।

आइए प्रीमियम की गणना करें: (22000/100) * 10 = 2200 रूबल। वेतन के 10% की राशि में बोनस 2200 रूबल है।

सेटलमेंट लेज़र से निकटता से संबंधित "प्लान ऑफ़ सेटलमेंट टाइप्स" मेटाडेटा एप्लिकेशन ऑब्जेक्ट है।

गणना प्रकार योजना (पीवीआर)- एक कॉन्फ़िगरेशन मेटाडेटा ऑब्जेक्ट जो गणना प्रकारों के बारे में जानकारी संग्रहीत करता है और एक दूसरे पर विभिन्न गणनाओं के प्रभाव को निर्धारित करता है।

एक गणना प्रकार चार्ट का उपयोग कई गणना लेज़रों में किया जा सकता है, लेकिन एक गणना लेज़र एक ही समय में कई गणना प्रकार की योजनाओं का उपयोग नहीं कर सकता है।

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

1C एंटरप्राइज सिस्टम में सेटलमेंट मैकेनिज्म को इस तरह से डिजाइन किया गया है कि आपको पहले सेटलमेंट रजिस्टर में एंट्री करनी होगी और उसके बाद ही इस डेटा के आधार पर कैलकुलेशन करना होगा। उदाहरण के लिए, आप वेतन के आधार पर बोनस की गणना तब तक नहीं कर सकते जब तक कि वही वेतन गणना रजिस्टर में दर्ज न हो जाए।

अभ्यास

आइए व्यवहार में गणना रजिस्टरों पर करीब से नज़र डालें:

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

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

आइए एक पूर्वनिर्धारित गणना प्रकार "वेतन" बनाएं। "सामान्य" टैब पर सब कुछ सरल है। हम गणना प्रकार का नाम और कोड निर्धारित करते हैं।

इस तथ्य के लिए धन्यवाद कि हमने झंडा लगाया है " वैधता अवधि का उपयोग करता है"अब हमारे पास एक टैब है" विस्थापित"और चालू हो गया" अवधि विस्थापन तंत्र«.

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

ध्यान दें: "विस्थापन" में आप केवल गणना प्रकार की इस योजना से संबंधित गणना प्रकार जोड़ सकते हैं।

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

चरण दो.डिफ़ॉल्ट संरचना के साथ "चार्ट" संदर्भ बनाएं। "अनुसूची" संदर्भ पुस्तक में हम कर्मचारियों के कार्य मोड (पांच-दिन, छह-दिन, आदि) को संग्रहीत करेंगे।

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

आइए 2 आयामों "दिनांक" और "अनुसूची" और संसाधन "घंटों की संख्या" के साथ सूचना "कार्य शेड्यूल" का एक गैर-आवधिक स्वतंत्र रजिस्टर बनाएं।

सूचना रजिस्टर "कार्य की अनुसूची" के लिए धन्यवाद, हम काम किए गए दिनों की संख्या के अनुपात में वेतन से मजदूरी की गणना करने में सक्षम होंगे।

चरण 4.नीचे दिखाए गए विवरण की संरचना के साथ एक दस्तावेज़ "पेरोल" बनाएं:

आवश्यकताएँ:

हम "निषिद्ध" मान में शीघ्र निष्पादन सेट करते हैंजबसे 1सी में आवधिक निपटान के तंत्र के लिए इसका कोई मतलब नहीं है - हम वास्तविक समय में कभी भी बोनस, वेतन या जुर्माना नहीं लेते हैं।

आइए डिफ़ॉल्ट सेटिंग्स के साथ एक दस्तावेज़ प्रपत्र बनाएँ।

चरण 5... अंत में, हम गणना रजिस्टरों के निर्माण के लिए तैयार हो गए।

गणना रजिस्टर मेटाडेटा ऑब्जेक्ट विन्यासकर्ता की गणना रजिस्टर शाखा में स्थित है।

आइए गणना का एक रजिस्टर बनाएं "मूल शुल्क"। नीचे गणना रजिस्टर सेटिंग्स पर विचार करें:

1. "गणना प्रकार की योजना" फ़ील्ड में, चरण 1 में बनाए गए IRR "मूल शुल्क" को इंगित करें।

2. ध्वज "वैधता अवधि" को "सत्य" मान पर सेट करें चरण 1 में निर्दिष्ट पीवीआर के पास है समय में लंबाई।

इस ध्वज को स्थापित करने के बाद, मानक विवरण "वैधता अवधि", "वैधता अवधि शुरुआत", "वैधता अवधि समाप्ति" तुरंत हमारे लिए उपलब्ध हो जाती है, जिसका अर्थ है कि इस गणना रजिस्टर में पंजीकृत गणना प्रकार भी हैं समय में लंबाईऔर यह हमारे पास उपलब्ध हो जाता है" कार्रवाई की अवधि के अनुसार विस्थापन तंत्र«.


पी.एस. यदि आप के साथ एक TAP निर्दिष्ट करते हैं समय में लंबाईएक पीपी के लिए "वैधता अवधि" ध्वज "गलत" पर सेट है, तो यह टीएपी बिना टीएपी के काम करेगा समय में लंबाई।

3. "वैधता अवधि" ध्वज को "सही" मान पर सेट करने के बाद, "चार्ट", "चार्ट मान", "चार्ट दिनांक" फ़ील्ड हमारे लिए उपलब्ध हो जाते हैं।

"अनुसूची" फ़ील्ड में, चरण 3 में बनाए गए "अनुसूची" सूचना रजिस्टर को इंगित करें।

"शेड्यूल मान" फ़ील्ड में, "शेड्यूल" सूचना रजिस्टर के "घंटे की संख्या" संसाधन इंगित करें।

"शेड्यूल दिनांक" फ़ील्ड में, "शेड्यूल" सूचना रजिस्टर के "दिनांक" आयाम को इंगित करें।

4. "फ़्रीक्वेंसी" फ़ील्ड में हम "माह" मान इंगित करते हैं, जिसका अर्थ है कि डेटा मासिक आधार पर रजिस्टर में दर्ज किया जाएगा।

नीचे रजिस्टर मेटाडेटा की संरचना है:

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

आयाम "कर्मचारी" - यह "में लागू होता है" कार्रवाई की अवधि के अनुसार विस्थापन तंत्र" तथा " आधार अवधि पर निर्भरता का तंत्र«.

संसाधन "योग" - परिकलित वेतन वहाँ लिखा जाएगा।

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

"पैरामीटर" विशेषता वेतन मान संग्रहीत करेगी।

अब, जब हमने पीसी "कार्य अनुसूचियों" के साथ कनेक्शन का संकेत दिया है, तो कर्मचारी के वेतन की गणना काम किए गए दिनों की संख्या के अनुपात में की जाएगी।

एक रजिस्ट्रार के रूप में, हम दस्तावेज़ को इंगित करते हैं “ पेरोल"चरण 4 में बनाया गया।

चरण 6... हम "मूल शुल्क" गणना के रजिस्टर पर आंदोलन करते हैं।

आइए चरण 4 में बनाए गए दस्तावेज़ "पेरोल" पर वापस जाएं।

आइए दस्तावेज़ ऑब्जेक्ट मॉड्यूल में लेनदेन के प्रसंस्करण का वर्णन करें:

दस्तावेज़ प्रसंस्करण कोड का टुकड़ा

1सी (कोड)

प्रक्रिया पोस्टिंग प्रोसेसिंग (इनकार, पोस्टिंग मोड) // रजिस्टर MainAcountsMotion.MainCalculations.Write = True; चालें। मुख्य गणना। साफ़ करें (); पंजीकरण अवधि = प्रारंभ माह (दिनांक); प्रत्येक TekStringBasicAccounts के लिए BasicAcounts Cycle Movement = Movement.MainCalculations.Add (); आंदोलन। तूफानी = झूठ; मूवमेंट। कैलकुलेशन टाइप = करंटस्ट्रिंग बेसिक अकाउंट्स। कैलकुलेशन टाइप; मूवमेंट.एक्शन पीरियडस्टार्ट = CurrentStringMainAccounts.StartDate; मूवमेंट.एक्शनपीरियोडएंड = एंडडे (CurrentStringBasicAccounts.EndDate); आंदोलन। पंजीकरण अवधि = पंजीकरण अवधि; मूवमेंट।कर्मचारी = TechStringBasicAccounts.कर्मचारी; मूवमेंट। चार्ट = TekStringBasicAccounts.Chart; मूवमेंट.पैरामीटर = TekStringMainCalculations.Size; चक्र का अंत; प्रक्रिया का अंत

पोस्टिंग प्रोसेसिंग प्रक्रिया (इनकार, पोस्टिंग मोड)

// मुख्य रजिस्टर करें

गति। मूल उपार्जन। लिखें = सच;

गति। मूल उपार्जन। स्पष्ट ();

पंजीकरण अवधि = प्रारंभ माह (दिनांक);

प्रत्येक पाठ पंक्ति के लिए

आंदोलन = आंदोलन। मूल उपार्जन। जोड़ें() ;

गति। स्टोर्नो = झूठा;

गति। गणना प्रकार = CurrentStringMainCalculations. गणना प्रकार;

गति। वैधता अवधि प्रारंभ = CurrentStringMainCalculations. शुरुआत की तारीख;

गति। वैधता अवधि समाप्ति = समाप्ति दिन (CurrentStringBasicAccounts .EndDate);

गति। पंजीकरण अवधि = पंजीकरण अवधि;

गति। कर्मचारी = TekStringBasic Accruals. कर्मचारी;

गति। चार्ट = TekStringMainCalculation. अनुसूची;

गति। पैरामीटर = करंटस्ट्रिंगमेन कैलकुलेशन। आकार;

चक्र का अंत;

प्रक्रिया का अंत

आइए एक परीक्षण दस्तावेज़ बनाएं और इसे चलाएं:

आइए "दस्तावेज़ आंदोलनों" पर जाएं:

हम देखते हैं कि पंजीकरण अवधि महीने की शुरुआत के रूप में निर्धारित की गई थी, क्योंकि RR की आवृत्ति को "माह" के रूप में दर्शाया गया है। हम यह भी देखते हैं कि राशि को छोड़कर सभी क्षेत्रों को भर दिया गया है (वेतन की गणना अभी तक नहीं की गई है)।

चरण 7आइए पेरोल कोड लिखें।

आइए निम्नलिखित झंडे के साथ एक सामान्य मॉड्यूल "गणना" बनाएं:

इस सामान्य मॉड्यूल में, गणना स्वयं ही होगी।

आइए "गणना" मॉड्यूल में निर्यात फ़ंक्शन "शुल्क की गणना करें" लिखें:

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

"घंटों की संख्या वास्तविक अवधि" -ग्राफ़ डेटा के आधार पर गणना किए गए वास्तव में काम किए गए घंटों की संख्या शामिल है

"संचालन के घंटों की संख्या" -अनुसूची डेटा के आधार पर गणना की गई गणना अवधि में काम के घंटों की संख्या शामिल है

पेरोल प्रक्रिया

1सी (कोड)

प्रक्रिया गणना प्रोद्भवन (रजिस्ट्रार, रिकॉर्ड सेट) निर्यात // वेतन अनुरोध = नया अनुरोध; Zapros.Tekst = "का चयन करें | ESTNULL (OsnovnyeNachisleniyaDannyeGrafika.KolichestvoChasovFakticheskiyPeriodDeystviya, 0) के रूप में ChasovFakt, | OsnovnyeNachisleniyaDannyeGrafika.Parametr, | ESTNULL (OsnovnyeNachisleniyaDannyeGrafika.KolichestvoChasovPeriodDeystviya, 0) के रूप में ChasovPlan, | OsnovnyeNachisleniyaDannyeGrafika.NomerStroki | से | RegistrRascheta.OsnovnyeNachisleniya.DannyeGrafika (| रिकॉर्डर = और रजिस्ट्रार | और निपटान का प्रकार = और निपटान वेतन का प्रकार) मूल उपार्जन के रूप मेंग्राफ डेटा "; Request.SetParameter ("रजिस्ट्रार", रजिस्ट्रार); // दस्तावेज़ को रजिस्ट्रार को स्थानांतरित करें ताकि खोज केवल वर्तमान दस्तावेज़ Request.SetParameter ("निपटान प्रकार", निपटान प्रकार की योजनाएँ। मुख्य गणना। वेयर) पर की जाए; // तब से वेतन गणना का प्रकार निर्धारित करें वेतन की गणना करें नमूना = अनुरोध। भागो ()। चुनें (); खोज संरचना = नई संरचना; SearchStructure.Insert ("लाइननंबर", 0); // रिकॉर्डसेट लूप से प्रत्येक रिकॉर्ड के लिए लाइन नंबर द्वारा गणना के लिए डेटा पुनर्प्राप्ति के लिए एक संरचना बनाएं // वर्तमान दस्तावेज़ के रिकॉर्ड के सेट के माध्यम से चक्र SearchStructure.StringNumber = Record.LineNumber; // खोज के लिए लाइन नंबर भरें यदि Selection.FindNext (SearchStructure) फिर // वर्तमान पंक्ति संख्या रिकॉर्ड द्वारा गणना के लिए चयन में डेटा की खोज करें। घंटे योजना * नमूना। पैरामीटर); // काम किए गए दिनों के अनुपात में वेतन की गणना करें, पैरामीटर में - वर्तमान वेतन EndIf; प्राप्त करें। रीसेट (); // चयन को रीसेट करें, हम चाहते हैं कि रिकॉर्डसेट में अगला रिकॉर्ड पहले चयन को खोजे। लूप का अंत; रिकॉर्डसेट। लिखें (, सत्य); // गणना किए गए रिकॉर्ड को डेटाबेस में लिखें, पैरामीटर पास करें बदलें = ट्रू एंडप्रोसेसर

//वेतन

अनुरोध = नया अनुरोध;

पूछताछ। टेक्स्ट = "चुनें"

| शून्य है (BasicAcountGraphicsData.Number of HoursActualActionPeriod, 0) AS HoursFact,

| बेसिकअकाउंटिंगडेटाग्राफिक्स।पैरामीटर,

| IS NULL (BasicAccrualsGraphicsData.Number ofhoursAction period, 0) AS HoursPlan,

| BasicAccountsDataGraphics.NumberStrings

| से

| गणना रजिस्टर।

| रजिस्ट्रार = और रजिस्ट्रार

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

झंडा सेट करें आधार अवधि.

आइए पैरामीटर समूह में सेट करें दौरापैरामीटर महीना.

आइए टैब पर जाएं आंकड़े... आइए निम्नलिखित पैरामीटर यहां सेट करें, अंजीर। 1.11:


चावल। 1.11.

माप कर्मचारी- एक प्रकार DirectoryRef.कर्मचारी, झंडा बुनियादीसेट। हम इस आयाम में उस कर्मचारी को स्टोर करेंगे जिसके लिए गणना की जा रही है।

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

रंगमंच की सामग्री आरंभिक डेटा- प्रकार संख्या, लंबाई 10, सटीक 2. हम इस चर में गणना के लिए प्रारंभिक डेटा लिखेंगे। उदाहरण के लिए, गणना के प्रकार के लिए वेतनगणना के प्रकार के लिए हम यहां मूल वेतन लिखेंगे इनाम- गणना के प्रकार के लिए गणना आधार से लिया जाने वाला प्रतिशत अवधारण- रूबल में कटौती की राशि।

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

सेटिंग्स को समायोजित करना जारी रखने से पहले गणना रजिस्टर, हमें एक दस्तावेज़ बनाने की ज़रूरत है जो साथ-साथ आंदोलनों का निर्माण करेगा निपटान रजिस्टर.

1.6. दस्तावेज़ पेरोल

आइए एक नया दस्तावेज़ बनाएं, इसे एक नाम दें पेरोल... इस दस्तावेज़ में निम्नलिखित कार्यक्षमता होनी चाहिए:

  1. शुल्क की मैन्युअल प्रविष्टि की संभावना;
  2. आंदोलनों का गठन निपटान रजिस्टर ;

आइए टैब पर जाएं आंकड़ेदस्तावेज़ गुण डॉकर पेरोल, चावल। 1.12. एक दस्तावेज़ सहारा बनाएँ पंजीकरण अवधि- एक प्रकार दिनांक, तारीख की संरचना है दिनांक.


चावल। 1.12.

आइए एक सारणीबद्ध अनुभाग बनाएं प्रोद्भवन और प्रतिधारण... आइए इसमें निम्नलिखित विशेषताएँ बनाएँ:

अब टैब पर चलते हैं गति... संचालन को प्रतिबंधित करें दस्तावेज़ होल्डिंग, रजिस्टर जोड़ें प्रोद्भवन और प्रतिधारण.

बटन पर क्लिक करें आंदोलन निर्माता... कंस्ट्रक्टर विंडो खुलेगी, अंजीर। 1.13.


चावल। 1.13.

आंदोलनों के गठन के नियमों को परिभाषित करने वाले क्षेत्रों को भरते समय, हम उन्हें निम्नलिखित तरीके से भरेंगे:

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

बटन पर क्लिक करें ठीक हैमोशन कंस्ट्रक्टर विंडो में और देखें कि यह कौन सा कोड उत्पन्न करता है:

प्रक्रिया प्रसंस्करण प्रदर्शन (इनकार, मोड) // ((__ CONSTRUCTOR_MOVEMENT_REGISTERS // यह टुकड़ा कंस्ट्रक्टर द्वारा बनाया गया था। // जब आप कंस्ट्रक्टर का पुन: उपयोग करते हैं, तो मैन्युअल रूप से किए गए परिवर्तन खो जाएंगे !!! जोड़ें (); Dvizhenie.Storno = False ; Dvizhenie.VidRascheta = TekStrokaNachisleniyaIUderzhaniya.VidRascheta; Dvizhenie.PeriodDeystviyaNachalo = TekStrokaNachisleniyaIUderzhaniya.DataNachala; Dvizhenie.PeriodDeystviyaKonets = TekStrokaNachisleniyaIUderzhaniya.DataOkonchaniya; Dvizhenie.PeriodRegistratsii = PeriodRegistratsii; Dvizhenie.Sotrudnik = TekStrokaNachisleniyaIUderzhaniya.Sotrudnik;। गति InitialData = CurrentAcountAndRetentionString.InitialData; Movement.Chart = CurrentAcountAndRetentionString.Chart; साइकिल का अंत; //)) __ MOVEMENT_REGISTERS_CONSTRUCTOR एंडप्रोसेसर

जाहिर है, सारणीबद्ध खंड की प्रत्येक पंक्ति के लिए, दस्तावेज़ संग्रह का एक नया तत्व बनाया गया है आंदोलन, प्रोद्भवन और प्रतिधारण, जिसके बाद नए तत्व के गुण भर जाते हैं।

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

यदि CurrentAccrualAndRetention.CalculationType = CalculationType.Main.PriceThen Movement.BasicPeriodStart = StartMonth (पंजीकरण अवधि); मूवमेंट। बेसपीरियडएंड = एंडमंथ (पंजीकरण अवधि); अगर अंत;

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

यदि गति। परिकलन प्रकार = योजना गणना प्रकार। मुख्य। फिर चलें फिर गति। क्रिया अवधि प्रारंभ = CurrentAccrualAndDeterline। प्रारंभ दिनांक; मूवमेंट.एक्शनपीरियोडएंड = करंट एक्रुअलएंडरिले।एंडडेट; अन्यथा, Motion.ActionPeriodStart = StartMonth (RegistrationPeriod); मूवमेंट.एक्शनपीरियोडएंड = एंडमंथ (पंजीकरण अवधि); अगर अंत;

यह कोड लाइनों को बदल देगा

मूवमेंट.एक्शन पीरियडस्टार्ट = CurrentAccountAndRetentionStart.Date; मूवमेंट.एक्शनपीरियोडएंड = करंट एक्रुअलएंडरिले।एंडडेट;

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

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

अंजीर में। 1.14 आप उस दस्तावेज़ को देख सकते हैं जिसे हमने भरा है और इसमें होने वाली गतिविधियां निपटान रजिस्टर, जिसे उन्होंने ऊपर लिखे कोड को पूरा करने के बाद तैयार किया।

यदि सब कुछ सही ढंग से स्थानांतरित किया गया है, और हमारे मामले में ऐसा ही है, तो हम गणना प्रक्रिया के कार्यान्वयन के लिए आगे बढ़ सकते हैं। हम इसे उसी मॉड्यूल में करेंगे जिसमें आंदोलनों का गठन किया जाता है।

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

आइए प्रक्रिया में जोड़ें दस्तावेज़ पकड़े हुएउत्पन्न आंदोलनों को रिकॉर्ड करने का आदेश:

आंदोलन।लेखा और प्रतिधारण।लिखें ();

आंदोलन गठन चक्र को बंद करने के लिए इस आदेश को आदेश का पालन करना चाहिए।

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

आंदोलन से प्रत्येक आंदोलन के लिए। लेखांकन और होल्डिंग साइकिल यदि आंदोलन। गणना प्रकार = गणना प्रकार की योजनाएं। मुख्य। गणना फिर आंदोलन। परिणाम = आंदोलन। प्रारंभिक डेटा; अगर अंत; चक्र का अंत; आंदोलन।लेखा और प्रतिधारण।लिखें ();

अब वेतन की गणना करने के लिए नीचे उतरें।

मूवमेंट से प्रत्येक मूवमेंट के लिए। अकाउंटिंग और होल्डिंग साइकिल यदि मूवमेंट। कैलकुलेशन टाइप = कैलकुलेशन टाइप्स की प्लान्स। बेसिक। पार्स फिर प्लान = मूवमेंट। गेटग्राफ डेटा (कैलकुलेशनरजिस्टरपीरियड।एक्शन पीरियड); फैक्ट = मूवमेंट। गेटग्राफिकलडेटा (कैलकुलेशनरजिस्टरपीरियड.एक्चुअलएक्शनपीरियड); आंदोलन। परिणाम = आंदोलन। प्रारंभिक डेटा * वास्तविक। कार्यदिवस / योजना। कार्यदिवस; अगर अंत; चक्र का अंत; आंदोलन।लेखा और प्रतिधारण।लिखें ();

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

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

नतीजतन, आवश्यक डेटा प्राप्त करने के बाद, हम निम्नलिखित जोड़तोड़ करते हैं: हम नियोजित दिनों की वास्तविक संख्या को विभाजित करते हैं और वेतन से गुणा करते हैं।

और अंत में, हमारी कम्प्यूटेशनल समस्या का अंतिम चरण प्रीमियम की गणना है। हम इसे निम्नलिखित कोड के साथ लागू करेंगे:

संसाधन = नई सरणी (1); संसाधन = "उपार्जन और कटौती। परिणाम"; आयाम = नई संरचना ("कर्मचारी", "उपार्जन और प्रतिधारण। कर्मचारी"); आंदोलन से प्रत्येक आंदोलन के लिए। लेखांकन और होल्डिंग साइकिल यदि आंदोलन। गणना प्रकार = गणना प्रकार की योजनाएं। मूल। मूल्य फिर बेसडेटा = आंदोलन। गेटबेस (संसाधन, माप); आंदोलन। परिणाम = आंदोलन। प्रारंभिक डेटा * बेसडाटा। परिणाम / 100; अगर अंत; चक्र का अंत; आंदोलन।लेखा और प्रतिधारण।लिखें ();

सबसे पहले, हम विधि को पारित करने के लिए पैरामीटर तैयार करेंगे आधार प्राप्त करें... यह एक सरणी होगी साधनजिसमें हमारे मामले में आधार संसाधन का नाम शामिल है गणना रजिस्टरप्रारूप में "RegisterName.ResourceName"... हम संरचना भी तैयार करते हैं मापन... हम संरचना में एक नया तत्व जोड़ते हैं, जिसका नाम आयाम के नाम के समान है गणना रजिस्टर ("कर्मचारी"), और मान में आयामों की एक सूची होती है (प्रारूप में "रजिस्टरनाम.आयामनाम"), हमारे मामले में यह एक आयाम है। प्रीमियम की गणना करते समय इन आंकड़ों का उपयोग गणना आधार प्राप्त करने के लिए किया जाएगा।

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

आइए याद रखें संसाधन का नाम गणना रजिस्टर, जिसमें गणना के परिणाम संग्रहीत किए जाते हैं - यह एक संसाधन है परिणाम... यह इस नाम से है कि हम मूल्यों की तालिका की पंक्ति का उल्लेख कर सकते हैं (हमारे मामले में, यह सूचकांक 0 के साथ एक पंक्ति है) और परिकलित आधार प्राप्त करें।

गणना आधार प्राप्त होने के बाद, हम प्रीमियम की राशि की गणना करते हैं। चूंकि दस्तावेज़ भरते समय, यह माना जाता है कि हम प्रीमियम का प्रतिशत प्रतिशत (10, 40, आदि) के रूप में दर्ज करते हैं, प्रीमियम की राशि का पता लगाने के लिए, हमें विभाजित करना होगा प्रीमियम का प्रतिशत 100 से दर्ज किया गया और उसके बाद परिणामी गणना आधार से गुणा किया गया।

उपरोक्त सभी चरणों के पूरा होने के बाद, हम व्यवहार में अपने समाधान का परीक्षण कर सकते हैं। अगर सब कुछ सही ढंग से किया जाता है - in

इसे साझा करें