1सी नियमित कार्य क्या हैं? नियमित और पृष्ठभूमि कार्य

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

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

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

सिद्धांत रूप में, प्रारंभिक डेटा पहले निष्कर्ष निकालने के लिए पहले से ही पर्याप्त है। आइए उन्हें फिर से सूचीबद्ध करें:

  • "ब्रेक" एक निश्चित आवृत्ति के साथ लगातार होते रहते हैं
  • केवल एक उपयोगकर्ता के लिए धीमा होता है
  • किसी भी कार्यस्थल पर "धीमा हो जाता है"।

अपने अनुमानों की पुष्टि के लिए, आइए देखें लेखांकन सेटिंग्स:

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

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

नियमित आवेदन

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

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

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

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

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

प्रबंधित अनुप्रयोग

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

नियमित कार्यों को प्रबंधित करने के लिए मेनू में एक अलग आइटम है प्रशासन - सहायता एवं रखरखाव.

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

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

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

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

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

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

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

ये सरल ऑपरेशन आपको कॉन्फ़िगरेशन की कार्यक्षमता को अधिक नुकसान पहुंचाए बिना इसके साथ काम करने की सुविधा बढ़ाने की अनुमति देंगे। नया स्तरकाफी संसाधन-गहन कार्यों के बार-बार निष्पादन को समाप्त करके। बस अति पर न जाएं; बुद्धिमानी से निर्णय लें कि आपको कुछ क्षमताओं की कितनी आवश्यकता है और आपको उनसे संबंधित कार्य कितनी बार करने चाहिए।

  • टैग:

कृपया देखने के लिए जावास्क्रिप्ट सक्षम करें

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

प्रयोज्यता

आलेख 1C:एंटरप्राइज़ प्लेटफ़ॉर्म संस्करण 8.3.4.437 पर चर्चा करता है। आलेख में वर्णित सभी कार्यक्षमताएँ संस्करण 8.3.11 में अद्यतन कर दी गई हैं।

1सी:एंटरप्राइज़ 8.3 में अन्य नवाचार

आइए 1सी:एंटरप्राइज़ 8.3 प्लेटफ़ॉर्म के नवाचारों से परिचित होना जारी रखें।

फ़ाइल इन्फोबेस में पृष्ठभूमि और नियमित कार्य

कई विशिष्ट प्लेटफ़ॉर्म कॉन्फ़िगरेशन में 8.2 एक स्थिरांक था जो उस उपयोगकर्ता को इंगित करता था जिसके तहत फ़ाइल संस्करण में कार्य निष्पादित किए गए थे।

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

इस दृष्टिकोण ने फ़ाइल डेटाबेस में नियमित कार्यों का उपयोग करने के लिए अतिरिक्त कठिनाइयाँ और असुविधाएँ पैदा कीं।

जैसे कॉन्फ़िगरेशन के साथ काम करते समय यह विशेष रूप से महत्वपूर्ण हो सकता है "व्यापक स्वचालन"या "नियंत्रण विनिर्माण उद्यम, जिसमें नियामक कार्य काफी महत्वपूर्ण भूमिका निभाते हैं।

यदि यह फ़ाइल आईबी है तो
=
स्थिरांक.UserForExecutingRoutineTasksInFileVariant.Get();
अगर chValueVariable("glCurrentUser") =
UserTo ExecuteTaskReglतब
// सेकंड के अंतराल के साथ हम नियमित कार्यों के साथ काम करने की प्रक्रिया कहते हैं
समर्थनRegularTaskForFileVersion();
अंतरालफॉरपोल=
स्थिरांक.IntervalForPollingRoutineTasksInFileVariant.प्राप्त करें();
अगर अंतरालफॉरपोल= अपरिभाषित
या अंतरालफॉरपोल= 0 फिर
अंतरालफॉरपोल= 60 ;
अगर अंत ;
कनेक्टवेटहैंडलर("RoutineTaskForFileVersion के लिए समर्थन",
अंतरालफॉरपोल);
अगर अंत ;
अगर अंत ;

मंच पर 8.3 वैश्विक संदर्भ विधि कॉल का उपयोग किए बिना फ़ाइल इन्फोबेस में पृष्ठभूमि और नियमित नौकरियों के कार्य को कार्यान्वित किया निष्पादनकार्यप्रसंस्करण().

पृष्ठभूमि और नियमित कार्य सीधे किसी क्लाइंट एप्लिकेशन (पतले, मोटे क्लाइंट) में या वेब सर्वर एक्सटेंशन द्वारा किए जाते हैं।

एक सत्र द्वारा शुरू किया गया पृष्ठभूमि कार्य उसी क्लाइंट एप्लिकेशन द्वारा निष्पादित किया जाता है जिसने इसे शुरू किया था।

पृष्ठभूमि कार्य क्रमिक रूप से निष्पादित किए जाते हैं, अर्थात। एक क्लाइंट एप्लिकेशन पर, एक समय में केवल एक पृष्ठभूमि कार्य (नियमित कार्यों सहित) निष्पादित किया जा सकता है।

नियमित कार्य केवल एक क्लाइंट एप्लिकेशन द्वारा किए जाते हैं। निर्धारित कार्यों के लॉन्च को नियंत्रित करने के लिए, एक कमांड लाइन कुंजी का उपयोग किया जाता है /AllowExecuteScheduledJobs.

नियमित कार्यों को स्टार्टअप क्रम में पहले क्लाइंट एप्लिकेशन द्वारा निष्पादित किया जाता है, जिसे नियमित कार्यों को निष्पादित करने से प्रतिबंधित नहीं किया जाता है (सत्र को प्रतिबंधित करने के लिए, सत्र को कमांड लाइन पैरामीटर के साथ शुरू किया जाना चाहिए) /AllowExecuteScheduledJobs -बंद).

जब वह सत्र समाप्त हो जाता है, तो निष्पादन शेष चल रहे किसी भी सत्र में चला जाता है।

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

नियमित कार्य हर 60 सेकंड में एक बार संसाधित होते हैं।

ध्यान दें कि एप्लिकेशन समाधान के नियमित कार्य (फ़ाइल संस्करण में) क्लाइंट एप्लिकेशन लॉन्च होने के 1 मिनट से पहले निष्पादित नहीं होने लगे। संस्करण 8.3.8 से शुरू करके, इस समय को दोगुना कर दिया गया है, और इसलिए क्लाइंट लॉन्च होने के बाद (फ़ाइल संस्करण में) नियमित कार्यों को अधिकतम 2 मिनट में निष्पादित किया जाना शुरू हो जाता है।

यह निर्णय आवेदन शुरू करने में होने वाली देरी में कमी के कारण है। इसके अलावा, रिलीज़ 8.3.7 में क्षमता जोड़ी गई थी त्वरित परिभाषाकि वर्तमान सत्र एक पृष्ठभूमि कार्य सत्र है। इसे नई वैश्विक संदर्भ विधि GetCurrentInfoBaseSession() के साथ-साथ इन्फोबेस सत्र के लिए एक नई विधि का उपयोग करके कार्यान्वित किया गया है। GetBackgroundTask().

नीचे वह कोड है जो उपरोक्त को दर्शाता है:

बड़ा करने के लिए छवि पर क्लिक करें.

चेकसम की गणना

प्लेटफ़ॉर्म में अब डेटा चेकसम की गणना के लिए तंत्र शामिल हैं।

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

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

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

इस ऑब्जेक्ट की दो विधियाँ हैं: जोड़ना()और फ़ाइल जोड़ें(), जो मापदंडों में पारित डेटा को ध्यान में रखते हुए हैश राशि को अद्यतन करता है।

प्लैटफ़ॉर्म 8.3.4.437 निम्नलिखित हैश फ़ंक्शंस की गणना का समर्थन करता है: सीआरसी32, एमडी5, SHA1, SHA256. लेकिन कार्य SHA1और SHA256मोबाइल प्लेटफ़ॉर्म पर समर्थित नहीं हैं.

आइए एक सरल उदाहरण देखें. यह माना जाता है कि प्रोग्राम निर्देशिका में सर्वर पर एक फ़ाइल है " ragent.exe" हिसाब लगाने की जरूरत है एमडी5-इस फ़ाइल के लिए योग.

ऐसा करने के लिए, हम एक बाहरी प्रोसेसिंग बनाएंगे, जिसके फॉर्म पर हम कमांड रखेंगे गणना. हैंडलर में निम्नलिखित कोड है:

&ऑनक्लाइंट
प्रक्रिया गणना (कमांड)
परिणाम= कैलकुलेटऑनसर्वर();
रिपोर्ट(स्ट्रिंग(परिणाम));
अंतिम प्रक्रिया
&सर्वर पर
समारोह कैलकुलेटऑनसर्वर()
हैश = नया हैशिंगडेटा(हैशफंक्शन.एमडी5);
हैश.फ़ाइल जोड़ें(कैटलॉग कार्यक्रम() + "ragent.exe");
रिटर्न हैश.हैशसम;
अंतकार्य

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

प्रोटोकॉल के संरक्षित संस्करणों के साथ कार्य करना एसएमटीपी/पीओपी3

मंच पर 8.3 प्रोटोकॉल के संरक्षित संस्करणों का उपयोग करना संभव हो गया एसएमटीपी/पीओपी3(शर्तें हैं एसएमटीपीएस/पीओपी3एसया एसएसएलएसएमटीपी/एसएसएलपीओपी3).

वस्तु के लिए इंटरनेटमेलप्रोफ़ाइलनई संपत्तियाँ कार्यान्वित:

  • एसएसएलएसएमटीपी का प्रयोग करें;
  • SSLPOP3 का उपयोग करें;
  • केवल सिक्योरऑथेंटिकेशनएसएमटीपी;
  • केवल POP3 सुरक्षित प्रमाणीकरण.

गुण प्रमाणीकरणSMTPऔर POP3 प्रमाणीकरणवस्तु इंटरनेटमेलप्रोफ़ाइल, साथ ही स्थानांतरण भी SMTPAप्रमाणीकरण विधिऔर विधिPOP3प्रमाणीकरणउपयोग की अनुशंसा नहीं की जाती है - वे अनुकूलता के लिए समर्थित हैं।

एक सुरक्षित प्रोटोकॉल का उपयोग करना एसएमटीपीएससे मेल भेजना संभव बनाता है 1सी, का उपयोग करना मेलबॉक्स द्वारा गूगल.

आइए एक उदाहरण देखें. प्रपत्र पर हम पत्र के विषय और प्राप्तकर्ता के पते को दर्ज करने के लिए फ़ील्ड रखेंगे, और पत्र के पाठ को दर्ज करने के लिए - एक स्वरूपित दस्तावेज़ फ़ील्ड रखेंगे।

बड़ा करने के लिए छवि पर क्लिक करें.

जब आप बटन दबाते हैं भेजनानिम्नलिखित कोड निष्पादित किया जाएगा:

&ऑनक्लाइंट
प्रक्रिया भेजें (कमांड) मेल = नया इंटरनेटमेल; प्रोफ़ाइल = नया इंटरनेटमेलप्रोफ़ाइल;
प्रोफ़ाइल.SMTPServerपता= “smtp.googlemail.com”;
प्रोफ़ाइल.उपयोगकर्ताSMTP= “[ईमेल सुरक्षित]” ;
प्रोफाइल.पासवर्डSMTP= "पासवर्ड" ;
प्रोफ़ाइल.SSLSMTP का उपयोग करें= सत्य ;
प्रोफ़ाइल.SMTPPort = 465 ; कोशिश करना
मेल.कनेक्ट(प्रोफ़ाइल);
अपवाद
रिपोर्ट(त्रुटि विवरण());
वापस करना ;
अंतप्रयास ; मेलमैसेजटेक्स्ट= “” ;
अनुलग्नक = नई संरचना;
टेक्स्ट.GetHTML(मेलमैसेजटेक्स्ट, अनुलग्नक ); मेलसंदेश= नया इंटरनेटमेल संदेश;
मेलसंदेश.प्राप्तकर्ता.जोड़ें(किसके लिए );
मेलमैसेज.विषय= विषय;
मेलसंदेश.पाठ्य.जोड़ें(मेलमैसेजटेक्स्ट,
MailMessageTextType.HTML); मेल.भेजें ( मेलसंदेश); मेल.डिस्कनेक्ट();
अंतिम प्रक्रिया

ध्यान दें कि हमारे उदाहरण में, यदि एसएमटीपी सर्वर प्राप्तकर्ता को ईमेल भेजने में असमर्थ था, तो विधि मेल.भेजें(मेलसंदेश)एक अपवाद फेंक दिया. इससे डेवलपर्स को कुछ असुविधा हुई, क्योंकि... अपवाद फेंकने का कारण स्पष्ट नहीं था।

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

दो तरफा छपाई

मंच पर 8.2 प्लेटफ़ॉर्म स्वयं डुप्लेक्स प्रिंटिंग का प्रबंधन नहीं करता था; इस फ़ंक्शन को केवल प्रिंटर ड्राइवर का उपयोग करके नियंत्रित किया जा सकता था।

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

सिस्टम गणनाएँ अंतर्निहित भाषा में दिखाई दीं:

  • डुप्लेक्स प्रिंटिंग प्रकार(कोई नहीं, फ्लिपअप, फ्लिपलेफ्ट);
  • (ऑटो, मिररटॉप, मिररलेफ्ट, उपयोग न करें)।

और वस्तुओं के लिए सारणीबद्ध दस्तावेज़और ग्राफ़िकस्कीमगुण प्रकट हुए दो तरफा छपाईऔर पृष्ठ व्यवस्था का प्रत्यावर्तन, जिससे आप मुद्रित पृष्ठों का लेआउट बदल सकते हैं।

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

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

कॉन्फ़िगरेटर के माध्यम से वेब क्लाइंट और वेब सेवाओं को प्रकाशित करने के लिए संवाद के लिए, निम्नलिखित कार्यान्वित किया गया है:

  • डिफ़ॉल्ट रूप से वेब सेवाओं की उपलब्धता को नियंत्रित करने की क्षमता (विशेषता पॉइंटइनेबलकॉमनतत्व डब्ल्यू.एस);
  • फ़ाइल संस्करण में पृष्ठभूमि नौकरियों के निष्पादन को नियंत्रित करने की क्षमता (विशेषता अनुमति देंनिष्पादनअनुसूचित नौकरियाँतत्व डब्ल्यू.एस).

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

अन्यथा, वेब सेवाओं को अप्रकाशित के रूप में चिह्नित किया जाएगा। यह ध्वज विशेषता से मेल खाता है पॉइंटइनेबलकॉमनतत्व डब्ल्यू.एसफाइल मैं default.vrd, एक वेब क्लाइंट और वेब सेवाएँ स्थापित करने के लिए अभिप्रेत है।

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

यदि विशेषता का कोई मान है सत्य, फिर सभी वेब सेवाएँ जिनके लिए विशेषता मान स्पष्ट रूप से निर्दिष्ट नहीं है सक्षमतत्व बिंदु, उपयोग के लिए अनुमति दी जाएगी।

अन्यथा, ऐसी वेब सेवाओं का उपयोग प्रतिबंधित कर दिया जाएगा।

समायोजन "फ़ाइल मोड में पृष्ठभूमि नौकरियां"विशेषता से मेल खाता है अनुमति देंनिष्पादनअनुसूचित नौकरियाँफ़ाइल में ws तत्व default.vrd.

गुण अनुमति देंनिष्पादनअनुसूचित नौकरियाँइन्फोबेस के फ़ाइल संस्करण के लिए वेब सर्वर एक्सटेंशन द्वारा नियमित कार्यों को निष्पादित करने की क्षमता को नियंत्रित करता है।

विशेषता निम्नलिखित मान ले सकती है:

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

प्लेटफ़ॉर्म की वर्तमान रिलीज़ में वेब सेवा पर प्रकाशन विंडो और भी अधिक सुविधाजनक और एर्गोनोमिक हो गई है। अब OpenID प्रमाणीकरण का वर्णन करने वाले पैरामीटर एक अलग टैब पर रखे गए हैं।

इन्फोबेस ऑब्जेक्ट्स की संख्या

मंच पर 8.3 सूचना आधार वस्तुओं को स्वचालित रूप से क्रमांकित करने के तंत्र पर फिर से काम किया गया है। किसी ऑब्जेक्ट को रिकॉर्ड करते समय किसी संख्या या कोड की विशिष्टता (किसी संख्या या कोड की स्वचालित पीढ़ी के परिणामस्वरूप प्राप्त किए गए कोड सहित) की हमेशा जांच की जाती है।

किसी संख्या या कोड की विशिष्टता के उल्लंघन के बारे में संदेश के पाठ में यह संकेत जोड़ा गया है कि कौन सा नंबर या कोड अद्वितीय नहीं है।

रिक्त संख्या या कोड का उपयोग बदल गया है. नए नंबरया जारी किए गए नंबरों या कोड का उपयोग किए बिना कोड असाइन किया जाता है, यदि नंबर या कोड के बड़े (क्रम में) उपसर्ग के साथ पहले से ही जारी किए गए नंबर या कोड मौजूद हैं।

डेटा संरचना प्रणाली अभिव्यक्ति भाषा के समग्र कार्य

डेटा संरचना प्रणाली की अभिव्यक्ति भाषा में नए समग्र कार्य लागू किए गए हैं:

  • प्रत्येक();
  • कोई भी();
  • जनसंख्या का मानक विचलन();
  • मानक नमूना विचलन();
  • वेरिएंसेम्पल्स();
  • जनसंख्या का भिन्नता();
  • सहप्रसरणजनसंख्या();
  • नमूना सहप्रसरण();
  • सह - संबंध();
  • रिग्रेशनस्लोप();
  • रिग्रेशनसेगमेंट();
  • रिग्रेशनकाउंट();
  • प्रतिगमनR2();
  • रिग्रेशनएवरेजएक्स();
  • रिग्रेशनएवरेजY();
  • RegressionAverageSXX();
  • रिग्रेशनएवरेजSYY();
  • रिग्रेशनएवरेजएसएक्सवाई()।

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

बड़ा करने के लिए छवि पर क्लिक करें.

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

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

आइए प्रदर्शित करें कि यह फ़ंक्शन कैसे काम करता है। आइए एक नई बाहरी रिपोर्ट बनाएं "वस्तुओं का वर्गीकरण"अनुरोध के आधार पर:

चुनना
उत्पाद उपभोगउत्पाद.उत्पाद,
उत्पाद उपभोग उत्पाद मात्रा
से
दस्तावेज़.वस्तुओं की खपत.सामानकैसे उत्पाद की खपतउत्पाद

आइए एक नए परिकलित फ़ील्ड को परिभाषित करें कक्षा:

बड़ा करने के लिए छवि पर क्लिक करें.

आइए संसाधनों को निम्नानुसार कॉन्फ़िगर करें:

बड़ा करने के लिए छवि पर क्लिक करें.

उपयोगकर्ता मोड में, रिपोर्ट इस तरह दिखती है:

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

इसके अलावा, डेटा कंपोज़िशन सिस्टम पर 1C 8.3 में रिपोर्ट के हमारे अलग पाठ्यक्रम व्यावसायिक विकास के बारे में मत भूलना, जो इस तंत्र के साथ काम करते समय सभी सूक्ष्मताओं और नुकसानों को परमाणु तक तोड़ देता है। स्वयं डेमो देखें.

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

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

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

आदर्श रूप से, एक पृष्ठभूमि कार्य क्लाइंट-सर्वर संस्करण में कार्यान्वित किया जाता है, जिस स्थिति में पूरा लोड सर्वर पर जाता है। फ़ाइल संस्करण के लिए, पृष्ठभूमि कार्य संभव है, लेकिन इसमें कुछ विशिष्टताएँ हैं।

यदि आप इन सुविधाओं को ध्यान में नहीं रखते हैं और इन्फोबेस के फ़ाइल संस्करण में पृष्ठभूमि कार्य नहीं चलाते हैं तो सिस्टम यही उत्पन्न करेगा।


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

पृष्ठभूमि नौकरियों को प्रबंधित करने के लिए हमारे पास कौन से उपकरण हैं? यह सुविधा एक मेटाडेटा ऑब्जेक्ट है "बैकग्राउंडटास्क मैनेजर". इस ऑब्जेक्ट की एक विधि है "दौड़ना", इस पद्धति का उपयोग करके, पृष्ठभूमि कार्य लॉन्च किया जाता है।

इसके निम्नलिखित पैरामीटर हैं:
"विधिनाम"- निष्पादित की जाने वाली प्रक्रिया या फ़ंक्शन का नाम, और यह सर्वर संदर्भ की एक प्रक्रिया या फ़ंक्शन होना चाहिए;

"विकल्प"- मापदंडों की एक सरणी, जिनमें से तत्वों की संख्या पैरामीटर में निर्दिष्ट हमारी प्रक्रिया/फ़ंक्शन के मापदंडों की संख्या के अनुरूप होनी चाहिए "विधिनाम";

"चाबी"- एक निश्चित विशिष्टता कुंजी, जो एक पंक्ति है जिसके द्वारा सिस्टम समझता है कि क्या पृष्ठभूमि कार्य लॉन्च करने की आवश्यकता है या क्या ऐसा कार्य पहले से ही चल रहा है;

"नाम"- यहां आप हमारी पद्धति का मनमाना विवरण निर्दिष्ट कर सकते हैं।

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

पृष्ठभूमि कार्य 1सी 8.2, 8.3 - उपयोग का उदाहरण

आइए 1सी पृष्ठभूमि नौकरियों के साथ काम करने का एक उदाहरण दें। सबसे पहले, हम एक सरल एल्गोरिदम बनाएंगे जो 1सी सिस्टम को संक्षेप में इस तरह से लोड करेगा कि हम इस समय कुछ भी नहीं कर सकें।

इसके लिए:

1. आइए एक सामान्य मॉड्यूल बनाएं "बैकग्राउंडटास्क हैंडलर", जिसे सर्वर साइड पर संकलित किया जाएगा;


2. हम इसमें निर्यात प्रक्रिया का वर्णन करेंगे "प्रोड्यूसबैकग्राउंडकैलकुलेशन(पैरामीटर)", जो स्ट्रिंग प्रकार का एक पैरामीटर लेता है;

प्रक्रिया परफॉर्मबैकग्राउंडकैलकुलेशन(पैरामीटर) एक्सपोर्टस्टार्टटाइम = करंटडेट(); जबकि करंटडेट() - प्रारंभ समय< = 6 Цикл КонецЦикла ; КонецПроцедуры Процедура КнНажатие() ОбработчикиФоновыхЗаданий. ПроизветиФоновоеВычисление("कुछ पैरामीटर") ; अंतिम प्रक्रिया
तैयार। अब, जब आप प्रोसेसिंग शुरू करते हैं और एक बटन दबाते हैं, तो सिस्टम कई सेकंड के लिए रुक जाता है, जिसके दौरान कुछ भी नहीं किया जा सकता है। यह बिल्कुल वही है जो हमें करने की ज़रूरत थी।

अब हम यह सुनिश्चित करेंगे कि ये गणनाएँ पृष्ठभूमि में की जाएँ, अर्थात पृष्ठभूमि कार्य 1C 8.2, 8.3 निष्पादित हो, लेकिन हमारे साथ हस्तक्षेप न करें।

इसके लिए:

1. प्रोसेसिंग में, बटन क्लिक इवेंट में, निम्नलिखित कोड लिखें।

प्रक्रिया KnPress() पैरामीटर्स = नई सारणी; विकल्प. जोड़ना( "कुछ पैरामीटर") ; पृष्ठभूमि कार्य। दौड़ना ( "बैकग्राउंडटास्क हैंडलर। बैकग्राउंडकंप्यूटेशन निष्पादित करें", पैरामीटर्स, नया अद्वितीय पहचानकर्ता, "परीक्षा") ; अंतिम प्रक्रिया

यहां हम पहले पैरामीटर के रूप में सामान्य मॉड्यूल प्रक्रिया का नाम और दूसरे के रूप में पैरामीटर की एक सरणी पास करते हैं। तीसरे पैरामीटर को एक अद्वितीय कुंजी और चौथे पैरामीटर को हमारी प्रक्रिया का कुछ विवरण पारित करने की आवश्यकता है।

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

  • दस्तावेजों की समय पर डिलीवरी स्थापित करें;
  • शेष और कुल की गणना करें;
  • आवृत्ति प्रदान करें मेलिंग सूची;
  • अप्रासंगिक डेटा की जाँच करें और हटाएँ।

पृष्ठभूमि और निर्धारित कार्य - यह क्या है और इसे कहाँ कॉन्फ़िगर किया गया है?

निर्धारित कार्य- 1C में निर्मित एक तंत्र जो आपको कॉन्फ़िगर करने और, स्थापित शेड्यूल और आवृत्ति के अनुसार, क्रियाओं का एक निश्चित क्रम करने की अनुमति देता है।

पृष्ठभूमि कार्य एक नियमित ऑपरेशन द्वारा उत्पन्न एक क्रिया है और इसमें प्रत्यक्ष उपयोगकर्ता की भागीदारी की आवश्यकता नहीं होती है।

विन्यासकर्ता मोड में एक नियमित कार्य बनाया जाता है:

  • कॉन्फ़िगरेशन ट्री विंडो में हमें संबंधित शाखा मिलती है (चित्र 1);
  • जोड़ें बटन पर क्लिक करें;
  • खुलने वाली विंडो में, आपको एक नाम निर्दिष्ट करना होगा जो आपको कॉन्फ़िगरेशन में ऑब्जेक्ट की पहचान करने की अनुमति देता है;

अंक 2

  • शिलालेख "शेड्यूल" (चित्र 2) के विपरीत एक शिलालेख "ओपन" है, जिस पर क्लिक करने से हैंडलर के निष्पादन का समय और आवृत्ति निर्धारित करने के लिए एक विंडो खुलती है (चित्र 3);

चित्र 3

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

तो, नियमित संचालन के तंत्र का उपयोग करके, आप पृष्ठभूमि नौकरियों का शेड्यूल और मुख्य क्रियाएं निर्धारित कर सकते हैं। आइए अब नजर डालते हैं इनके फीचर्स पर.

पृष्ठभूमि नौकरियों की विशेषताएं

इस तंत्र की मुख्य विशेषता यह है कि पृष्ठभूमि प्रक्रिया अतुल्यकालिक रूप से चलती है।

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

इस प्रकार, 1सी में पृष्ठभूमि नौकरियां एक ही क्लस्टर में शामिल विभिन्न सर्वरों में गणना वितरित करते हुए, अपनी स्वयं की प्रक्रियाओं को जन्म दे सकती हैं।

क्लाइंट-सर्वर मोड में काम करने की विशेषताएं

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

फ़ाइल मोड में पृष्ठभूमि कार्य

प्लेटफ़ॉर्म संस्करण 8.3.3.641 से पहले, फ़ाइल संस्करण में पृष्ठभूमि नौकरियों के साथ काम करने में कुछ कठिनाइयाँ प्रस्तुत हुईं:

  1. एक अलग सत्र शुरू करना आवश्यक था जो शेड्यूलर की जगह चौबीसों घंटे काम करेगा;
  2. इस सत्र में समय-समय पर RunJobProcessing() विधि निष्पादित होनी चाहिए।

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

चित्र.4

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

निर्धारित कार्यों को अक्षम कैसे करें

ऑब्जेक्ट गुणों में "उपयोग करें" चेकबॉक्स को अनचेक करके अप्रयुक्त कार्यों को अक्षम किया जा सकता है।

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

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

अद्यतनकर्ता से 1C डेटाबेस के नियमित कार्यों का प्रबंधन करना

2018-11-20T15:18:30+00:00

इस नोट में, हम डेटाबेस में नियमित कार्यों के प्रबंधन के लिए अपडेटर की क्षमताओं पर चर्चा करेंगे।

सबसे पहले, आइटम "अधिक" -> "नियमित कार्यों को प्रबंधित करें..." में:

में संदर्भ मेनूसमर्पित डेटाबेस (या डेटाबेस का समूह):

और अंत में, बैच स्क्रिप्ट के लिए टेम्प्लेट में (यह आपको एक शेड्यूल के अनुसार स्क्रिप्ट से नियमित कार्यों पर संचालन करने की अनुमति देता है):

डेटाबेस में नियमित कार्यों के प्रबंधन के लिए संवाद इस प्रकार दिखता है:

यह किन समस्याओं को हल करने की अनुमति देता है सही समूहआधार (या एक आधार)?

नियमित कार्यों का चयन

कृपया ध्यान दें कि आप नीचे कई कार्यों में नियमित कार्यों की सूची चुन सकते हैं:

लेकिन चयन संवाद में आपके डेटाबेस के लिए विशेष रूप से नियमित कार्य नहीं हो सकते हैं:

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

ऐसे नियमित कार्यों के नाम सीधे सभी नियमित कार्यों की रिपोर्ट से लिए जा सकते हैं (इस पर चर्चा की गई है)।

कार्यों की वर्तमान स्थिति प्रदर्शित करता है

ऐसा करने के लिए, "निकासी" टैब पर जाएं और "निकासी..." बटन पर क्लिक करें:

परिणामों में हम देख सकते हैं:

  1. 1C सर्वर पर नए शेड्यूल किए गए कार्यों का लॉन्च सक्षम या अक्षम है।
  2. डेटाबेस में नियमित कार्यों की सूची.
  3. उनका शेड्यूल.
  4. नौकरियाँ सक्षम या अक्षम हैं.
  5. यदि पिछली बार कोई कार्य लॉन्च होने पर कोई त्रुटि हुई थी, तो यह त्रुटि कार्य के आगे लाल रंग में प्रदर्शित होती है।

यदि आवश्यक हो, तो फीचर सेटिंग्स में, हम निर्धारित कार्यों की सूची को सीमित कर सकते हैं, और केवल सक्षम कार्यों को भी प्रदर्शित कर सकते हैं:

सभी या कुछ कार्य बंद करें

ऐसा करने के लिए, "बंद करें" टैब पर जाएं:

सभी या चयनित निर्धारित कार्यों के लिए, "उपयोग करें" चेकबॉक्स साफ़ कर दिया जाएगा।

यहां एक आधार का परिणाम है (विस्तार करने के लिए क्लिक करें)

सभी या कुछ कार्य शामिल करें

ऐसा करने के लिए, "सक्षम करें" टैब पर जाएं:

सभी या चयनित निर्धारित कार्यों के लिए, "उपयोग करें" चेकबॉक्स का चयन किया जाएगा।

कृपया ध्यान दें कि "बनाएँ" ध्वज इस टैब में उपलब्ध है। बैकअप प्रतिआधार" निचले बाएँ कोने में।

यहां एक आधार का परिणाम है (विस्तार करने के लिए क्लिक करें)

हम 1C सर्वर पर निर्धारित कार्यों के लॉन्च का प्रबंधन करते हैं

ऐसा करने के लिए, "1C सर्वर" टैब पर जाएं:

"ब्लॉक" या "अनब्लॉक" चुनें और "रन" बटन पर क्लिक करें।

कार्य शेड्यूल सेट करना

लेकिन क्या होगा यदि हमें एक ही समय में कई डेटाबेस में किसी कार्य (या कार्यों के समूह) को लॉन्च करने के लिए शेड्यूल सेट करने की आवश्यकता हो?

ऐसा करने के लिए, "सेट अप शेड्यूल" टैब पर जाएं:

हम शेड्यूल सेट करते हैं (संवाद और इसकी क्षमताएं पूरी तरह से 1C में मानक एक के साथ मेल खाती हैं) और "कस्टमाइज़ करें..." पर क्लिक करें।

हम निष्पादन के लिए कार्य लॉन्च करते हैं

ऐसा करने के लिए, "रन" टैब पर जाएँ:

आवश्यक कार्यों का चयन करें और "रन" बटन पर क्लिक करें:

कार्य सेटिंग्स को किसी बाहरी फ़ाइल में सहेजा जा रहा है

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

ऐसा करने के लिए, हम पहले आदर्श डेटाबेस में सभी कार्य सेटिंग्स को एक बाहरी फ़ाइल में अपलोड करते हैं:

किसी बाहरी फ़ाइल से कार्य सेटिंग्स पुनर्स्थापित करना

और फिर हम इस फ़ाइल को कार्य सेटिंग्स के साथ अन्य सभी डेटाबेस में लोड करते हैं:

बस ध्यान दें कि इस कार्य के लिए (कार्य सेटिंग्स को एक डेटाबेस से दूसरे डेटाबेस में स्थानांतरित करना), मैंने कार्य के नाम से मिलान विधि को चुना, न कि आंतरिक पहचानकर्ता द्वारा।

बिदाई शब्द

सामान्य तौर पर, मैं आपको बस इतना ही बताना चाहता था। मैं स्वयं नई सुविधाओं का उपयोग करने के लिए कई परिदृश्य देखता हूं, लेकिन यहां मैंने केवल मुख्य बिंदुओं पर संक्षेप में चर्चा की है।