या लेखात विचार करूया चरण-दर-चरण सूचनाव्यवस्थापित अनुप्रयोग मोडमध्ये 1C 8.3 मध्ये बाह्य प्रक्रिया तयार करण्यासाठी, त्यानुसार, आम्ही व्यवस्थापित फॉर्म वापरू. आणि सर्वात महत्त्वाचे म्हणजे, मानक उपप्रणाली आवृत्ती 2.0 आणि नवीनच्या लायब्ररीवर तयार केलेल्या 1C कॉन्फिगरेशनच्या "बाह्य प्रक्रिया" च्या यंत्रणेशी ते कसे जोडायचे ते आपण शिकू.
कार्य खालीलप्रमाणे असेल: सर्वात सोपी बाह्य प्रक्रिया तयार करण्यासाठी जी “आयटम” निर्देशिकेवर गट क्रिया करेल, म्हणजे, आयटमच्या निर्दिष्ट गटासाठी निवडलेल्या व्हॅट दर टक्केवारी सेट करा.
हे करण्यासाठी, आम्ही प्रोग्राममध्ये त्वरित आवश्यक सेटिंग्ज करू (आम्ही 1C 8.3 कॉन्फिगरेशनचा विचार करत आहोत: व्यवस्थापित फॉर्मवर "एंटरप्राइझ अकाउंटिंग 3.0").
हा बॉक्स चेक केल्याने आम्हाला बाह्य प्रक्रिया वापरण्याची संधी मिळते.
उदाहरण वापरून 1C 8.3 मध्ये नवीन बाह्य प्रक्रिया तयार करणे
आता कॉन्फिगरेटरवर जाऊया. "फाइल" मेनूमध्ये, "नवीन..." निवडा. तयार करायच्या फाईलचा प्रकार निवडण्यासाठी एक विंडो उघडेल. "बाह्य प्रक्रिया" निवडा:
एक नवीन बाह्य प्रक्रिया विंडो उघडेल. तिला लगेच नाव देऊया. प्रक्रिया डिस्कवर जतन करताना ते ऑफर केले जाईल:
चला एक नवीन नियंत्रित प्रक्रिया फॉर्म जोडूया. आम्ही सूचित करतो की हा प्रक्रियेचा एक प्रकार आहे आणि तो मुख्य आहे:
आमच्याकडे फॉर्मवर दोन तपशील असतील:
- नामकरण गट - "नामांकन" निर्देशिकेशी दुवा;
- व्हॅट रेट निवडा - व्हॅट दराच्या हस्तांतरणाची लिंक.
आम्ही वरच्या उजव्या विंडोमध्ये "गुणधर्म" कॉलममध्ये तपशील तयार करतो. त्यांना माऊसने वरच्या डाव्या विंडोमध्ये ड्रॅग करा. नवीन तपशील खालील फॉर्मवर त्वरित दिसले पाहिजेत.
तपशीलांचा क्रम "वर" - "खाली" बाण वापरून बदलला जाऊ शकतो:
1C वर 267 व्हिडिओ धडे विनामूल्य मिळवा:
फक्त "इंस्टॉल" बटण जोडणे बाकी आहे. व्यवस्थापित फॉर्ममध्ये, तुम्ही फॉर्ममध्ये फक्त बटण जोडू शकत नाही. जरी तुम्ही ते फॉर्म घटकांच्या संरचनेत जोडले तरीही ते फॉर्मवरच दिसणार नाही. बटण ते कार्यान्वित करेल त्या आदेशाशी संबंधित असणे आवश्यक आहे. "कमांड" टॅबवर जा आणि "व्हॅट दर सेट करा" कमांड जोडा. कमांड गुणधर्मांमध्ये, एक क्रिया तयार करा. "क्लायंटवर" कमांड हँडलर निवडा. फॉर्म घटकांसह विभागात ड्रॅग करून फॉर्ममध्ये कमांड देखील जोडली जाऊ शकते.
फॉर्म मॉड्यूलमध्ये त्याच नावाची प्रक्रिया तयार केली जाईल. त्यामध्ये आम्ही सर्व्हरवरील प्रक्रियेस कॉल करू:
&ऑनक्लायंट
व्हॅट दर सेट करण्याची प्रक्रिया (आदेश)
SetVATRAteOnServer();
प्रक्रिया समाप्त
सर्व्हरवरील प्रक्रियेमध्ये, आम्ही व्हॅट दर सेट करण्याशी संबंधित एक छोटी विनंती आणि कृती लिहू:
&सर्व्हरवर
प्रक्रिया SetVATRAteOnServer()
विनंती = नवीन विनंती;
विनंती.पाठ =
"निवडा
| नामकरण.लिंक
|पासून
| निर्देशिका.नामांकन AS नामकरण
|कुठे
| नामांकन. पदानुक्रमातील दुवा (&नामांकन गट)
| आणि नामांकन नाही.MarkDeletion
| आणि नामकरण नाही. हा एक गट आहे”;
Request.SetParameter("आयटम ग्रुप", आयटम ग्रुप);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();
SelectRecordDet.Next() लूप असताना
प्रयत्न
SprNomObject.Write();
अपवाद
अहवाल("ऑब्जेक्ट लिहिण्यात त्रुटी"" + SprNomObject + """!
|» + वर्णन त्रुटी());
EndAttempt;
एंडसायकल;
प्रक्रिया समाप्त
आम्ही "फॉर्म" टॅबवर परत येतो, फॉर्ममध्ये एक बटण जोडा आणि कमांडसह संबद्ध करतो:
यामुळे, आमची प्रक्रिया वापरासाठी तयार आहे. त्याला कॉल करण्यासाठी, “1C एंटरप्राइझ” मोडमध्ये, आपल्याला “फाइल” - “ओपन” मेनूवर जाण्याची आणि तयार केलेली फाईल निवडावी लागेल.
तथापि, या मोडमध्ये कार्य करणे डीबगिंग प्रक्रियेसाठी सोयीचे आहे, परंतु वापरकर्त्यासाठी पूर्णपणे योग्य नाही. वापरकर्त्यांना "त्यांच्या बोटांच्या टोकावर" म्हणजे डेटाबेसमध्येच सर्वकाही असण्याची सवय असते.
"अतिरिक्त अहवाल आणि प्रक्रिया" विभाग यासाठी आहे.
परंतु तेथे आमची प्रक्रिया जोडण्यासाठी, आपण प्रथम त्याचे वर्णन दिले पाहिजे आणि प्रोग्रामला त्याचे गुणधर्म सांगावेत.
"बाह्य प्रक्रियेबद्दल माहिती" फंक्शनचे वर्णन
मी या फंक्शनच्या सामग्रीचे उदाहरण देईन. ते निर्यात करण्यायोग्य असणे आवश्यक आहे आणि त्यानुसार, प्रक्रिया मॉड्यूलमध्ये स्थित आहे:
कार्य माहितीOnExternalProcessing() Export
DataForReg = नवीन संरचना();
DataForReg.Insert("नाव", "व्हॅट दर सेटिंग");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Version", "ver.: 1.001");
DataForReg.Insert("माहिती", "नामांकन निर्देशिकेत VAT दर सेट करण्यासाठी प्रक्रिया");
DataForReg.Insert("पहा", "अतिरिक्त प्रक्रिया");
कमांडटेबल = NewValueTable;
TabZnCommands.Columns.Add("आयडेंटिफायर");
TabZnCommands.Columns.Add("वापर");
TabZnCommands.Columns.Add("View");
NewRow = TabZnCommands.Add();
NewString.Identifier = "ओपनप्रोसेसिंग";
NewRow.Use = "ओपनफॉर्म";
NewRow.View = "ओपन प्रोसेसिंग";
DataForReg.Insert("Commands", TabZnCommands);
DataForReg परत करा;
एंड फंक्शन
नोंदणी डेटा संरचनेची कोणती फील्ड वापरली जावी हे अधिक चांगल्या प्रकारे समजून घेण्यासाठी, "अतिरिक्त अहवाल आणि प्रक्रिया" निर्देशिकेचे तपशील पाहू:
जसे आपण पाहू शकता, सर्वकाही अगदी सोपे आहे. फक्त एक विशेषता जुळत नाही: “लाँच पर्याय” – “वापरा”. जर आपण सामान्य मॉड्यूल्सपैकी एकाचा कोड पाहिला तर आपण या फील्डचा एक समूह कसा तयार होतो ते पाहू:
संरचनेची कोणती फील्ड आवश्यक आहे हे निर्धारित करण्यासाठी, आपण प्रथम त्याचे वर्णन करू शकत नाही, फक्त एक रिक्त तयार करा आणि नंतर डीबगर वापरा. प्रक्रिया नोंदणी करताना आपण मॉड्यूल्स शोधल्यास, कोणती फील्ड आवश्यक आहेत आणि कोणती नाहीत हे त्वरित स्पष्ट होईल.
1C 8.3 मध्ये बाह्य प्रक्रिया कनेक्ट करणे
बाह्य प्रक्रियेसह कार्य करण्यासाठी (आणि बाह्य मुद्रण फॉर्म देखील एक बाह्य प्रक्रिया आहे), तेथे एक वस्तू आहे बाह्य प्रक्रिया.
चला दोन संभाव्य प्रकरणांचा विचार करूया:
बाह्य प्रक्रिया इन्फोबेसपासून स्वतंत्रपणे डिस्कवर संग्रहित केली जाते
1C मध्ये बाह्य प्रक्रिया प्रोग्रॅमॅटिकपणे उघडण्यासाठी, तुम्हाला त्याच्या फाइलचा पत्ता माहित असणे आवश्यक आहे. हे जाणून घेतल्यास, तुम्ही एकतर प्रोसेसिंग फॉर्म उघडू शकता किंवा त्यावर पुढील क्रिया करण्यासाठी प्रोसेसिंग ऑब्जेक्ट मिळवू शकता (उदाहरणार्थ, ऑब्जेक्ट मॉड्यूलमधून एक्सपोर्ट फंक्शन कॉल करण्यासाठी).
बाह्य प्रक्रिया फॉर्म उघडत आहे
1C मध्ये बाह्य प्रक्रिया फॉर्म प्रोग्रामॅटिकरित्या उघडण्यासाठी, फंक्शन वापरा GetForm()वस्तू बाह्य प्रक्रिया.फंक्शनमध्ये अनेक पॅरामीटर्स आहेत. मुख्य प्रक्रिया फॉर्मचे एक साधे उद्घाटन विचारात घ्या:
फॉर्म = बाह्य प्रक्रिया. GetForm(FileAddress);
फॉर्म. उघडा();
किरकोळ बाह्य प्रक्रिया फॉर्म उघडण्यासाठी, आपण त्याचे नाव निर्दिष्ट करणे आवश्यक आहे.
// FileAddress व्हेरिएबलमध्ये बाह्य प्रक्रिया फाइलचा पूर्ण मार्ग असतो
फॉर्म = बाह्य प्रक्रिया. GetForm(फाइल पत्ता, "मायनर फॉर्म") ;
फॉर्म. उघडा();
बाह्य प्रक्रिया ऑब्जेक्ट म्हणून उघडत आहे
ऑब्जेक्ट म्हणून बाह्य प्रक्रिया प्राप्त करण्यासाठी, फंक्शन वापरले जाते तयार करा()वस्तू बाह्य प्रक्रिया.
// FileAddress व्हेरिएबलमध्ये बाह्य प्रक्रिया फाइलचा पूर्ण मार्ग असतो
ProcessingObject = ExternalProcessing. तयार करा(फाइल पत्ता);
डीफॉल्टनुसार, सर्व प्रक्रिया सुरक्षित मोडमध्ये उघडल्या जातात. ते अक्षम करण्यासाठी, खालील पर्याय वापरा:
// FileAddress व्हेरिएबलमध्ये बाह्य प्रक्रिया फाइलचा पूर्ण मार्ग असतो
बाह्य प्रक्रिया किंवा मुद्रण फॉर्म इन्फोबेसमध्ये जतन केला जातो
अनेक कॉन्फिगरेशनमध्ये, बाह्य मुद्रित फॉर्म जतन करणे आणि थेट इन्फोबेसमध्ये प्रक्रिया करणे शक्य आहे. यासाठी संदर्भग्रंथ वापरला जातो. बाह्य प्रक्रिया.बाह्य प्रक्रिया स्वतः बायनरी डेटा किंवा विशेषतांमध्ये संग्रहित केली जाते स्टोरेज बाह्य प्रक्रिया, किंवा सारणी विभागात संलग्नताप्रॉप्स मध्ये स्टोरेज बाह्य प्रक्रिया.
बाह्य प्रक्रिया उघडण्यासाठी आपल्याला आवश्यक आहे:
- ते स्टोरेजमधून मिळवा.
- प्रक्रिया केलेली फाइल डिस्कवर सेव्ह करा.
- फॉर्म उघडा किंवा प्रोसेसिंग ऑब्जेक्ट मिळवा.
- आम्ही बाह्य मुद्रित फॉर्म हाताळत असल्यास, आम्ही मानक तपशील भरू शकतो ऑब्जेक्ट संदर्भआणि एक्सपोर्ट फंक्शनला कॉल करा शिक्का.
// RefLink व्हेरिएबलमध्ये ExternalProcessings निर्देशिका घटकाची लिंक असते
DvData = RefLink. बाह्य प्रक्रिया स्टोरेज. मिळवा();
FileAddress = GetTemporaryFileName();
डीव्हीडेटा. लिहा(फाइल पत्ता);
ProcessingObject = ExternalProcessing. तयार करा (फाइल अॅड्रेस, असत्य);