नवीनतम लेख
घर / खेल को शान्ति / एक्सेल टेबल को 1s में कैसे जोड़ें। कौन सा बेहतर है - "1C" या "एक्सेल"? क्या आपके पास कोई प्रश्न है या सलाहकार से मदद चाहिए?

एक्सेल टेबल को 1s में कैसे जोड़ें। कौन सा बेहतर है - "1C" या "एक्सेल"? क्या आपके पास कोई प्रश्न है या सलाहकार से मदद चाहिए?

अक्सर, संभावित ग्राहकों के साथ संवाद करते समय, मैंने सुना है कि उनके पास कार्यालय सुइट से पर्याप्त टेबल कार्यक्षमता है, और वे 1C कार्यक्रमों में बिंदु नहीं देखते हैं। ऐसा इसलिए है क्योंकि कुछ अभी भी इस समाधान को केवल लेखा कार्यक्रमों के साथ जोड़ते हैं, जो कि सच नहीं है।

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

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

स्पष्टता के लिए, आइए कल्पना करें कि लेखांकन के स्वचालन में क्या आवश्यकताएं उत्पन्न हो सकती हैं, उदाहरण के लिए, व्यापार में:

1. एक निश्चित अवधि के भीतर बिक्री का विश्लेषण।

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

2. गोदाम लेखांकन।
क्या मुझे यह समझाने की आवश्यकता है कि बिक्री के लिए स्टॉक में माल की उपलब्धता को समझना भी महत्वपूर्ण है, कौन से सामान आरक्षित किए जा सकते हैं और कौन से स्टॉक से बाहर हैं, और क्या ऑर्डर करने की आवश्यकता है? मुझे लगता है कि यहां सब कुछ स्पष्ट है।

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

4. संगठन का लाभ।
लाभ रिपोर्ट तैयार करना मुश्किल नहीं होगा, क्योंकि खर्च और आय के सभी डेटा पहले से ही डेटाबेस में मौजूद हैं। बशर्ते कि जानकारी समयबद्ध तरीके से दर्ज की गई हो, कम से कम आवश्यक तिथि तक। यहां मौलिक कारक उपयोगकर्ता की व्यक्तिगत जिम्मेदारी है।

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

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

मैं 1C के बारे में ऐसा नहीं कह सकता, क्योंकि वहां की सारी जानकारी संरचित और परस्पर जुड़ी हुई है:

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

एक्सेल के बचाव में

शायद, आपको ऐसा लगा कि मैं "ग्रीन" टेबल में डेटा बनाने के खिलाफ हूं। बिल्कुल भी नहीं। वास्तव में, मैं खुद अक्सर एक्सेल में कुछ व्यवसाय करता हूं: अगर मुझे मनमानी गणना की आवश्यकता है, अगर मुझे ग्राहकों द्वारा डेटा को विभाजित करने की आवश्यकता है, तो उन मापदंडों के अनुसार एनालिटिक्स का संचालन करना जो 1 सी में नहीं हैं - हां, ऐसा होता है - मैं जाता हूं " एक्सेल। सीधे शब्दों में कहें, तालिकाओं में मैं गणना करता हूं, गैर-मानक विश्लेषण करता हूं, लेकिन फिर मैं सब कुछ बाद में 1C में व्यवस्थित करता हूं।

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

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


परिणाम क्या है - "1C" या "एक्सेल"?

बहुत शुरुआत में, अगर सवाल स्वचालन के लिए वित्त में है, हालांकि बुनियादी 1C कार्यक्रमों में इतना पैसा खर्च नहीं होता है, तो मैं एक्सेल का उपयोग करूंगा। एक बड़ा प्लस यह है कि "ग्रीन" टेबल से डेटा बिना नुकसान के "1C" में लोड किया जा सकता है। लेकिन जैसे-जैसे आप आगे बढ़ेंगे, मैं आपको सलाह दूंगा कि आप व्यवसाय प्रक्रिया स्वचालन कार्यक्रमों पर ध्यान दें। उनमें से कई हैं, और यह जरूरी नहीं कि "1C" हो ...

1C में परिवर्तन तब किया जा सकता है जब आप समझते हैं कि पर्यवेक्षी अधिकारियों के साथ ग्राहकों और आपूर्तिकर्ताओं के साथ संबंधों से संबंधित मुद्दों को स्वचालित करने सहित, अपने संसाधनों को अनुकूलित करना आवश्यक है। सामान्य तौर पर, व्यावसायिक दक्षता बढ़ाने के लिए अपने वर्कफ़्लोज़ में सुधार करने के लिए, जब सूचना प्रसंस्करण में बहुत समय लगेगा, और एक्सेल फाइलें अब दर्ज किए गए डेटा की मात्रा का सामना नहीं करेंगी।

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

इस पर, शायद, सब कुछ। लेकिन यदि आपके कोई प्रश्न हैं, तो कृपया हमसे संपर्क करें और हम आपकी सहायता करने का प्रयास करेंगे। सफल व्यावसायिक प्रक्रियाएं, सहकर्मियों!

  • प्रतिपक्षों (मूल्य सूची, सुलह अधिनियम, आदि) के बीच सूचनाओं का आदान-प्रदान करते समय;
  • उन मामलों में ऑपरेटरों के काम को सुविधाजनक बनाने के लिए जहां मुख्य लेखा 1 सी में रखा जाता है, और इसमें से कुछ एक्सेल टेबल में किया जाता है;
  • डेटाबेस के प्रारंभिक भरने के दौरान।

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

सार्वभौमिक आंदोलन

ITS डिस्क पर, साथ ही 1C पोर्टल पर, "तकनीकी सहायता" -> "सार्वभौमिक रिपोर्ट और प्रसंस्करण" मेनू पर जाकर, "स्प्रेडशीट दस्तावेज़ से डेटा लोड हो रहा है" फ़ोल्डर में एक संबंधित प्रसंस्करण होता है।

जब इसे लॉन्च किया जाता है, तो एक फॉर्म खुलता है (चित्र 1):

जैसा कि आप प्रपत्र से देख सकते हैं, यह आपको निम्न कॉन्फ़िगरेशन ऑब्जेक्ट में जानकारी स्थानांतरित करने की अनुमति देता है:

  1. निर्देशिका;
  2. दस्तावेज़ या संदर्भ पुस्तक का सारणीबद्ध भाग;
  3. सूचना का रजिस्टर।

स्विच की स्थिति के आधार पर, ऑब्जेक्ट चयन फ़ील्ड बदलता है।

जब आप अपलोड की गई फाइल को खोलते हैं तो प्रोसेसिंग टेबल फॉर्म भर जाता है।

प्रकार प्रसंस्करण निम्न से अपलोड का समर्थन करता है:

  • कंपनी 1C के विशेषज्ञों द्वारा विकसित, प्रारूप की फाइलेंएमएक्सएल;
  • लिज्तxls प्रारूप में सहेजा गयाएक्सेल 97-2003;
  • पाठ फ़ाइलटेक्स्ट;
  • टेबलडीबीएफ.

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

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

अब "सेटिंग" टैब पर चलते हैं (चित्र 2):

रेखा चित्र नम्बर 2

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

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

सेटिंग कॉलम

फ्लैग - लाइन में बॉक्स को चेक या अनचेक करके, यह निर्धारित किया जाता है कि क्या संबंधित विशेषता को भरा जाएगा।

विशेषता का प्रतिनिधित्व - मेटाडेटा विशेषता का एक समानार्थी (नाम) यहां लिखा गया है, जैसा कि विन्यासकर्ता में निर्दिष्ट है।

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

प्रकारों का विवरण - उस डेटा प्रकार को प्रदर्शित करता है जिसमें एक या कोई अन्य मेटाडेटा विशेषता होती है।

डाउनलोड मोड - चुनने के लिए तीन विकल्प प्रदान करता है (चित्र 3):

अंजीर.3

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

बाद के मामले में, अभिव्यक्ति क्षेत्र को सक्रिय करने से फॉर्म खुल जाएगा (चित्र 4)।

चित्र 4

कॉलम नंबर - एक फ़ील्ड जिसका उपयोग यह इंगित करने के लिए किया जाता है कि एक्सेल स्प्रेडशीट के किस कॉलम से भरने के लिए डेटा लेना आवश्यक है।

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

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

यहां, सिद्धांत रूप में, "सेटिंग" टैब पर उपलब्ध सभी जानकारी है।

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

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

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

यह प्रसंस्करण "खरीदारी" टैब पर "सेवा" मेनू में पाया जा सकता है, इसे "फाइलों से आपूर्तिकर्ता मूल्य लोड करना" कहा जाता है (चित्र 5)

चित्र 5

प्रसंस्करण प्रपत्र में शामिल हैं:

  1. दिनांक चयन फ़ील्ड जो इंगित करेगी कि यह मूल्य किस समय के लिए प्रासंगिक है;
  2. अपनी मूल्य सूची भेजने वाले प्रतिपक्षकार का चयन करने के लिए क्षेत्र;
  3. एक बटन जो आपको सेट की जाने वाली कीमतों के प्रकार का चयन करने की अनुमति देता है;
  4. एक सारणीबद्ध अनुभाग जिसे अपलोड किए गए डेटा से भरा जा सकता है।

यह प्रपत्र Fig.6 . में देखा जा सकता है

चित्र 6

प्रपत्र के शीर्ष पर लेजेंड बताता है कि प्रपत्र के पहले टैब का उपयोग कैसे करें।

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

वेब इंटरफेस के माध्यम से काम करते समय, कुछ ब्राउज़रों को ब्राउज़र ऐड-ऑन (चित्र 7) की स्थापना की आवश्यकता हो सकती है। हमें "इंस्टॉलेशन शुरू करें" बटन पर क्लिक करना होगा और हमारे कनेक्शन को पुनरारंभ करना होगा।

चित्र 7

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

चित्र 8

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

  • सब कुछ पंजीकृत करें;
  • डेटाबेस में पहले से मौजूद लोगों की तुलना में केवल उन्हीं को पंजीकृत करें जो बदल गए हैं।

टेक्स्ट फ़ील्ड में, आप एक टिप्पणी दर्ज कर सकते हैं जो दस्तावेज़ में दर्ज की जाएगी (चित्र 9):

चित्र.9

प्रसंस्करण के बाद:

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

प्रसंस्करण "बाहरी फाइलों से माल लोड करना" एक समान तरीके से काम करता है।

DIY स्थानांतरण प्रसंस्करण विकल्प

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

  • Microsoft ADODB के माध्यम से - एक काफी तेज़ विधि, जो एक नियम के रूप में, फ़ाइल और क्लाइंट-सर्वर डेटाबेस भंडारण विकल्पों दोनों पर लागू होती है;
  • होकर माइक्रोसॉफ्ट उपयोगकार्यालय - एक विधि जो कभी-कभी SQL डेटाबेस के साथ काम करते समय विफल हो जाती है, एक नियम के रूप में, यह पहली विधि की तुलना में कुछ धीमी गति से काम करती है, और कार्यालय की भी आवश्यकता होती है;
  • लिब्रे ऑफिस के माध्यम से - पिछली पद्धति के विपरीत, यह मुफ़्त है, xls और xlsx प्रारूपों के अलावा, यह अपनी स्वयं की तालिकाओं का भी समर्थन करता है, लेकिन इसके लिए एक स्थापित की आवश्यकता होती है लिब्रे ऑफिस पैकेजऔर अपलोड की गई फ़ाइल की कुछ तैयारी (तालिका की पहली पंक्ति में कॉलम के नाम होने चाहिए)।

आओ हम इसे नज़दीक से देखें विभिन्न तरीकेऔर विकल्प।

ADODB.Connection के माध्यम से

सामान्य तौर पर, ADO का अर्थ है ActiveX डेटा ऑब्जेक्ट और कार्य करता है प्रोग्राम एक्सेसविभिन्न डेटाबेस के लिए। किसी तृतीय-पक्ष फ़ाइल (एक्सेल सहित) से कोई भी कनेक्शन बनाते समय सबसे बड़ी समस्या कनेक्शन स्ट्रिंग को सही ढंग से तैयार करना है।

एक्सेल फाइलों के लिए तीन विकल्प हैं:

कनेक्शन स्ट्रिंग विकल्प:

  • प्रदाता - इस्तेमाल किया गया ड्राइवर यहां निर्धारित किया गया है;
  • डेटा स्रोत - उस फ़ाइल के नाम को परिभाषित करता है जिसे हम खोलेंगे;
  • विस्तारित गुण - यहां आप निर्दिष्ट कर सकते हैं कि क्या तालिका के लिए हेडर लाइन की आवश्यकता है (HDR = YES इंगित करता है कि डेटा पहली पंक्ति से पढ़ा जाएगा, HDR = NO - दूसरी से), क्या फ़ाइल केवल-पढ़ने के लिए खोली गई है ( केवल पढ़ने के लिए) और कुछ अन्य अतिरिक्त विकल्प।

एक कनेक्शन स्ट्रिंग बनाने के बाद, हम डाउनलोड की गई फ़ाइल से जुड़ सकते हैं (चित्र 13)

चित्र.13

अब हम उपयोग कर सकते हैं एक साधारण अनुरोध(चित्र.14) डाउनलोड की गई फ़ाइल से जानकारी प्राप्त करना प्रारंभ करें।

पर ये मामला"शीट" पैरामीटर यह निर्धारित करता है कि हमें एक्सेल वर्कबुक से किस शीट पर काम करना है।

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

एक्सेल एप्लिकेशन के माध्यम से

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

इस COM ऑब्जेक्ट में कई चाइल्ड पैरामीटर हैं, लेकिन हमारे लिए मुख्य, कार्य की वर्तमान परिस्थितियों में, वर्कबुक पैरामीटर (चित्र 17) है।

पुस्तक को इनिशियलाइज़ करने के बाद, उस शीट को निर्धारित करना आवश्यक है जिससे डेटा पढ़ा जाएगा (चित्र 18)।

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

संभावित त्रुटियों के बारे में कुछ शब्द

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

एडीओ के माध्यम से कार्य करने के मामले में (चित्र 19);

चित्र.19

  • आवेदन के साथ काम करने के मामले में (चित्र 20)।

चावल। बीस।

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

1C में, COM ऑब्जेक्ट के माध्यम से MS Excel फ़ाइलों के साथ काम करने के 2 तरीके हैं और स्प्रेडशीट दस्तावेज़ ऑब्जेक्ट का उपयोग करके बिल्ट-इन 1C टूल हैं। आइए इन दोनों विधियों की अधिक विस्तार से जाँच करें।

1. COM-ऑब्जेक्ट के माध्यम से कार्य करें।

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

एक उदाहरण (लेख के अंत में पाठ के रूप में देखा जा सकता है):

यह ध्यान दिया जाना चाहिए कि "Excel.Application" COM ऑब्जेक्ट द्वारा प्रदान की गई सभी ऑब्जेक्ट, विधियाँ और गुण VBA, MS Office प्रोग्रामिंग भाषा की ऑब्जेक्ट, विधियाँ और गुण हैं।

टिप्पणी:

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

2. स्प्रेडशीट दस्तावेज़ 1सी के माध्यम से कार्य करें।

1सी स्प्रेडशीट दस्तावेज़ प्लेटफॉर्म 8 से शुरू होने वाली रिकॉर्डिंग के लिए एमएस एक्सेल प्रारूप का समर्थन करता है, लेकिन केवल प्लेटफॉर्म 8.3.6 से शुरू करने के लिए। इसके अलावा, खोलते समय, सभी पत्रक एक स्प्रेडशीट दस्तावेज़ में लोड किए जाते हैं। संस्करण 8.3.10 से शुरू होकर, लोड करते समय, अलग-अलग शीट को अलग-अलग क्षेत्रों के रूप में लोड किया जाता है।

रिकॉर्डिंग उदाहरण बहुत सरल है और इस पर अधिक ध्यान देने की आवश्यकता नहीं है:

हालाँकि, यहाँ हमें एक समस्या है। Excel कार्यपुस्तिका में 1C से रिकॉर्ड करते समय, शीट नामों का प्रदर्शन डिफ़ॉल्ट रूप से अक्षम होता है।

इस समस्या को 2 तरीकों से हल किया जा सकता है, 1 - सेटिंग में ही पुस्तक में शीट के प्रदर्शन को सक्षम करें (सभी उपयोगकर्ता ऐसा करने के लिए सहमत नहीं होंगे), 2 - इसे COM ऑब्जेक्ट के माध्यम से करें (हमें फिर से MS Excel स्थापित करने की आवश्यकता है) .

इस छोटे से जोड़ के बाद, एमएस एक्सेल फ़ाइल में शीट लेबल दिखाई देंगे।

एमएस एक्सेल को पढ़ना इतना आसान काम नहीं है, क्योंकि रीड मेथड केवल सर्वर या थिक क्लाइंट पर ही उपलब्ध होता है। ऐसा करने के लिए, हमें MS Excel फ़ाइल को सर्वर पर स्थानांतरित करने की आवश्यकता है।

&एट क्लाइंट

CreateDocument () प्रक्रिया

अपवाद

प्रयास का अंत;

पुस्तक = एक्सेल। वर्कबुक। जोड़ें (); // एक नई एमएस एक्सेल वर्कबुक बनाएं

शीट = बुक। वर्कशीट। जोड़ें (); // एक शीट जोड़ें

पत्रक.नाम = "1सी से उदाहरण"; // शीट का नाम सेट करें

पत्रक। कोशिकाएं (1,1)। मान = "(!LANG:आइए एक सूत्र बनाएं";!}

शीट। सेल (2,1)। मान = 1;

शीट। सेल (2,2)। मान = 2;

शीट। सेल (2,3)। फॉर्मूला = "= ए 2 + बी 2";

शीट। सेल (3,1)। वैल्यू = करंटडेट ();

Book.SaveAs("C:\1\Test.xlsx");

बुक.क्लोज़ ();

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

सर्वर पर

गेटलेआउट सर्वर () फ़ंक्शन

वापसी FormAttributeToValue ("ऑब्जेक्ट")। GetLayout ("टेम्पलेट अपलोड करें"); // इस प्रकार हम बाहरी प्रसंस्करण लेआउट प्राप्त करते हैं;

अंतिम कार्य

&एट क्लाइंट

प्रक्रिया कार्य ()

एक्सेल = नया COMObject ("एक्सेल। एप्लीकेशन");

अपवाद

दिखाएँ ("एक्सेल घटक को जोड़ने का असफल प्रयास। एक्सेल को स्थापित नहीं किया जा सकता है यह कंप्यूटर!");

प्रयास का अंत;

लेआउट = GetLayoutServer ();

लेआउट। लिखें (अस्थायीफाइलनाम);

क्या आपके पास कोई प्रश्न है, क्या आपको सलाहकार की सहायता की आवश्यकता है?

पुस्तक = एक्सेल। वर्कबुक। ओपन (टेम्पफाइलनाम);

शीट टेम्पलेट = बुक। वर्कशीट्स(1);

शीट टेम्पलेट। सेल (6,1)। मान = "(!LANG: दिनांक:";!}

शीट टेम्पलेट। सेल (6,2)। वैल्यू = करंटडेट ();

शीट टेम्पलेट.नंबरफॉर्मेट = "डीडी/एमएम/वाई;@"; // चलिए दिनांक प्रारूप देते हैं, यह प्रारूप एमएस एक्सेल में मैक्रो रिकॉर्ड करके प्राप्त किया जाता है

शीट टेम्पलेट। कॉलम ("बी: बी")। संपूर्ण कॉलम। ऑटोफिट; // तारीख को बिल्कुल फिट करने के लिए कॉलम को स्ट्रेच करें

Book.SaveAs (फ़ाइल नाम);

बुक.क्लोज़ ();

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

&एट क्लाइंट

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

&एट क्लाइंट

प्रक्रिया लिखेंस्प्रेडशीटदस्तावेज़ ()

स्प्रेडशीट दस्तावेज़ = नया स्प्रेडशीट दस्तावेज़ ();

स्प्रैडशीट दस्तावेज़. क्षेत्र ("R1C1")। पाठ = "1C से MS Excel में एक प्रविष्टि का उदाहरण";

स्प्रेड डॉक्यूमेंट। लिखें ("सी: \ 1 \ टेस्ट 2. एक्सएलएस", स्प्रेड डॉक्यूमेंटफाइल टाइप। एक्सएलएसएक्स);

एक्सेल = नया COMObject ("एक्सेल। एप्लीकेशन");

Excel.WorkBooks.Open("C:\1\Test2.xls");

एक्सेल। दृश्यमान = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0.6;

एक्सेल। एक्टिव वर्कबुक। सेव ();

एक्सेल.एप्लीकेशन.क्विट ()

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

बाइनरीडेटा = नया बाइनरीडेटा ("सी: \ 1 \ test2.xlsx");

पता = PutToTempStorage (बाइनरीडेटा, ThisForm.UniqueIdentifier);

स्प्रेडशीट दस्तावेज़ = डाउनलोडऑनसेवर (पता);

स्प्रेडशीट दस्तावेज़। दिखाएँ ();

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

सर्वर पर

फंक्शन लोडऑनसेवर (पता)

TempFileName = GetTemporaryFileName ("xlsx");

फाइलडाटा = GetFromTempStorage (पता);

FileData.Write (अस्थायीफाइलनाम);

स्प्रेडशीट दस्तावेज़ = नया स्प्रेडशीट दस्तावेज़ ();

स्प्रैडशीट दस्तावेज़ लौटाएं;

परिचय।

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

टेबल्स 1 सी और एक्सेल।

सुविधा के लिए, कई उपयोगकर्ता एक्सेल फॉर्मेट (* .xls) में 1C टेबल (प्रिंट करने योग्य फॉर्म) सहेजते हैं। उसके बाद, परिणामी फ़ाइल में विभिन्न समूह, छँटाई, गणना आदि किए जाते हैं। यह इस तथ्य के कारण है कि 1 सी टेबल में एक्सेल टेबल जैसी कोई बड़ी कार्यक्षमता नहीं है। लेकिन संस्करण 1C 8.0 में ऐसे नवाचार हैं जो तालिकाओं के साथ काम करना अधिक आरामदायक बनाते हैं।

1सी वेबसाइट (http://www.1c.ru/) में एक उपयोगी प्रोग्राम है जो आपको एक्सेल में 1सी टेबल खोलने और एक्सेल शीट को 1सी टेबल के रूप में सहेजने की अनुमति देता है। यह उपयोगी है यदि 1C तालिका को Excel स्वरूप में सहेजा नहीं गया था, और 1C उस कंप्यूटर पर स्थापित नहीं है जहाँ आपको इस तालिका को खोलने की आवश्यकता है। हां, और लगातार याद रखें कि आपको 1C टेबल को एक्सेल फॉर्मेट में सेव करने की जरूरत नहीं होगी।

कार्यक्रम के बारे में पूरी जानकारी यहां पाई जा सकती है।
आप यहां प्रोग्राम डाउनलोड कर सकते हैं (ज़िप आर्काइव 682 739 बाइट्स)।

टिप्पणी:एक्सेल में, दशमलव विभाजक "," है। इसलिए, एक्सेल फॉर्मेट में 1C टेबल को सेव करने से पहले, इसमें एक और सेपरेटर (उदाहरण के लिए, "।") को "," से बदल दें। अन्यथा, एक्सेल इन नंबरों के साथ गणना करने में सक्षम नहीं होगा, या उन्हें संख्याओं के रूप में बिल्कुल भी प्रदर्शित नहीं किया जाएगा। उदाहरण के लिए, तालिका 1C में "15.2" एक्सेल में "15 फरवरी" के रूप में प्रदर्शित किया जाएगा।

एक्सेल से डेटा प्राप्त करना।

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

एक किताब खोलना (फ़ाइल):
किताब = एक्सेल। कार्यपुस्तिकाएं ओपन (पाथटोफाइल);
PathToFile Excel कार्यपुस्तिका फ़ाइल का पूर्ण पथ है।

साथ काम करने के लिए एक पुस्तक पत्रक का चयन करना:
या
चादर = किताब। वर्कशीट्स (शीटनाम);
शीट नंबर पुस्तक में शीट की संख्या है, शीटनाम पुस्तक में शीट का नाम है।

शीट सेल का मान प्राप्त करना:
मान = शीट। सेल (लाइननंबर, कॉलमनंबर)। मूल्य;

महत्वपूर्ण:आवश्यक क्रियाओं को करने के लिए फ़ील्ड में एक्सेल कोड जोड़ना न भूलें। छोड़ना(); , अन्यथा चलने की प्रक्रिया अधूरी रहेगी और कंप्यूटर की मेमोरी और प्रोसेसर पर कब्जा कर लेगी।

एक्सेल के लिए डेटा आउटपुट।

एक्सेल में डेटा आउटपुट (अपलोड) करने के लिए, आपको या तो एक मौजूदा वर्कबुक खोलनी होगी या एक नया बनाना होगा और डेटा आउटपुट के लिए वर्कशीट का चयन करना होगा। किसी मौजूदा पुस्तक को खोलना ऊपर वर्णित है, लेकिन एक नई पुस्तक बनाने के लिए, आपको निम्नलिखित कोड का उपयोग करना होगा:
कोशिश करना
एक्सेल = क्रिएटऑब्जेक्ट ("एक्सेल। एप्लीकेशन");
अपवाद
सूचित करें (त्रुटि विवरण () +
"इस कंप्यूटर पर एक्सेल स्थापित नहीं है!");
वापस करना;
प्रयास का अंत;
किताब = एक्सेल। कार्यपुस्तिकाएं जोड़ें();

चूँकि Excel में कोई पुस्तक बनाते समय, पत्रक स्वचालित रूप से बन जाते हैं (उपकरण-> विकल्प-> सामान्य-> नई पुस्तक में पत्रक), आपको केवल कार्य करने के लिए पत्रक का चयन करने की आवश्यकता है:
चादर = किताब। वर्कशीट्स (शीट नंबर);
या यदि आवश्यक हो, तो पुस्तक में एक नई शीट जोड़ें:
चादर = किताब। चादरें। जोड़ें();
अगला चरण सेल का मान सेट करना है:
चादर। सेल (लाइननंबर, कॉलमनंबर)। मूल्य = मूल्य;
RowNumber, ColumnNumber - पंक्ति संख्या और स्तंभ संख्या जिस चौराहे पर सेल स्थित है।
और अंत में, आपको बनाई गई पुस्तक को रिकॉर्ड करना होगा:
कोशिश करना
किताब । सेवएएस (पाथटोफाइल);
अपवाद
सूचित करें (त्रुटि विवरण ()
+ "फ़ाइल सहेजी नहीं गई!");
वापस करना;
प्रयास का अंत;
PathToFile - एक्सेल वर्कबुक फ़ाइल (नाम सहित) का पूरा पथ।
महत्वपूर्ण:याद रखें कि फ़ाइल नामों में \ / : * नहीं होना चाहिए? ">< |.

एक्सेल में मूल्यों को पढ़ने/सेट करने के लिए आमतौर पर इस्तेमाल की जाने वाली विधियाँ।

एक्सेल = क्रिएटऑब्जेक्ट ("एक्सेल। एप्लीकेशन"); एक्सेल एप्लिकेशन तक पहुंच प्राप्त करना।
एक्सेल। दर्शनीय = दृश्यता; 0 - एक्सेल दिखाई नहीं दे रहा है, 1 - दृश्यमान।
किताब = एक्सेल। कार्यपुस्तिकाएं जोड़ें(); एक नई कार्यपुस्तिका (फ़ाइल) एक्सेल बनाना।
किताब । सेवएज़ (फ़ाइल नाम); एक्सेल वर्कबुक को सेव करना।
चादर = किताब। कार्यपत्रक। जोड़ें(); पुस्तक में एक नई शीट जोड़ना।
किताब = एक्सेल। कार्यपुस्तिकाएं ओपन (फ़ाइल नाम); मौजूदा कार्यपुस्तिका (फ़ाइल) एक्सेल खोलना।
चादर = किताब। वर्कशीट्स (शीट नंबर); नंबरशीट नंबर के साथ शीट को वर्किंग शीट के रूप में सेट करना।
चादर। नाम = शीटनाम; वर्कशीट का नामकरणपत्रकनाम
चादर। पृष्ठ सेटअप । ज़ूम = स्केल; स्केल पेज विकल्प निर्दिष्ट करता है (10 से 400 तक)।
चादर। पृष्ठ सेटअप । अभिविन्यास = अभिविन्यास; अभिविन्यास: 1 - चित्र, 2 - परिदृश्य।
चादर। पृष्ठ सेटअप । लेफ्टमार्जिन = एक्सेल। सेंटीमीटर टॉपॉइंट्स (सेंटीमीटर); बाईं सीमा (सेंटीमीटर में) सेट करता है।
चादर। पृष्ठ सेटअप । टॉपमार्जिन = एक्सेल। सेंटीमीटर टॉपॉइंट्स (सेंटीमीटर); ऊपरी सीमा (सेंटीमीटर में) निर्दिष्ट करता है।
चादर। पृष्ठ सेटअप । राइट मार्जिन = एक्सेल। सेंटीमीटर टॉपॉइंट्स (सेंटीमीटर); सही बॉर्डर (सेंटीमीटर में) निर्दिष्ट करता है।
चादर। पृष्ठ सेटअप । बॉटममार्जिन = एक्सेल। सेंटीमीटर टॉपॉइंट्स (सेंटीमीटर); निचली सीमा (सेंटीमीटर में) सेट करता है।
चादर। कॉलम (कॉलम नंबर)। कॉलमविड्थ = चौड़ाई; कॉलम की चौड़ाई सेट करें।
चादर। सेल (लाइननंबर, कॉलमनंबर)। मूल्य = मूल्य; सेल में डेटा दर्ज करना।
चादर। सेल (लाइननंबर, कॉलमनंबर)। फ़ॉन्ट। नाम = फ़ॉन्टनाम; सेल में फॉन्ट सेट करना।
चादर। सेल (लाइननंबर, कॉलमनंबर)। फ़ॉन्ट। आकार = फ़ॉन्ट आकार; सेल में फॉन्ट साइज सेट करें।
चादर। सेल (लाइननंबर, कॉलमनंबर)। फ़ॉन्ट। बोल्ड = बोल्ड; 1 - बोल्ड फ़ॉन्ट, 0 - सामान्य।
चादर। सेल (लाइननंबर, कॉलमनंबर)। फ़ॉन्ट। इटैलिक = इटैलिक; 1 - तिरछा फ़ॉन्ट, 0 - सामान्य।
चादर। सेल (लाइननंबर, कॉलमनंबर)। फ़ॉन्ट। रेखांकित = रेखांकित; 2 - रेखांकित, 1 - नहीं।
चादर। सेल (लाइननंबर, कॉलमनंबर)। नंबरफॉर्मेट = प्रारूप; सेल डेटा प्रारूप सेट करें।
चादर। सेल (लाइननंबर, कॉलमनंबर)। सीमाओं। लाइनस्टाइल = लाइन टाइप; सेल बॉर्डर सेट करें। 1 - पतला ठोस।

यह विधि सरल है। इसका सार यह है कि वस्तु स्प्रेडशीट दस्तावेज़तरीके हैं:

  • जलाना (< ИмяФайла>, < ТипФайлаТаблицы >) फ़ाइल में डेटा अपलोड करने के लिए;
  • पढ़ना (< ИмяФайла>, < СпособЧтенияЗначений >) फ़ाइल से डेटा लोड करने के लिए।

ध्यान!

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

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

टैबडॉक . लिखें(फ़ाइलपथ,स्प्रेडशीटदस्तावेज़फ़ाइलटाइप.XLSX);

यहां टैबडॉक- उत्पन्न स्प्रेडशीट, फ़ाइल का पथ- अपलोड की जाने वाली फ़ाइल का नाम, स्प्रैडशीटदस्तावेज़फ़ाइलटाइप.XLSX- जेनरेट की गई फाइल का फॉर्मेट। निम्नलिखित एक्सेल प्रारूप समर्थित हैं:

  • XLS95 - एक्सेल 95 प्रारूप;
  • XLS97 - एक्सेल 97 प्रारूप;
  • एक्सएलएसएक्स एक्सेल 2007 प्रारूप है।

TabDoc = नया स्प्रेडशीट दस्तावेज़;
टैबडॉक . पढ़ें(PathToFile, WayToReadSpreadsheetDocumentValues.Value);

यहां फ़ाइल का पथ- डाउनलोड की गई एक्सेल फ़ाइल का पथ। WayToReadValuesSpreadDocument.Valueस्रोत दस्तावेज़ से पढ़े गए डेटा की व्याख्या करने का तरीका निर्धारित करता है। विकल्प उपलब्ध हैं:

  • अर्थ;
  • मूलपाठ।

OLE . के माध्यम से एक्सचेंज

OLE ऑटोमेशन तकनीक के माध्यम से एक्सचेंज प्रोग्राम के साथ काम करने का शायद सबसे आम तरीका है एक्सेल फ़ाइलें. यह आपको एक्सेल द्वारा प्रदान की गई सभी कार्यक्षमताओं का उपयोग करने की अनुमति देता है, लेकिन अन्य विधियों की तुलना में धीमा है। ओएलई के माध्यम से एक्सचेंज के लिए एमएस एक्सेल को स्थापित करने की आवश्यकता है:

  • अंतिम उपयोगकर्ता के कंप्यूटर पर, यदि विनिमय ग्राहक की ओर से होता है;
  • 1सी:एंटरप्राइज सर्वर कंप्यूटर पर, यदि एक्सचेंज सर्वर साइड पर होता है।

उदाहरण उतराई:

// एक COM ऑब्जेक्ट बनाएं
एक्सेल = नया COMObject ("एक्सेल। एप्लीकेशन");
// चेतावनियों और प्रश्नों को अक्षम करें
एक्सेल . डिस्प्लेअलर्ट्स = झूठा;
// एक नई किताब बनाएं
किताब = एक्सेल। कार्यपुस्तिकाएं जोड़ें();
// पहली शीट पर पोजिशनिंग
चादर = किताब। वर्कशीट्स(1);

// सेल के लिए मूल्य लिखें
चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। मूल्य = सेलवैल्यू;

// फ़ाइल सहेजें
किताब . सेवएएस (फ़ाइल नाम);


एक्सेल . छोड़ना();
एक्सेल = 0;

उदाहरण पढ़ना:

// -- विकल्प 1 --

// एक COM ऑब्जेक्ट बनाएं
एक्सेल = नया COMObject ("एक्सेल। एप्लीकेशन");
// खुली किताब
किताब = एक्सेल। कार्यपुस्तिकाएं खुला हुआ( फ़ाइल का पथ);

चादर = किताब। वर्कशीट्स(1);

// किताब को बंद करें
किताब . बंद करें (0);

// एक्सेल और फ्री मेमोरी बंद करें
एक्सेल . छोड़ना();
एक्सेल = 0;

// -- विकल्प 2 --

// खुली किताब
किताब = गेटकॉमऑब्जेक्ट ( फ़ाइल का पथ);
// वांछित शीट पर पोजिशनिंग
चादर = किताब। वर्कशीट्स(1);

// सेल का मान पढ़ें, यह आमतौर पर सेल बायपास लूप स्थित होता है
सेलवैल्यू = शीट. सेल (पंक्ति संख्या, कॉलम संख्या)। मूल्य;

// किताब को बंद करें
किताब . आवेदन पत्र। क्वीटी();

के लिये उपमार्गएक्सेल शीट की सभी भरी हुई पंक्तियाँ, आप निम्नलिखित तरकीबों का उपयोग कर सकते हैं:

// -- विकल्प 1 --
पंक्तियों की संख्या = शीट। कोशिकाएं(1 , 1 )। स्पेशल सेल(11)। पंक्ति;
RowNumber के लिए = 1 पंक्तियों की संख्या से लूप
सेलवैल्यू = शीट. सेल (पंक्ति संख्या, कॉलम संख्या)। मूल्य;
अंतचक्र;

// -- विकल्प 2 --
लाइननंबर = 0;
जबकि ट्रू लूप
लाइननंबर = लाइननंबर + 1;
सेलवैल्यू = शीट. सेल (पंक्ति संख्या, कॉलम संख्या)। मूल्य;
यदि वैल्यूफिल्ड नहीं है (सेलवैल्यू) फिर
निरस्त करना;
अगर अंत;
अंतचक्र;

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

कुल कॉलम = शीट। कोशिकाएं(1 , 1 )। स्पेशल सेल(11)। कॉलम;
कुल पंक्तियाँ = शीट। कोशिकाएं(1 , 1 )। स्पेशल सेल(11)। पंक्ति;

क्षेत्र = शीट। रेंज (शीट। सेल (1, 1), सूची। सेल (कुल पंक्तियाँ, कुल कॉलम));
जानकारी = क्षेत्र। मूल्य। अनलोड();

नीचे दी गई तालिका ओएलई के माध्यम से एक्सेल के साथ काम करने के लिए सबसे अधिक अनुरोधित गुणों और विधियों को सूचीबद्ध करती है:

गतिविधि कोड टिप्पणी
आवेदन के साथ काम करना
एप्लिकेशन विंडो दृश्यता सेट करना एक्सेल . दृश्यमान= झूठा;
चेतावनी प्रदर्शन मोड सेट करना (डिस्प्ले/डिस्प्ले नहीं) एक्सेल . प्रदर्शन अलर्ट= झूठा;
आवेदन बंद करना एक्सेल . छोड़ना();
एक किताब के साथ काम करना
एक नई किताब बनाएं किताब = एक्सेल। कार्यपुस्तिकाएं जोड़ें();
मौजूदा कार्यपुस्तिका खोलना किताब = एक्सेल। कार्यपुस्तिकाएं खोलें(फ़ाइलनाम);
एक किताब सहेजा जा रहा है किताब . SaveAs(फ़ाइलनाम);
किताब बंद करना किताब . बंद करें (0);
एक शीट के साथ काम करना
वर्तमान शीट सेट करना चादर = किताब। कार्यपत्रक(पत्रक संख्या);
नाम सेटिंग चादर . नाम = नाम;
सुरक्षा सेट करना चादर . रक्षा करना();
सुरक्षा हटाना चादर . असुरक्षित();
पेज ओरिएंटेशन सेट करना चादर . पृष्ठ सेटअप। अभिविन्यास = 2; 1 - पोर्ट्रेट, 2 - लैंडस्केप
बाईं सीमा सेट करना चादर . पृष्ठ सेटअप। लेफ्टमार्जिन = एक्सेल। सेंटीमीटर ToPoints(सेंटीमीटर);
ऊपरी सीमा निर्धारित करना चादर . पृष्ठ सेटअप। टॉपमार्जिन = एक्सेल। सेंटीमीटर ToPoints(सेंटीमीटर);
सही सीमा निर्धारित करना चादर . पृष्ठ सेटअप। राइट मार्जिन = एक्सेल। सेंटीमीटर ToPoints(सेंटीमीटर);
निचली सीमा निर्धारित करना चादर . पृष्ठ सेटअप। बॉटममार्जिन = एक्सेल। सेंटीमीटर ToPoints(सेंटीमीटर);
पंक्तियों, स्तंभों, कोशिकाओं के साथ कार्य करना
कॉलम की चौड़ाई निर्धारित करना चादर . कॉलम (कॉलम नंबर)। कॉलमविड्थ = चौड़ाई;
एक लाइन हटा रहा है चादर . पंक्तियाँ (पंक्ति संख्या)। मिटाना();
एक कॉलम हटाना चादर . कॉलम (कॉलम नंबर)। मिटाना();
सेल हटाना चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। मिटाना();
मान सेट करना चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। मूल्य = मूल्य;
कोशिकाओं को मिलाना चादर . रेंज (शीट। सेल (RowNumber, ColumnNumber), शीट। सेल (RowNumber1, ColumnNumber1))। मर्ज();
फ़ॉन्ट स्थापित करना चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। फ़ॉन्ट। नाम = फ़ॉन्टनाम;
फ़ॉन्ट आकार सेट करना चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। फ़ॉन्ट। आकार = फ़ॉन्ट आकार;
बोल्ड फॉन्ट सेटिंग चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। फ़ॉन्ट। साहसिक = 1 ; 1 - बोल्ड, 0 - सामान्य
इटैलिक सेट करना चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। फ़ॉन्ट। तिरछा = 1 ; 1 - इटैलिक, 0 - सामान्य
एक रेखांकित फ़ॉन्ट सेट करना चादर . सेल (पंक्ति संख्या, कॉलम संख्या)। फ़ॉन्ट। रेखांकन = 2 ; 2 - रेखांकित, 1 - नहीं

यह पता लगाने के लिए कि किस संपत्ति को बदलना है या किस विधि को कॉल करना है, आप इसका उपयोग कर सकते हैं मैक्रोएक्सेल। यदि आप आवश्यक क्रियाओं के साथ मैक्रो रिकॉर्ड करते हैं, तो आप रिकॉर्ड किए गए मैक्रो के वीबीए में प्रोग्राम कोड देख सकते हैं।

COMSafeArray का उपयोग करना

1C से एक्सेल में बड़ी मात्रा में डेटा अनलोड करते समय, आप ऑब्जेक्ट का उपयोग गति बढ़ाने के लिए कर सकते हैं कॉमसेफएरे. जैसा कि वाक्य रचना सहायक द्वारा परिभाषित किया गया है, COMSafeArray एक बहुआयामी सरणी पर एक वस्तु आवरण है सुरक्षित सरणीकॉम से। आपको COM ऑब्जेक्ट्स के बीच डेटा का आदान-प्रदान करने के लिए SafeArray बनाने और उपयोग करने की अनुमति देता है। सीधे शब्दों में कहें, यह मूल्यों की एक सरणी है जिसका उपयोग ओएलई तकनीक का उपयोग करके अनुप्रयोगों के बीच आदान-प्रदान करने के लिए किया जा सकता है।

// COMSafeArray बनाएँ
ArrayCom = नया COMSafeArray ("VT_Variant", TotalColumns, TotalRows);
// COMSafeArray को पॉप्युलेट करें
के लिये Str = 0 कुल पंक्तियाँ - 1 लूप
के लिये गणना = 0 कुल कॉलम - 1 चक्र
ऐरेकॉम . सेटवैल्यू (संख्या, स्ट्र, मान);
अंतचक्र;
अंतचक्र;
// COMSafeArray से एक्सेल शीट एरिया वैल्यू असाइन करना
चादर . रेंज (शीट। सेल (1, 1), सूची। सेल (कुल पंक्तियाँ, कुल कॉलम))। मान = ऐरेकॉम;

एडीओ . के माध्यम से एक्सचेंज

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

एडीओ के माध्यम से एक्सचेंज ओएलई के माध्यम से एक्सचेंज की तुलना में काफी तेज है, लेकिन अनलोडिंग करते समय, कोशिकाओं को सजाने, पृष्ठों को चिह्नित करने, सूत्र सेट करने आदि के लिए एक्सेल कार्यक्षमता का उपयोग करने का कोई तरीका नहीं है।

उदाहरण उतराई:


कनेक्शन = नया COMObject ("ADODB.Connection");


मिश्रण . कनेक्शनस्ट्रिंग = "

|डेटासोर्स=" + फ़ाइल नाम + ";
;
मिश्रण . खोलना(); // खुला कनेक्शन

// कमांड के लिए एक COM ऑब्जेक्ट बनाएं
कमांड = नया COMObject ("ADODB.Command");
टीम

// टेबल बनाने के लिए कमांड टेक्स्ट असाइन करें
टीम . कमांडटेक्स्ट= "तालिका बनाएं [शीट 1] (कॉलम 1 चार (255), कॉलम 2 तिथि, कॉलम 3 इंट, कॉलम 4 फ्लोट)";
टीम . निष्पादित(); // कमांड निष्पादन

// तालिका पंक्ति जोड़ने के लिए कमांड टेक्स्ट असाइन करना
टीम . कमांडटेक्स्ट= "इन्सर्ट इन [शीट 1] (कॉलम 1, कॉलम 2, कॉलम 3, कॉलम 4) मान ('abvgdeo', '8/11/2017', '12345', '12345,6789')";
कमांड। निष्पादित करें (); // कमांड निष्पादन

// कमांड को हटाना और कनेक्शन बंद करना
आदेश = अपरिभाषित;
मिश्रण . बंद करना();
कनेक्शन = अपरिभाषित;

एक नई शीट बनाने और उसकी संरचना बनाने के लिए, आप वस्तुओं का उपयोग कर सकते हैं ADOX.कैटलॉगतथा ADOX.तालिका. इस मामले में, कोड इस तरह दिखेगा:

// पुस्तक के साथ काम करने के लिए एक COM ऑब्जेक्ट बनाएं
किताब = नया COMObject ("ADOX.Catalog");
किताब . सक्रिय कनेक्शन = कनेक्शन;

// शीट पर डेटा संरचना के साथ काम करने के लिए एक COM ऑब्जेक्ट बनाएं
तालिका = नया COMObject ("ADOX.Table");
मेज . नाम = "शीट 1";
मेज . कॉलम। एपेंड ("कॉलम 1", 202);
मेज . कॉलम। एपेंड ("कॉलम 2", 7);
मेज . कॉलम। एपेंड ("कॉलम 3", 5);
मेज . कॉलम। एपेंड ("कॉलम 4", 5);

// वर्णित संरचना के साथ पुस्तक में एक शीट बनाएं
किताब . टेबल। संलग्न करें (तालिका);
तालिका = अपरिभाषित;
किताब = अपरिभाषित;

उपरोक्त उदाहरण में, विधि में

मेज . कॉलम। संलग्न("कॉलम 1", 202);

दूसरा पैरामीटर कॉलम प्रकार निर्दिष्ट करता है। पैरामीटर वैकल्पिक है, यहां कुछ स्तंभ प्रकार मान दिए गए हैं:

  • 5-एड डबल;
  • 6 - विज्ञापन मुद्रा;
  • 7 - दिनांक;
  • 11 - एडबूलियन;
  • 202 - एडवरडब्ल्यूचर;
  • 203-adLongVarWChar.

उदाहरण पढ़ना:

// कनेक्शन के लिए एक COM ऑब्जेक्ट बनाएं
कनेक्शन = नया COMObject ("ADODB.Connection");

// कनेक्शन स्ट्रिंग सेट करें
मिश्रण . कनेक्शनस्ट्रिंग = "
|प्रदाता=Microsoft.ACE.OLEDB.12.0;
|डेटासोर्स=" + फ़ाइल नाम + ";
|विस्तारित गुण = ""एक्सेल 12.0 एक्सएमएल; एचडीआर = हाँ"";";
मिश्रण . खोलना(); // खुला कनेक्शन

// चयन प्राप्त करने के लिए एक COM ऑब्जेक्ट बनाएं
चयन = नया COMObject ("ADODB.Recordset");
अनुरोध पाठ = "चुनें * [पत्रक1$] से";

// अनुरोध निष्पादित करें
नमूना . ओपन (क्वेरीटेक्स्ट, कनेक्शन);

// चयन के परिणाम को बायपास करें
जबकि नमूना नहीं। ईओएफ () लूप
ColumnValue1 = चयन। खेत। आइटम ("कॉलम 1")। मूल्य ; // कॉलम नाम से संदर्भित
कॉलम 2 मान = चयन। खेत। मद (0)। मूल्य; // कॉलम इंडेक्स द्वारा पुनर्प्राप्त करें
नमूना . मूवनेक्स्ट ();
अंतचक्र;

नमूना . बंद करना();
नमूना = अपरिभाषित;
मिश्रण . बंद करना();
कनेक्शन = अपरिभाषित;

कनेक्शन स्ट्रिंग में, पैरामीटर एचडीआरनिर्धारित करता है कि शीट पर पहली पंक्ति को कैसे माना जाएगा। संभावित विकल्प:

  • हाँ - पहली पंक्ति को स्तंभों के नाम के रूप में माना जाता है। मानों को नाम और कॉलम इंडेक्स द्वारा एक्सेस किया जा सकता है।
  • नहीं - पहली पंक्ति को डेटा के रूप में लिया जाता है। मानों को केवल कॉलम इंडेक्स द्वारा ही एक्सेस किया जा सकता है।

दिए गए उदाहरणों में, केवल कुछ ADO ऑब्जेक्ट्स पर विचार किया जाता है। ADO ऑब्जेक्ट मॉडल में निम्नलिखित ऑब्जेक्ट होते हैं:

  • कनेक्शन;
  • आज्ञा;
  • रिकॉर्डसेट;
  • अभिलेख;
  • खेत;
  • धारा;
  • त्रुटियां;
  • पैरामीटर;
  • गुण।

प्रोग्रामिंग के बिना अपलोड करें

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

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

खुलने वाली विंडो में, आपको सहेजी गई फ़ाइल की निर्देशिका, नाम और प्रारूप का चयन करना होगा।

डेटा बचाने के लिए गतिशील सूचियाँ(उदाहरण के लिए, एक आइटम सूची) आपको यह करना होगा:

  1. कमांड का उपयोग करके स्प्रेडशीट में डेटा आउटपुट करें अधिक सूची दिखाएं...;
  2. स्प्रेडशीट दस्तावेज़ को आवश्यक प्रारूप में सहेजें।