बट्टे खाते में डालते समय ऋणात्मक शेषों का नियंत्रण। अनुरोध द्वारा दस्तावेज़ डेटा प्राप्त करना और शेष राशि पंजीकृत करना

प्रसंस्करण एक निर्दिष्ट तिथि के अनुसार किसी विशिष्ट संगठन के लिए चयनित इन्वेंट्री खातों पर नकारात्मक मात्रा शेष को समाप्त कर देता है।

मान लीजिए कि हमारे डेटाबेस में नामकरण (रिपोर्ट में "लालिमा") को ध्यान में रखने में समस्या है:

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

हम देखते हैं कि दो पोस्टिंग दस्तावेज़ बनाए गए हैं (बस रिकॉर्ड किए गए हैं); उन्हें पोस्ट करने के लिए, आपको एक ही नाम के बटन पर क्लिक करना होगा।

दूसरे टैब पर हम त्रुटियों की एक तालिका देखते हैं - ये "नुकसान" हैं जिन्हें साधारण पोस्टिंग द्वारा हटाया नहीं जा सकता है। पहली पंक्ति में हम बिना योग के एक मात्रा देखते हैं, और दूसरी पंक्ति में मात्रा ऋणात्मक है और योग धनात्मक है। यदि पोस्टिंग में ऐसी पंक्तियाँ जोड़ी जाती हैं, तो दस्तावेज़ पोस्ट नहीं किया जाएगा।

ऐसे मामलों के लिए एकमात्र विकल्प मैन्युअल ऑपरेशन बनाना है:

परिणामस्वरूप, निम्नलिखित लेखांकन प्रमाणपत्र बनाया जाता है:

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

रोजमर्रा के काम में, एक अकाउंटेंट को अक्सर सामान भेजने की आवश्यकता होती है, भले ही सामान अभी तक स्टॉक में न हो। ऐसे मामलों में 1C 8.3 अकाउंटिंग 3.0 प्रोग्राम में कार्यान्वयन कुछ सेटिंग्स के साथ संभव है। लेकिन ध्यान रखें कि माल की कीमत लेखांकन में नहीं लिखी जाएगी। ऐसी बिक्री के लिए, दोबारा लेन-देन की आवश्यकता होगी; यह माल गोदाम में पहुंचने के बाद किया जाना चाहिए और लेखाकार इसे लेखांकन में दर्शाएगा। यहां पढ़ें 1सी 8.3 में इन्वेंट्री आइटम के लेखांकन के बारे में चरण-दर-चरण निर्देश. इसके बाद, 1सी 8.3 लेखांकन में नकारात्मक शेष को नियंत्रित करने के बारे में निर्देश पढ़ें।

बुकसॉफ्ट को लेखांकन का त्वरित हस्तांतरण

चरण 1. 1सी 8.3 में संतुलन नियंत्रण को कैसे अक्षम करें

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

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

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

यदि आपने शेष राशि के अभाव में राइट-ऑफ़ अनुमतियाँ सक्षम की हैं, तो आपको यह नियंत्रित करने की आवश्यकता है कि कोई नकारात्मक शेष न हो। यदि वे हैं, तो कारण ये हो सकते हैं:

  1. आपने आपूर्तिकर्ता से माल की प्राप्ति रिकॉर्ड नहीं की;
  2. आपने आपूर्तिकर्ता से माल की प्राप्ति को त्रुटियों के साथ दर्शाया है;
  3. बिक्री दस्तावेज़ उत्पाद को गलत तरीके से दर्शाते हैं।

1सी 8.3 में ऋणात्मक शेषों की पहचान करने के लिए एक विशेष रिपोर्ट है, इसके बारे में अगले चरण में।

चरण 2. 1सी 8.3 में ऋणात्मक शेषों को कहाँ देखें

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

1C 8.3 में नकारात्मक संतुलन को एक विशेष रिपोर्ट - "नकारात्मक संतुलन का नियंत्रण" का उपयोग करके नियंत्रित किया जाता है। इसे बनाने के लिए, "वेयरहाउस" अनुभाग (1) पर जाएं और "नकारात्मक शेष राशि का नियंत्रण" लिंक (2) पर क्लिक करें। रिपोर्ट विंडो खुल जाएगी.

रिपोर्ट विंडो में, अपने संगठन (3) और अवधि (4) को इंगित करें जिसके लिए आप नकारात्मक शेष देखना चाहते हैं। इसके बाद, "जेनरेट" बटन (5) पर क्लिक करें। रिपोर्ट तैयार की जाएगी.

रिपोर्ट में कहा गया है:

  • भौतिक संपत्ति (6), जिसके लिए नकारात्मक शेष हैं;
  • ऐसे अवशेषों की संख्या (7);
  • खाता (8), जिसमें नकारात्मक शेष दर्ज किए गए थे;
  • एक बिक्री दस्तावेज़ जो बिना किसी शेष राशि के पोस्ट किया गया था (9);
  • इन्वेंट्री का प्रारंभिक संतुलन (10);
  • निर्दिष्ट बिक्री के लिए इन्वेंट्री आइटम (11) की खपत।

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

यह लेख 1C कार्यान्वयनकर्ताओं के लिए है - और विशेष रूप से उन लोगों के लिए जो 1C प्रमाणन: प्लेटफ़ॉर्म विशेषज्ञ की तैयारी कर रहे हैं।

आज हम देखेंगे शेष राशि को नियंत्रित करने के 2 तरीके - न केवल गोदाम में शेष राशि, बल्कि, उदाहरण के लिए, आपसी निपटान भी ("ग्राहक का वर्तमान ऋण क्या है और क्या उसे माल भेजना संभव है?")

दोनों विधियों का उपयोग मानक कॉन्फ़िगरेशन और प्रमाणन कार्यों में किया जाता है। और चूँकि उनमें से दो हैं - आपको यह स्पष्ट रूप से समझने की आवश्यकता है कि कब "नई" तकनीक लागू होती है, और कब केवल "पुरानी" तकनीक लागू होती है.

यह 1सी प्रोग्रामर्स के लिए बुनियादी ज्ञान है, हम ऐसे क्षेत्रों में कोई कमी न छोड़ने की सलाह देते हैं। इसे आपको अध्ययन के लिए ले जाना चाहिए 15 मिनटों :)

समस्या का विधान

आइए "माल की प्राप्ति" और "माल की बिक्री" दस्तावेज़ों के साथ एक सरल कॉन्फ़िगरेशन लें:

शेष राशि का हिसाब रखने के लिए, संचय रजिस्टर "निःशुल्क शेष" का उपयोग किया जाता है:

दस्तावेज़ "माल की प्राप्ति" पोस्ट करते समय निम्नलिखित गतिविधियाँ की जाती हैं:

प्रसंस्करण प्रक्रिया (विफलता, मोड)


उत्पाद चक्र से प्रत्येक टेकस्ट्रिंग उत्पाद के लिए
मूवमेंट = मूवमेंट.फ्रीरेमेन्स.एड();
मूवमेंट.मूवमेंटटाइप = संचयमूवमेंटटाइप.इनकमिंग;
आंदोलन.अवधि = दिनांक;
आंदोलन.नामपद्धति = TechStringProducts.नामपद्धति;
मूवमेंट.मात्रा = TechStringProducts.मात्रा;
अंतचक्र;

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

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

कभी-कभी "माल की प्राप्ति" दस्तावेज़ के लिए संतुलन नियंत्रण भी लागू किया जाता है - ताकि जब दस्तावेज़ रद्द किया जाए या दोबारा पोस्ट किया जाए, तो नकारात्मक संतुलन न बने।

उदाहरण के लिए, 10 नए एलजी टीवी गोदाम में पहुंचे, उनमें से 6 बिक गए। यदि रसीद दस्तावेज़ में 10 टुकड़े हैं। 5 पीसी से ठीक करें। - एक नकारात्मक संतुलन "माइनस 1 पीस" बनता है।

मानक यूटी 11 में, इस तरह के नियंत्रण को कार्यात्मक विकल्प "रसीदें रद्द करते समय संगठनों के सामान को नियंत्रित करें" का उपयोग करके सक्षम किया जाता है।

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

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

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

स्वाभाविक रूप से, आप उन्हें स्वयं अनुकूलित कर सकते हैं, या 1सी के त्वरण और अनुकूलन पर हमारा पाठ्यक्रम ले सकते हैं :)

जैसा कि आप पहले ही समझ चुके हैं, समस्या का समाधान दो तरीकों से किया जा सकता है। आइए एक ऐसी तकनीक से शुरुआत करें जिसका उपयोग 1C:Enterprise 8.0 के दिनों से किया जा रहा है।

अवशेष नियंत्रण की पुरानी विधि

पुरानी अवशेष नियंत्रण तकनीक का सिद्धांत इस प्रकार है: हम जाँच करते हैं कि आवश्यक मात्रा में माल शेष है या नहीं। यदि है, तो हम इसे लिख देते हैं, यदि नहीं, तो हम त्रुटि की रिपोर्ट करते हैं।.

पुरानी पद्धति के एल्गोरिदम में कई ब्लॉक होते हैं:

  1. अनुरोध उत्पाद शेष और दस्तावेज़ डेटा पुनर्प्राप्त करता है
  2. चक्र वस्तुओं की पर्याप्तता की निगरानी करता है
  3. यदि पर्याप्त सामान नहीं है, तो दस्तावेज़ पोस्ट नहीं किया जाता है
  4. यदि पर्याप्त वस्तुएं हैं, तो उपभोग गतिविधियां की जाती हैं

प्रोग्राम कोड इस प्रकार दिखता है:

// 1. पुराने रजिस्टर आंदोलनों को साफ़ करना
आंदोलन.मुक्तशेष.लिखें = सत्य;
आंदोलन.रिकॉर्ड();

// 2. अनुरोध द्वारा दस्तावेज़ डेटा प्राप्त करना और शेष राशि पंजीकृत करना
अनुरोध = नया अनुरोध;
अनुरोध.पाठ=
"चुनना

|स्थान उत्पाद
|से
|कहां
| उत्पाद.लिंक = &लिंक
|समूह द्वारा
| उत्पाद.नामपद्धति
|इंडेक्स बाय
| नामपद्धति
|;

|चुनें
,
| प्रतिनिधित्वलिंक(उत्पाद.नामपद्धति) नामकरणप्रतिनिधित्व के रूप में,
| उत्पाद.मात्रा मात्रा के रूप में,
| ISNULL(शेष.संख्याशेष, 0) शेष के रूप में
|से
| उत्पाद के रूप में उत्पाद
| बाएँ शामिल हों रजिस्टरसंचय.मुक्तशेष.अवशेष(
| &समय का क्षण,
| नामकरण बी
| (चुनना
| उत्पाद.नामपद्धति नामकरण के रूप में
| से
| सॉफ़्टवेयर उत्पाद.नामपद्धति = शेष.नामपद्धति";
Request.SetParameter('TimePoint', TimePoint());

// 3. ट्रैवर्सिंग क्वेरी परिणाम

// 4. माल की पर्याप्तता की जाँच करना
घाटा = नमूना उत्पाद। मात्रा - नमूना उत्पाद। शेष;
यदि घाटा>0 है तो
इनकार = सच;
Message.Text = "Product "+SelectionProducts.NomenclaturePresentation+" मात्रा में पर्याप्त नहीं है "+Shortage+" pcs";
संदेश.संदेश();
अंतयदि;

// 5. यदि त्रुटियाँ हों तो लूप की शुरुआत में जाएँ
यदि असफलता हुई तो
जारी रखना;
अंतयदि;

// 6. रजिस्टरों में हरकतें करना
आंदोलन.अवधि = दिनांक;

अंतचक्र;

// 7. लेन-देन के अंत में गतिविधियों को रिकॉर्ड करने के लिए ध्वज सेट करना
आंदोलन.मुक्तशेष.लिखें = सत्य;

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

आइए एल्गोरिथम के मुख्य बिंदुओं पर टिप्पणी करें।

1. पुराने रजिस्टर की गतिविधियों को साफ़ करना

नीचे एल्गोरिदम में रजिस्टर के शेष भाग के लिए एक अनुरोध होगा।

यदि वर्तमान दस्तावेज़ पहले पोस्ट किया गया था, तो वहाँ है अनुरोध में पुराने दस्तावेज़ संचलन प्राप्त करने की संभावना- यह एक गंभीर समस्या है।

ऐसी स्थिति कब संभव है? दस्तावेज़ की तारीख कब है आगे बढ़ता है.

आइए एक उदाहरण से दिखाएं कि इससे क्या होगा:

  1. शेष टेबल लैंप 10 पीसी।
  2. दिनांक 02/16/17 का दस्तावेज़ संसाधित किया जा रहा है, हम 6 लैंप बट्टे खाते में डाल रहे हैं
  3. दस्तावेज़ में तारीख बदलकर 02/17/17 कर दी गई है (तारीख को कम से कम 1 सेकंड आगे बढ़ाया जा सकता है), आइए दस्तावेज़ को दोबारा पोस्ट करें।

यदि आप गतिविधियों को स्पष्ट नहीं करते हैं, तो सिस्टम 2 टुकड़ों की कमी की रिपोर्ट करेगा। क्यों? हाँ, क्योंकि पुराने दस्तावेज़ आंदोलनों ने 10 मौजूदा लैंपों में से 6 को ख़त्म कर दिया। इसके बाद, सिस्टम 6 और टुकड़ों को बट्टे खाते में डालने की कोशिश करता है, लेकिन केवल 4 बचे हैं।

समस्या को कोड की 3 पंक्तियों में हल किया गया है:

  • रिकॉर्डसेट साफ़ किया जा रहा है (हो सकता है कि इसे फ़ॉर्म पर या पिछले हैंडलर में पढ़ा गया हो)
  • रिकॉर्ड सेट में "लिखें" ध्वज सेट है
  • "रिकॉर्ड" ध्वज सेट वाले सभी सेट रिकॉर्ड किए जाते हैं।

कड़ाई से बोलते हुए, हम दस्तावेज़ पोस्ट करते समय आंदोलनों की सफाई को नियंत्रित कर सकते हैं:

निष्पादन को रद्द करते समय आंदोलनों को हटाने का विकल्प अनुशंसित है - हम स्वयं नियंत्रित करते हैं कि वास्तव में आंदोलनों को हटाना कब आवश्यक है।

2. दस्तावेज़ डेटा प्राप्त करना और अनुरोध द्वारा शेष राशि पंजीकृत करना

अनुरोध में दो पैकेज शामिल हैं:

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

इस अनुरोध में आपको किन बातों पर ध्यान देना चाहिए:

  1. एक अस्थायी तालिका बनाते समय, जिस फ़ील्ड पर जुड़ाव किया जाएगा उसे अनुक्रमित किया जाता है - यह इष्टतम प्रदर्शन के लिए किया जाता है
  2. शेष राशि की प्राप्ति का क्षण - समय अक्ष पर दस्तावेज़ की स्थिति से मेल खाता है
  3. रजिस्टर में कोई अवशेष नहीं हो सकता है - इसलिए, एक बायां जुड़ाव किया जाता है और "मात्रा" संसाधन के लिए "ECTNULL" फ़ंक्शन का उपयोग किया जाता है - NULL मान शून्य हो जाता है।

3. क्वेरी परिणामों को दरकिनार करना

विकसित अनुरोध में आइटम आइटम द्वारा समूहीकृत दस्तावेज़ डेटा और शेष शामिल हैं।

एक लूप में हम इस अनुरोध के परिणाम पर गौर करते हैं।

4. माल की पर्याप्तता की जाँच करें

हम माल की कमी का निर्धारण करते हैं।

यदि घाटा शून्य से अधिक है, तो इसका मतलब है कि वस्तुओं की कमी है:

  • हम एक निदान संदेश जारी करते हैं
  • पोस्टिंग प्रोसेसिंग के लिए "अस्वीकार" पैरामीटर को "सही" पर सेट करें

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

5. यदि त्रुटियाँ हों तो चक्र की शुरुआत में जाएँ

यदि चक्र के इस या पिछले चरणों में त्रुटियाँ थीं (विफलता = सत्य), तो आंदोलन बनाने का कोई मतलब नहीं है। फिर भी, उन्हें डेटाबेस में दर्ज नहीं किया जाएगा।

6. रजिस्टरों में हरकतें करना

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

7. लेन-देन के अंत में मोशन रिकॉर्डिंग फ़्लैग सेट करना

यदि यह ध्वज सेट नहीं किया गया है, तो गतिविधियों को रिकॉर्ड नहीं किया जाएगा।

दस्तावेज़ पोस्टिंग लेनदेन के अंत में, रिकॉर्ड के केवल वे सेट लिखे जाते हैं जिनमें "लिखें" ध्वज सेट होता है।

निष्पक्षता के लिए, हम ध्यान दें कि रिकॉर्ड के एक सेट की "रिकॉर्ड" संपत्ति को सेट करना एक शर्त के तहत समझ में आता है - दस्तावेज़ संपत्ति "निष्पादन के दौरान रिकॉर्ड आंदोलनों" में मान "रिकॉर्ड चयनित" निर्दिष्ट किया जाना चाहिए:

हालाँकि, यह "रिकॉर्ड चयनित" मान है जो वास्तविक मानक है:

  • इसका उपयोग मानक समाधानों में किया जाता है
  • नए दस्तावेज़ बनाते समय डिफ़ॉल्ट रूप से सेट करें।

संपत्ति का एक और मूल्य - "संशोधित लिखें" - अप्रचलित है और व्यावहारिक रूप से आधुनिक कॉन्फ़िगरेशन में नहीं होता है।

अवशेष नियंत्रण की नई विधि

नई विधि इस सिद्धांत का उपयोग करती है: हम आवश्यक वस्तुओं को बट्टे खाते में डाल देते हैं, फिर जांच करते हैं कि क्या दस्तावेज़ के सामान के लिए नकारात्मक संतुलन बनाया गया है। यदि हाँ, तो आपको दस्तावेज़ को वापस रोल करना होगा।

जैसा कि आप देख सकते हैं, संतुलन के नियंत्रण के क्षण में एक बुनियादी अंतर है:

  • पुरानी पद्धति यह है कि पहले शेष राशि की जांच करें, फिर उसे बट्टे खाते में डाल दें
  • नई तकनीक - पहले हम बट्टे खाते में डालते हैं, फिर शेष राशि की जाँच करते हैं।

परिणामस्वरूप, प्रोग्राम कोड इस तरह दिखेगा:

प्रसंस्करण प्रक्रिया (विफलता, मोड)

// 1. अनुरोध द्वारा दस्तावेज़ डेटा प्राप्त करना
अनुरोध = नया अनुरोध;
Query.TemporaryTableManager = NewTemporaryTableManager;
अनुरोध.पाठ=
"चुनना
| उत्पाद.नामपद्धति नामकरण के रूप में,
| योग(आइटम मात्रा) मात्रा के रूप में
|स्थान उत्पाद
|से
| दस्तावेज़। माल और सेवाओं की बिक्री
|कहां
| उत्पाद.लिंक = &लिंक
|समूह द्वारा
| उत्पाद.नामपद्धति
|इंडेक्स बाय
| नामपद्धति
|;
|////////////////////////////////////////////////////////////////////////////////
|चुनें
| उत्पाद.नामपद्धति नामकरण के रूप में,
| उत्पाद.मात्रा मात्रा के रूप में
|से
| उत्पाद के रूप में उत्पाद";
Request.SetParameter("लिंक", लिंक);
RequestResult = Request.Execute();

// 2. आंदोलनों का गठन - खपत रजिस्टर करें
मूवमेंट्स.फ्रीरेमेन्स.क्लियर();
चयन उत्पाद = क्वेरी परिणाम. चयन करें();
जबकि SelectProducts.Next() लूप
आंदोलन = आंदोलन.नि:शुल्क शेष.व्यय जोड़ें();
आंदोलन.अवधि = दिनांक;
आंदोलन.नामपद्धति = चयनउत्पाद.नामपद्धति;
संचलन.मात्रा = नमूना उत्पाद.मात्रा;
अंतचक्र;

// 3. डेटाबेस में गतिविधियों को रिकॉर्ड करना
आंदोलन.मुक्तशेष.लिखें = सत्य;
आंदोलन.रिकॉर्ड();

// 4. क्वेरी जो रजिस्टर से नकारात्मक शेष प्राप्त करती है
अनुरोध.पाठ=
"चुनना
| नामकरण के रूप में नामकरण,
| निरूपणलिंक(अवशेष.नामपद्धति) नामकरणप्रतिनिधित्व के रूप में,
| -शेष.मात्रा घाटे के रूप में शेष
|से
| रजिस्टरसंचय.निःशुल्कशेष.शेष(
| &समय का क्षण,
| नामकरण बी
| (चुनना
| उत्पाद.नामपद्धति नामकरण के रूप में
| से
| उत्पाद के रूप में उत्पाद)) बचे हुए के रूप में
|कहां
| शेष.मात्राशेष< 0";

नियंत्रण सीमा = नई सीमा(टाइमप्वाइंट(), बॉर्डरव्यू.सहित);
Request.SetParameter('TimePoint', नियंत्रण सीमा);
RequestResult = Request.Execute();

// 5. माल की कमी के बारे में संदेश प्रदर्शित करना
यदि QueryResult.Empty() नहीं है तो
इनकार = सच;
ErrorSelect = QueryResult.Select();
जबकि SetErrors.Next() लूप
संदेश = नया MessageToUser;
Message.Text = "उत्पाद "+SampleErrors.NomenclaturePresentation+" मात्रा में पर्याप्त नहीं है "+SampleErrors.Deficiency+" pcs";
संदेश.संदेश();
अंतचक्र;
अंतयदि;

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

आइए एल्गोरिथम के मुख्य बिंदुओं पर नजर डालें।

1. अनुरोध द्वारा दस्तावेज़ डेटा प्राप्त करना

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

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

2. आंदोलनों का गठन - खपत रजिस्टर करें

चक्र में, दस्तावेज़ से डेटा रजिस्टर में लिखा जाता है - अर्थात, माल का बिना शर्त (सत्यापन के) बट्टे खाते में डाला जाता है।

3. डेटाबेस में गतिविधियों को रिकॉर्ड करना

रजिस्टर में शेष राशि बदलने के लिए, गतिविधियों को दर्ज किया जाना चाहिए।

4. रजिस्टर से नकारात्मक शेष प्राप्त करने वाली क्वेरी

अब, एक साधारण अनुरोध के साथ, हम दस्तावेज़ वस्तुओं के लिए नकारात्मक शेष का चयन करते हैं।

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

इस बात पर ध्यान दें कि समय का क्षण कैसे प्रसारित होता है - "सीमा" डेटा प्रकार का उपयोग किया जाता है। शेष शेष राशि वर्तमान दस्तावेज़ के तुरंत बाद एक समय पर प्राप्त होनी चाहिए।

क्या सीमा के बिना शेष राशि प्राप्त करना संभव था, उदाहरण के लिए, दस्तावेज़ की तारीख में 1 सेकंड जोड़कर?

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

5. माल की कमी के बारे में संदेश प्रदर्शित करना

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

नई विधि से अवशेष नियंत्रण के लाभ

तो, दोनों एल्गोरिदम एक ही समस्या का समाधान करते हैं।

एल्गोरिदम के बीच अंतर तो दिखाई देता है, लेकिन फायदे स्पष्ट नहीं हैं।

तो आइए उन पर प्रकाश डालें:

  1. पुराने दस्तावेज़ की गतिविधियों को साफ़ करने की कोई आवश्यकता नहीं है. मूलतः, यह डेटाबेस में गतिविधियों के एक खाली सेट को लिखने और मौजूदा गतिविधियों को हटाने का ऑपरेशन है - ये काफी संसाधन-गहन ऑपरेशन हैं
  2. एक क्वेरी जो नकारात्मक शेष पर डेटा पुनर्प्राप्त करती है वह केवल एक तालिका तक पहुंचती है - दस्तावेज़ डेटा के साथ बाईं ओर जुड़ने और "ISNULL()" फ़ंक्शन का उपयोग करने की कोई आवश्यकता नहीं है

इसके अलावा, व्यावसायिक प्रक्रियाओं के सामान्य पाठ्यक्रम के दौरान, उपयोगकर्ता एक मात्रा इंगित करता है जो गोदाम में शेष राशि से अधिक नहीं होती है।

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

क्या ये मिलीसेकंड सचमुच इतने महत्वपूर्ण हैं?

कम मात्रा में डेटा और उपयोगकर्ताओं वाले डेटाबेस पर, अंतर ध्यान देने योग्य नहीं होगा। लेकिन दर्जनों उपयोगकर्ताओं वाले व्यस्त सिस्टम में, प्रत्येक मिलीसेकंड की लागत अधिक होती है।

इसके अलावा, 1सी:प्लेटफ़ॉर्म स्पेशलिस्ट परीक्षा के दौरान, यदि कोई विशिष्ट कार्य इसकी अनुमति देता है, तो आपको निश्चित रूप से संतुलन को नियंत्रित करने की एक नई विधि का उपयोग करना चाहिए।

ठीक है, तो आपको हमेशा एक नई तकनीक का उपयोग करना चाहिए, है ना?

नहीं, यह सच नहीं है!

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

अर्थात्, डेटा प्राप्त करने के लिए, आपको उन रजिस्टरों तक पहुँचने की आवश्यकता नहीं है जो संतुलन को नियंत्रित करते हैं।

इसलिए, उदाहरण के लिए, यदि राशि को "मुक्त शेष" रजिस्टर में भी ध्यान में रखा गया था, तो पुरानी नियंत्रण पद्धति का उपयोग करना होगा।

वैसे, मानक "1C: व्यापार प्रबंधन 11" में संतुलन नियंत्रण एक नई पद्धति का उपयोग करके लागू किया जाता है, और "1C: लेखांकन 8" में - पुरानी पद्धति के अनुसार।

लेकिन इतना ही नहीं!

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

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

और शुरुआत के लिए, आइए बस यही कहें नई विधि में लॉक लगाना बहुत आसान है- और यह अवशेष नियंत्रण की नई पद्धति का एक और फायदा है।

परिणाम

आइए संक्षेप में संक्षेप करें।

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

तकनीकों के बीच मुख्य अंतरशेष राशि के नियंत्रण के समय:

  • पुरानी तकनीक - रजिस्टरों में गतिविधियों को दर्ज करने से पहले नियंत्रण
  • नई तकनीक - रजिस्टरों में गतिविधियों को दर्ज करने के बाद नियंत्रण

सामान्य तौर पर, नई तकनीक अधिक प्रभावी है, लेकिन यह हमेशा लागू नहीं होती है।

प्रयोज्यता मानदंड- यदि गतिविधियों को उत्पन्न करने के लिए नियंत्रित रजिस्टर से डेटा तक पहुंचने की कोई आवश्यकता नहीं है, तो एक नई तकनीक का उपयोग किया जा सकता है।

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

और अंत में, उदाहरण विशिष्ट विन्यास:

  • में यूटी 11वस्तुओं के लेखांकन के लिए 2 मुख्य रजिस्टर हैं: निःशुल्क शेष (मात्रा) और माल की लागत (लागत डेटा) - एक नई पद्धति का उपयोग किया जाता है
  • में बीपी 3.0लागत और शेष राशि पर डेटा एक लेखांकन रजिस्टर में संग्रहीत किया जाता है - शेष राशि को नियंत्रित करने की पुरानी पद्धति का उपयोग किया जाता है।

ऐसी दो प्रकार की स्थितियाँ हैं जिनमें संतुलन नियंत्रण स्थापित करना आवश्यक है।

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

यह स्थिति तब संभव है यदि संगठन ने अभी-अभी 1सी 8.3 में लेखांकन शुरू किया है या डेटा को समय पर कार्यक्रम में दर्ज नहीं किया गया है।

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

संतुलन नियंत्रण स्थापित करना

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

सभी प्रकार के दस्तावेजों में एक विशिष्ट संगठन और गोदाम के संदर्भ में शेष राशि को नियंत्रित किया जाता है: बिक्री, मांग चालान, आंदोलन इत्यादि, जहां वेयरहाउस एनालिटिक्स वाले खाते शामिल होते हैं।

महत्वपूर्ण! गोदाम स्तर पर शेष राशि को नियंत्रित करने के लिए, 1सी 8.3 में माल या सामग्री के खातों में गोदाम विश्लेषण स्थापित करना आवश्यक है।

इस प्रकार:

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

1सी 8.3 में संतुलन नियंत्रण को कैसे अक्षम करें

गुम सामान के साथ दस्तावेज़ पोस्ट करने पर प्रतिबंध हटाने के लिए, आपको प्रशासन अनुभाग में 1सी 8.3 प्रोग्राम की सेटिंग्स में जाना होगा - फिर दस्तावेज़ पोस्टिंग सेटिंग्स:

लेखांकन डेटा के अनुसार कोई शेष नहीं होने पर इन्वेंट्री को लिखने की अनुमति वाले बॉक्स को चेक करें:

गोदामों के संदर्भ में शेष राशि का नियंत्रण

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

नई विंडो में ध्वज सेट करें गोदामों द्वारा (भंडारण स्थान). यह चेकबॉक्स गोदामों के संदर्भ में शेष राशि के नियंत्रण को प्रभावित करेगा:

  • यदि चेकबॉक्स अनियंत्रित है, तो संतुलन नियंत्रण संगठन द्वारा किया जाता है;
  • यदि किसी संगठन और विशिष्ट गोदाम के संदर्भ में चेकबॉक्स चेक किया गया है:

1सी 8.3 में ऋणात्मक शेषों का नियंत्रण

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

प्रतिवेदन ऋणात्मक शेषों का नियंत्रण 1सी 8.3 में यह गोदाम अनुभाग में स्थित है - फिर नकारात्मक शेष का नियंत्रण:

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

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

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

वेबसाइट पर आप 1सी अकाउंटिंग 8.3 का कॉन्फ़िगरेशन देख सकते हैं।

1सी 8.2 (8.3) प्रोग्राम की स्थापना के बारे में अधिक विवरण शेष के अभाव में माल-सूची को बट्टे खाते में डालने पर रोकयह वित्तीय परिणामों को कैसे प्रभावित करता है, निम्न वीडियो देखें:


कृपया इस लेख को रेटिंग दें:

माल के साथ काम करने वाले किसी भी उद्यम में गोदाम शेष पर नियंत्रण एक अनिवार्य लेखांकन प्रक्रिया है। अक्सर आपको ऐसी स्थिति का सामना करना पड़ सकता है जहां कार्यक्रम में कोई उत्पाद नहीं है, लेकिन यह वास्तव में गोदाम में है। ऐसी स्थिति में, दो विकल्प हैं:

  • इसे बिक्री के लिए भेजें;
  • इस स्थिति की स्थिति स्पष्ट होने तक इसे गोदाम में छोड़ दें।

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

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

जब नियंत्रण सक्रिय होता है, तो कार्यक्रम के अनुसार जो सामान स्टॉक में नहीं हैं, उनकी बिक्री उपयोगकर्ता को चेतावनी देगी: "उत्पाद" सूची की पंक्ति 1 में "मात्रा" कॉलम गलत तरीके से भरा गया है। “संकेतित मात्रा शेष राशि से अधिक है। शेष: 18. गुम 111.093।”

1C में ऋणात्मक शेषों का नियंत्रण अक्षम करना

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

इसके बाद, कार्रवाई की पुष्टि "रिकॉर्ड और बंद करें" बटन से की जाती है। बदले में, ऐसी कार्रवाइयों को लेखांकन में नकारात्मक संतुलन के गठन का आधार बनने की गारंटी दी जाती है। उन्हें ख़त्म करना होगा.

रिपोर्ट "नकारात्मक शेष का नियंत्रण"

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

तैयार रिपोर्ट का स्वरूप इस प्रकार है।

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