1c المحاسبة 8.3 التحكم في الأرصدة السالبة. معلومات المحاسبة. استرداد بيانات المستند وتسجيل يبقى عن طريق الاستعلام


يساعد هذا التقرير في الحصول على معلومات موجزة أو مفصلة حول الأرصدة السلبية في 41 حسابًا في أي وقت. يتم عرض نتيجة التقرير بالتفاصيل الافتراضية (انظر الشكل 1)

لان تمت كتابة التقرير بالكامل باستخدام مخطط تكوين البيانات ، فلن يكون من الصعب على المستخدم تغيير أقسام التقرير من وضع المستخدم (انظر الشكل 2)

التقرير الخارجي مخصص للتكوين "1C: Enterprise Accounting 8 ، الإصدار 3.0" و "المراجعة 3.0 (CORP)"يعمل على إصدار النظام الأساسي 8.2 في وضع "التطبيق المدار".

فترة الدعم المجانية: شهر واحد.

أسباب الشراء

دائمًا ما تكون الأرصدة السلبية مصدر إزعاج لأي محاسب. وتؤدي الأرصدة السلبية في 41 حساباً إلى تفاقم هذا الوضع بشكل مضاعف. يظهر هذا التقرير بسرعة وبشكل واضح كل شيء "احمرار" لـ 41 حساباً بشكل ملائم ومرئي. و أنايمكن فك تشفير أي رصيد سلبي على 41 حسابًا باستخدام التقارير "تحليل فرعي" و "بطاقة الحساب". في الوقت نفسه ، من خلال الجمع بين استخدام هذه التقارير ، يمكن النزول مباشرة إلى مستوى مستندات المسجل التي تسببت في حركة البضائع. للقيام بذلك ، ما عليك سوى النقر فوق الرقم المطلوب في التقرير وتحديد التقرير لفك تشفيره.

وفقًا لرغبات المستخدمين العديدة ، تم إنشاء إصدار منفصل من تقرير "التحكم في الأرصدة السلبية في حسابات المخزون" ، حيث تمت إضافة القدرة على التحكم في الأرصدة السلبية ، ليس فقط لـ 41 حسابًا ، ولكن أيضًا للحسابات الرئيسية الأخرى حركة البضائع والمواد:

حساب 07 المعدات المراد تركيبها
- الحساب 08.04 اقتناء الأصول الثابتة
- مجموع النقاط 10 ، باستثناء 10.07 (المواد المنقولة للمعالجة إلى الجانب)
- الحساب 21 من المنتجات نصف المصنعة من انتاجها الخاص
- الحساب 41 الكل ، باستثناء 41.12 (البضائع في تجارة التجزئة (NTT بسعر البيع))
- الحساب 42.01 الهامش التجاري في المنافذ الآلية
- حساب 43 منتج منتهي

تذكر أيضًا أن الأرصدة السلبية يمكن أن تحدث ليس فقط في حسابات حركة البضائع والمواد ، ولكن أيضًا في حساب البيان الجمركي. إذا كنت بحاجة إلى التحكم في هذا الحساب أيضًا ، فننصحك بالتعرف على التقرير الخارجي

مزايا

  1. الاتصال من خلال آلية المعالجة الخارجية وإعداد التقارير. يتيح لك هذا استخدام التقرير دون إجراء أي تغييرات على التكوين الافتراضي. من الممكن أيضًا فتح تقرير قياسي عبر "ملف" -> "فتح".
  2. القدرة على تخصيص التقرير "لنفسك" من وضع المستخدم.

ضمان استعادة الاموال

تضمن لك Infostart LLC استرداد 100٪ إذا كان البرنامج لا يتوافق مع الوظيفة المعلنة من الوصف. يمكن إعادة الأموال بالكامل إذا أعلنت ذلك في غضون 14 يومًا من تاريخ استلام الأموال إلى حسابنا.

تم اختبار البرنامج في العمل بحيث يمكننا تقديم مثل هذا الضمان بثقة تامة. نريد أن يكون جميع عملائنا سعداء بعملية الشراء.

في المؤسسات التجارية أو الصناعية ، "تقفز" الأرصدة السالبة في المحاسبة في نظام المحاسبة. تعكس البضائع / المواد المشطوبة بشكل مفرط.

ما هي أسباب حدوثها؟

عدم وجود الرعية

غالبًا ما يكون السبب الأكثر شيوعًا هو عدم وجود استلام بضائع تم ترحيله أو إدخال أرصدة افتتاحية. على سبيل المثال ، لقد اشتريت منتجًا ، لكنك لم تتمكن بعد من نشره في النظام ، لكنك تمكنت بالفعل من بيعه. ويحدث - تم تقييد البضائع ، ثم نقلها إلى المتجر وبيعها ، لكن شخصًا ما ألغى ترحيل مستند الإيصال.

في هذه الحالة ، سيكون الإجراء الصحيح هو التحقق من وجود مستند الاستلام في قاعدة البيانات. إذا كان موجودًا ولم يكتمل ، فتحقق من الملء وأكمله. إذا لم يكن هناك مستند استلام في قاعدة البيانات على الإطلاق ، فيجب عليك إدخاله بأثر رجعي. في الوقت نفسه ، من الضروري أن نفهم أن إضافة المستندات بأثر رجعي في الفترة الضريبية المغلقة قد يؤدي إلى تغييرات في مبلغ الضرائب ، على وجه الخصوص - ضريبة القيمة المضافة.

إعادة ترتيب

سبب شائع آخر للظاهرة التي نفكر فيها هو الإفراط في تقدير أو زيادة عنصر واحد من السلع (المادية) وفي نفس الوقت عدم وجود عنصر آخر. على سبيل المثال ، في البرنامج ، يتم تمييز محفظة سوداء فقط بحجم 10 قطع في المخزون ، وفي المتجر يبيع البائع محفظة حمراء ويسجل بيعها بمبلغ 5 قطع في قاعدة البيانات. نتيجة لذلك ، لا ينخفض ​​رصيد المحافظ السوداء في قاعدة البيانات ، ويظهر رصيدنا في المحافظ الحمراء.

في هذه الحالة ، يتم حل تصحيح الأرصدة بالطريقة التالية: يتم تسجيل ترحيل أحد المنتجات وشطب منتج آخر. للقيام بذلك ، يتم إنشاء مستند "ترحيل البضائع" وترحيل 5 عناصر فيه. محافظ حمراء. بعد ذلك ، يتم إنشاء مستند "شطب البضائع" ويتم شطب 5 قطع فيه. محافظ سوداء.

عندما يكون هناك رصيد سلبي لمنتج (مواد) في 1C: المحاسبة 3.0 ، ثم عند ترحيل مستند "مبيعات البضائع" ، يتم عرض رسالة معلومات تفيد بأنه لا يمكن ترحيل هذا المستند ، نظرًا لعدد الوحدات المعروض في الجزء الجدولي من المستند يتجاوز الرصيد.

الشكل 1 رسالة في المستند في حالة عدم وجود رصيد في المستودع

إشارات تحذيرية في الميزانية العمومية - الأرصدة السلبية مظللة باللون الأحمر!



الشكل 2 تتبع OSV

كيفية تمكين أو تعطيل التحكم في الأرصدة السالبة في 1C BP 3.0

يمكنك إعداد التحكم في قسم "الإدارة" ، ثم النقر على رابط "إرسال المستندات".



الشكل 3 إعداد

لتعطيل التحكم ، تحتاج إلى تنشيط العلامة الموجودة على المعلمة "السماح بشطب المخزون في حالة عدم وجود أرصدة وفقًا لبيانات المحاسبة".



الشكل 4 إذن لشطب الوحدات ذات مؤشرات الرصيد السالب

يحدث أنه من أجل البيع العاجل للبضائع التي تحتاج أيضًا بشكل عاجل إلى الشحن ، من الضروري إيقاف تشغيل التحكم لفترة من الوقت. يتم ترحيل مستند "الإدراك" في النظام ثم يتم تشغيل التحكم مرة أخرى. بعد ذلك ، تأكد من عدم نسيان تحليل الأرصدة من أجل تصحيح الخطأ في المحاسبة ، والذي نشأ بسببه منتج سلبي.

من أجل التحكم في الأرصدة في سياق المستودعات ، تحتاج إلى إعداد تحليلات لها في "إعدادات المحاسبة" من خلال "الإدارة".



الشكل 5 معلمات

انقر فوق "مخطط إعدادات الحساب".



الشكل 6 إعداد المعلمة

انقر فوق "بالتسمية والدُفعات والمستودعات (بالكمية والكمية)".



الشكل 7 معلمات محاسبة المخزون

عند تثبيت التحليلات ، من خلال النقر على "حسب المستودعات (أماكن التخزين)" ، نختار كيفية الاحتفاظ بالسجلات.



الشكل 8 تفعيل التحليلات بواسطة المستودعات

إذا تم تحديد الإعداد "بالكمية والكمية" ، على التوالي ، فستكون المحاسبة في المحاسبة الكمية والإجمالية للمستودعات بشكل منفصل ، وإذا كانت "حسب الكمية" ، فعندئذ تكون الكمية فقط في سياق كل مستودع ، وتكون المبالغ المشطوبة يتم تحديدها بقسمة سعر المخزون على الكمية بأكملها في جميع المستودعات.

تقارير المراقبة

يستخدم تقرير "التحكم في الأرصدة السلبية" لتحليل الأرصدة السلبية المكتشفة لسلع المنظمات. يمكنك فتحه من خلال "المستودع - التحكم في الأرصدة السلبية".



الشكل 9 تقارير للتحكم في المخلفات



الشكل 10 نموذج تقرير التحكم

في إعدادات التقرير ، يمكنك تحديد البيانات التي تريد إنشاء تقرير عليها ، على سبيل المثال ، تجميع البيانات حسب المؤسسة ، والمستودع ، ومستند الشطب ، والتسمية ، وما إلى ذلك.



إعدادات تقرير التحكم في الشكل 11

في التحديد ، يمكنك تحديد البيانات التي سيتم إنشاء تقرير بناءً عليها ، على سبيل المثال ، لمستودع معين أو عنصر به مشكلة.



الشكل 12 التحديدات في تقرير التحكم



الشكل 13 تشكيل تقرير مراقبة

الأرصدة السلبية هي نوع من مؤشرات الأخطاء في المحاسبة. من المهم مراقبة أرصدة المخزون باستمرار وتصحيحها في الوقت المناسب. تؤدي الأرصدة الحالية غير الصحيحة إلى حدوث مشاكل للعمل التشغيلي للمستخدمين ، ويمكن أن تتسبب أيضًا في حساب غير صحيح للتكلفة وإعادة التقييم ومؤشرات محاسبية مهمة أخرى.

هناك نوعان من المواقف التي يكون فيها تعديل التحكم في البقايا أمرًا ضروريًا.

الوضع الأول. في بعض الأحيان ، يتعين على المحاسبين التعامل مع مشكلة استحالة شطب المواد أو البضائع في برنامج 1C 8.3 بسبب غيابهم في المحاسبة ، على الرغم من توفرها في الواقع. ويحتاج المحاسب إلى إصدار مستندات عاجلة لشحن المواد أو البضائع:

هذا الموقف ممكن إذا كانت المنظمة قد بدأت للتو المحاسبة في 1C 8.3 أو تم إدخال البيانات في البرنامج خارج الوقت المحدد.

الحالة الثانية هي عندما يقوم المحاسب بشطب المواد غير المتوفرة في المستودع. ويحرر المحاسب مستندات الشحن التي لا تضر بسمعة الشركة.

ضبط التحكم المتبقي

في برنامج المحاسبة 1C 8.3 ، يوجد إعداد للتحكم في التوازن. وعند إنشاء قاعدة بيانات في الإعدادات الافتراضية ، يُسمح بشطب البضائع التي ، وفقًا لبيانات المحاسبة ، غير موجودة في البرنامج.

يتم التحكم في الأرصدة في سياق مؤسسة ومستودع معين في جميع أنواع المستندات: المبيعات ، وفاتورة المتطلبات ، والتحويلات ، وما إلى ذلك ، حيث يتم تضمين الحسابات مع تحليلات المستودع.

مهم! من أجل التحكم في الأرصدة على مستوى المستودع ، في 1C 8.3 ، من الضروري تثبيت تحليلات المستودعات في حسابات البضائع أو المواد.

في هذا الطريق:

  • بالنسبة للموقف الأول ، تحتاج إلى تحديد المربع وإدخال جميع أرصدة المواد في قاعدة البيانات. ويستحسن بعد ذلك إدخال استلام البضائع والمواد في الوقت المناسب.
  • بالنسبة للموقف الثاني ، يجب عليك إلغاء تحديد المربع لحظر شطب البضائع المفقودة (المواد).

كيفية تعطيل التحكم في التوازن في 1C 8.3

لإزالة الحظر المفروض على نشر المستندات مع البضائع المفقودة ، تحتاج إلى الانتقال إلى إعدادات برنامج 1C 8.3 في قسم الإدارة - ثم إعدادات ترحيل المستندات:

اضبط خانة الاختيار السماح بشطب المخزونات في حالة عدم وجود أرصدة وفقًا للبيانات المحاسبية:

مراقبة الأرصدة في سياق المستودعات

لمنع الأرصدة السالبة في المستودعات ، قم بتعيين التحليلات حسب المستودعات. يمكنك تمكين تحليلات المستودعات في إعدادات المحاسبة: قسم الإدارة - ثم إعدادات المحاسبة. يختار إعداد مخطط الحساباتوفي المخزون ، انقر فوق حسب التسمية والمستودعات (بالكمية):

ضع العلم في النافذة الجديدة المستودعات (أماكن التخزين). سيؤثر مربع الاختيار هذا على التحكم في الأرصدة في سياق المستودعات:

  • إذا لم يتم تحديد خانة الاختيار ، فسيتم التحكم في الأرصدة في سياق المنظمات ؛
  • إذا تم تحديد خانة الاختيار - في سياق المؤسسة ومستودع معين:

السيطرة على الأرصدة السالبة في 1C 8.3

إذا لم يكن من الممكن إلغاء تحديد المربع أو كانت هناك أسباب للاحتفاظ بالسجلات ذات الأرصدة السالبة ، فسيتم تنفيذ تقرير في المحاسبة 1C 8.3 التي تتيح لك التحكم في الأرصدة السالبة.

تقرير السيطرة على الأرصدة السلبيةفي 1C 8.3 يقع في قسم المستودعات - ثم التحكم في الأرصدة السالبة:

يمكن إنشاء التقرير لفترة معينة مع تفاصيل عن المستندات والمستودعات والتسميات وعناصر المحاسبة الأخرى. وأيضًا عرض البيانات الخاصة بمستودع معين أو تسمية معينة باستخدام التحديد:

مهم! يعرض تقرير "مراقبة الرصيد السالب" الأرصدة السالبة للفترة المحددة فقط. إذا كانت هناك مستندات شطب قبل بداية التقرير ، فلن يتم تضمين الأرصدة السلبية عليها في التقرير.

لتغيير إعدادات التقرير ، استخدم أمر إظهار الإعدادات. من خلال التنقل عبر علامات تبويب الإعدادات ، التجميع ، التحديد ، الحقول الإضافية ، يمكنك إعطاء التقرير المظهر المطلوب:

يمكن العثور على الموقع في التكوين 1C Accounting 8.3.

المزيد حول إعداد البرنامج 1C 8.2 (8.3) حظر شطب المخزون في حالة عدم وجود أرصدةكيف تؤثر على النتائج المالية شاهد الفيديو التالي:


قيم هذا المقال:

التحكم في أرصدة المستودعات هو إجراء محاسبة إلزامي لأي مؤسسة تعمل مع البضائع. غالبًا قد تواجه موقفًا لا يوجد فيه منتج في البرنامج ، ولكنه موجود بالفعل في المخزون. في مثل هذه الحالة ، هناك خياران:

  • أرسله للبيع
  • اتركها في المخزون حتى يتم توضيح ظروف مثل هذا الموقف.

يعتمد الاختيار على عدة عوامل ، مثل السياسة التنظيمية أو الموقف المحدد. عندما يكون المنتج على المنضدة ويهتم به المشتري (يحمله بين يديه) ، لا ينصح برفض البيع.

تمارس بعض المؤسسات تكوين مستند مبيعات دون نشره ، ولكن لا تستخدم جميعها هذه الممارسة. في حالة حدوث مثل هذه الحالات ، يقترح برنامج 1C في إصداراته الأخيرة إمكانية تعطيل التحكم في الأرصدة السالبة.

عندما يتم تنشيط التحكم ، فإن بيع البضائع غير الموجودة في المخزون وفقًا للبرنامج سوف يعطي المستخدم تحذيرًا: "تم ملء العمود" الكمية "بشكل غير صحيح في السطر 1 من قائمة" البضائع ". "المبلغ المشار إليه يتجاوز الرصيد. المتبقي: 18. لا يكفي 111.093.000

تعطيل التحكم في الأرصدة السالبة في 1C

يتم تشغيل / إيقاف تشغيل التحكم في الأرصدة في 1C من خلال القائمة "الرئيسية" - "الإعدادات" - "معلمات المحاسبة" - "الأسهم". هنا تحتاج إلى تحديد المربع "السماح بشطب المخزون عند عدم وجود مخزون وفقًا لبيانات المحاسبة".

بعد ذلك ، يتم تأكيد الإجراء بواسطة الزر "تسجيل وإغلاق". في المقابل ، هذه الإجراءات مضمونة لتصبح أساسًا لتشكيل أرصدة سلبية في المحاسبة. سوف يحتاجون إلى القضاء عليهم.

تقرير "مراقبة الأرصدة السلبية"

يتم تشكيل هذا التقرير من خلال قائمة "المستودع" - "التقارير" ، حيث يتم تقديم الوثيقة. يتعين على المستخدم تحديد الفاصل الزمني للطلب والنقر على زر "إنشاء". لن يسمح عدم وجود فترة محددة بإظهار الأرصدة السالبة ، وهي إحدى سمات النظام التي تتطلب ملء إلزامي في عمود "الفترة".

التقرير النهائي له المظهر التالي.

بالنسبة للتقرير نفسه ، تتوفر مجموعة قياسية من عوامل التصفية ، بما في ذلك التجميع والفرز وتحويلات البيانات الأخرى وفقًا لطلبات واحتياجات المستخدمين. من خلال زر "إظهار الإعدادات" ، يمكنك تضمين سطور إضافية يدويًا في التقرير.

هذه المقالة مخصصة لمنفذي 1C - وخاصة لأولئك الذين يستعدون للحصول على شهادة في 1C: Platform Specialist.

اليوم سوف نحلل طريقتان للتحكم في الأرصدة - وليس فقط الأرصدة في المستودع ، ولكن أيضًا ، على سبيل المثال ، التسويات المتبادلة ("ما هو الدين الحالي للعميل وهل من الممكن شحن البضائع إليه")

يتم استخدام كلتا الطريقتين في كل من التكوينات النموذجية وفي مهام التأهيل. وبما أن هناك اثنان عليك أن تفهم بوضوح متى يكون الأسلوب "الجديد" قابلاً للتطبيق ، ومتى يكون الأسلوب "القديم" فقط.

هذه هي المعرفة الأساسية لمبرمجي 1C ، نوصيك بعدم ترك فجوات في مثل هذه المجالات. يجب أن تذهب للدراسة 15 دقيقة :)

صياغة المشكلة

لنأخذ تكوينًا بسيطًا مع المستندات "استلام البضائع" و "بيع البضائع":

لحساب الأرصدة ، يتم استخدام سجل التراكم "الأرصدة الحرة":

عند ترحيل مستند "استلام البضائع" ، يتم تنفيذ إيصال الحركات التالية:

معالجة الإجراء (فشل ، الوضع)


لكل منتج من منتجات TekRow من دورة المنتجات
الحركة = Movement.FreeRemains.Add () ،
Movement.MovementType = MovementTypeAccumulation.Incoming ؛
الحركة.فترة = التاريخ ؛
الحركة.التسمية = CurrentLineProducts.Nomenclature ؛
الحركة.كمية = CurrentStringProducts.Quantity ؛
نهاية الدورة

EndProcedure

تم إجراء معالجة ترحيل مستند استلام البضائع باستخدام مصمم الحركة ولا يهم ، نظرًا لأن مراقبة المخزون ليست ضرورية عند الاستلام في المستودع.

في بعض الأحيان ، يتم أيضًا تنفيذ التحكم في الأرصدة لمستند "استلام البضائع" - بحيث لا يتم تكوين رصيد سالب عند إلغاء الترحيل أو إعادة إرسال المستند.

على سبيل المثال ، استقبل المستودع 10 أجهزة تلفزيون جديدة من LG ، تم بيع 6 منها. إذا كان هناك 10 قطع في مستند الاستلام. الإصلاح بنسبة 5 قطع. - يتكون الباقي السلبي "ناقص قطعة واحدة".

في UT 11 النموذجي ، يتم تمكين هذا التحكم باستخدام الخيار الوظيفي "التحكم في سلع المؤسسات عند إلغاء الإيصالات".

عند ترحيل مستند "مبيعات البضائع" من الضروري تنظيم التحكم في المخلفات. في حالة عدم وجود مخزون كافٍ ، لا يتم ترحيل المستند ويتم إصدار رسالة تشخيص. هذه هي المشكلة التي يجب حلها.

نحن نعمل عن عمد على مهمة بسيطة حيث لا يتم حساب تكلفة الشطب. سيسمح لنا ذلك بالتركيز على الفروق الدقيقة للتحكم المتبقي.

ملحوظة- الخوارزميات المعروضة أدناه مصممة للتعلم ويجب أن تكون واضحة قدر الإمكان.
يمكن تحسينها ، ولكن بعد ذلك سيكون "معامل الفهم" أقل ، لذلك في هذه المقالة لا نتوقف عند هذا الحد.

وبطبيعة الحال ، يمكنك تحسينها بنفسك ، أو أخذ دورة 1C Acceleration and Optimization الخاصة بنا :)

كما فهمت بالفعل ، يمكن حل المشكلة بطريقتين. لنبدأ بالمنهجية التي تم استخدامها منذ أيام 1C: Enterprise 8.0.

طريقة التحكم في المخلفات القديمة

مبدأ الطريقة القديمة للتحكم في البقايا هو كما يلي: تحقق مما إذا كان هناك رصيد للسلع بالكمية المطلوبة. إذا كان هناك ، نقوم بشطبها ، وإلا فإننا نبلغ عن خطأ..

تتكون الخوارزمية في التقنية القديمة من عدة كتل:

  1. يستقبل الطلب رصيد البضائع وبيانات المستندات
  2. تتحكم الدورة في كفاية البضائع
  3. إذا لم تكن هناك بضائع كافية ، فلن يتم ترحيل المستند
  4. إذا كان هناك ما يكفي من السلع ، يتم تنفيذ نفقات الحركة

هذا ما يبدو عليه الرمز:

// 1. تنظيف حركات السجل القديمة
Movements.FreeRemains.Write = صحيح ؛
Motion.Record () ،

// 2. استرداد بيانات المستند وتسجيل الأرصدة عن طريق الاستعلام
طلب = طلب جديد ؛
Request.Text =
"يختار

| منتجات PUT
| من
| أين
| Products.Link = & ارتباط
| تجميع حسب
| المنتجات
| فهرس حسب
| التسمية
|;

| اختر
,
| التمثيل المرجعي (المنتجات. التسمية) كالتسمية
| البضائع والكمية والكمية
| IS NULL (باقي الكمية المتبقية ، 0) كما تبقى
| من
| المنتجات AS Products
| الانضمام إلى اليسار
| & لحظة من الزمن ،
| التسمية ب
| (يختار
| المنتجات. التسمية AS التسمية
| من
| PO Goods.Nomenclature = Remains.Nomenclature "؛
Query.SetParameter ("MomentTime" ، MomentTime ()) ؛

// 3. اجتياز نتائج الاستعلام

// 4. التحقق من كفاية البضائع
الندرة = SampleProducts.Quantity - SampleProducts. Remainder ؛
إذا كان العجز> 0 ثم
الرفض = صحيح ؛
Message.Text = "المنتج" + SelectionProducts.NomenclatureRepresentation + "ليست كافية في مقدار" + العجز + "القطع." ؛
Message.Notify () ؛
إنهاء إذا؛

// 5. انتقل إلى بداية الحلقة في حالة وجود أخطاء
إذا فشل بعد ذلك
يتابع؛
إنهاء إذا؛

// 6. تنفيذ الحركات في السجلات
الحركة.فترة = التاريخ ؛

نهاية الدورة

// 7. وضع العلم لتسجيل الحركات في نهاية المعاملة
Movements.FreeRemains.Write = صحيح ؛

EndProcedure

دعونا نعلق على النقاط الرئيسية للخوارزمية.

1. تنظيف حركات السجل القديم

أدناه في الخوارزمية سيكون هناك طلب لبقية السجل.

إذا تم ترحيل المستند الحالي مسبقًا ، فهناك احتمالية الحصول على حركات المستندات القديمة في الاستعلامهي مشكلة خطيرة.

متى يكون مثل هذا الوضع ممكن؟ متى يكون تاريخ الوثيقة يتحرك إلى الأمام.

دعنا نستخدم مثالاً لإظهار ما سيؤدي إليه هذا:

  1. باقي مصابيح الطاولة 10 قطع.
  2. يتم تنفيذ الوثيقة بتاريخ 17/02/16 ، نقوم بشطب 6 مصابيح
  3. يتغير التاريخ الموجود في المستند إلى 17/02/17 (يمكن تغيير التاريخ على الأقل ثانية واحدة إلى الأمام) ، وسنقوم بإعادة إرسال المستند.

إذا لم تقم بتنظيف الحركات ، فسيقوم النظام بالإبلاغ عن نقص من قطعتين. لماذا ا؟ نعم ، لأن حركات المستندات القديمة شطب 6 من أصل 10 مصابيح موجودة. بعد ذلك ، يحاول النظام شطب 6 قطع أخرى ، ولا يوجد سوى 4 قطع في الميزان.

تم حل المشكلة في 3 أسطر من التعليمات البرمجية:

  • يتم مسح مجموعة السجلات (ربما تمت قراءتها في النموذج أو في معالجات سابقة)
  • مجموعة السجلات لديها مجموعة العلامات "تسجيل".
  • تسجيل جميع المجموعات التي تم تعيين علامة "كتابة" عليها

بالمعنى الدقيق للكلمة ، يمكننا التحكم في تنظيف الحركات عند نشر المستندات:

خيار حذف الحركات عند إلغاء الحجز هو الخيار الموصى به - لدينا التحكم في وقت حذف الحركات فعليًا.

2. الحصول على بيانات المستندات وتسجيل الأرصدة حسب الطلب

يتكون الطلب من حزمتين:

  • في الأول ، يتم الحصول على البيانات المجمعة للجزء المجدول - يتم إنشاء جدول مؤقت
  • في الاستعلام الثاني ، يتم إرفاق أرصدة السجل ببيانات المستند.

ما يجب الانتباه إليه في هذا الطلب:

  1. عند إنشاء جدول مؤقت ، تتم فهرسة الحقل ، حيث سيتم تنفيذ الصلة بشكل أكبر - ويتم ذلك لتحقيق الأداء الأمثل
  2. لحظة استلام الأرصدة - تتوافق مع موضع المستند على محور الوقت
  3. قد لا يكون هناك باقٍ في السجل - لذلك ، يتم تنفيذ صلة يسرى ويتم تطبيق وظيفة ECTNULL على مورد "الكمية" - يتم تقليل قيمة NULL إلى صفر.

3. تجاوز نتائج الاستعلام

يحتوي الاستعلام المطور على البيانات المجمعة للمستند والأرصدة حسب مواضع العناصر.

حلقة من خلال نتيجة هذا الاستعلام.

4. التحقق من كفاية البضائع

نحدد النقص في البضائع.

إذا كان العجز أكبر من الصفر ، فهذا يعني أن المنتج يعاني من نقص في المعروض:

  • إصدار رسالة تشخيصية
  • قمنا بتعيين معلمة "فشل" لمعالجة التوصيل على القيمة "صواب"

إذا كانت "الرفض" تساوي "True" ، فلن يتم إصلاح نتيجة معاملة ترحيل المستند. بعبارات بسيطة ، هذا أمر للنظام بعدم نشر هذا المستند.

5. انتقل إلى بداية الحلقة في حالة وجود أخطاء

إذا كانت هناك أخطاء في هذه أو الخطوات السابقة من الدورة (فشل = صحيح) ، فلا معنى لتشكيل الحركات. على الرغم من ذلك ، لن يتم كتابتها في قاعدة البيانات.

6. أداء الحركات في السجلات

إذا كان فحص الأرصدة ناجحًا ، فإننا نشكل مصروفات الحركة.

7. وضع علم لتسجيل الحركات في نهاية المعاملة

إذا لم يتم تعيين هذا العلم ، فلن يتم تسجيل الحركات.

في نهاية معاملة ترحيل المستند ، تتم كتابة مجموعات السجلات التي تحتوي على مجموعة علامات "السجل" فقط.

من أجل الإنصاف ، نلاحظ أن تعيين خاصية "السجل" لمجموعة السجلات أمر منطقي في ظل شرط واحد - يجب أن يكون لخاصية المستند "تسجيل الحركات أثناء الترحيل" القيمة "تم تحديد السجل":

ومع ذلك ، فإن قيمة "الكتابة المحددة" هي المعيار الفعلي:

  • يتم استخدامه في الحلول القياسية
  • تعيين افتراضيًا عند إنشاء مستندات جديدة.

قيمة أخرى للخاصية - "كتابة معدلة" عفا عليها الزمن ولا تحدث عمليًا في التكوينات الحديثة.

طريقة جديدة للتحكم في المخلفات

تستخدم المنهجية الجديدة المبدأ: نقوم بشطب البضائع الضرورية ، ثم نتحقق مما إذا كانت هناك أرصدة سلبية لبضائع المستند. إذا كان الأمر كذلك ، فأنت بحاجة إلى التراجع عن نشر المستند.

كما ترى ، الاختلاف الأساسي في لحظة التحكم في البقايا:

  • الطريقة القديمة - تحقق أولاً من الميزان ، ثم قم بشطبها
  • تقنية جديدة - أولاً نشطب ، ثم نتحقق من الرصيد.

نتيجة لذلك ، سيبدو رمز البرنامج كما يلي:

ترحيل معالجة الإجراء (فشل ، وضع الترحيل)

// 1. استرداد بيانات المستند حسب الطلب
طلب = طلب جديد ؛
Query.TempTableManager = NewTempTableManager ،
Request.Text =
"يختار
| البضائع. التسمية AS التسمية ،
| SUM (العناصر. الكمية) AS الكمية
| منتجات PUT
| من
| Document.Sale of GoodsServices.Goods AS Goods
| أين
| Products.Link = & ارتباط
| تجميع حسب
| المنتجات
| فهرس حسب
| التسمية
|;
|////////////////////////////////////////////////////////////////////////////////
| اختر
| البضائع. التسمية AS التسمية ،
| البضائع والكمية والكمية
| من
| البضائع كبضائع "؛
Query.SetParameter ("ارتباط" ، ارتباط) ؛
QueryResult = Query.Execute () ،

// 2. تشكيل الحركات - سجل الاستهلاك
Movements.FreeRemains.Clear () ،
SelectionProducts = QueryResult.Select () ،
أثناء حلقة SelectionProducts.Next ()
الحركة = Movement.FreeRemains.AddExpense () ،
الحركة.فترة = التاريخ ؛
الحركة.التسمية = SelectionProducts.Nomenclature ؛
الحركة. الكمية = SelectionProducts.Quantity ؛
نهاية الدورة

// 3. حركات الكتابة إلى قاعدة البيانات
Movements.FreeRemains.Write = صحيح ؛
Motion.Record () ،

// 4. الاستعلام الذي يتلقى أرصدة سالبة من السجل
Request.Text =
"يختار
| تبقى. التسمية AS التسمية ،
| التمثيل المرجعي (يبقى. التسمية) كتمثيل ،
| - التوازن. - التوازن
| من
| سجل التراكم .FreeRemains.Remains (
| & لحظة من الزمن ،
| التسمية ب
| (يختار
| المنتجات. التسمية AS التسمية
| من
| السلع AS البضائع)) كما تبقى
| أين
| باقٍ< 0";

ControlBoundary = حدود جديدة (InstTime () ، BorderType.Including) ،
Query.SetParameter ("PointInTime" ، ControlBorder) ؛
QueryResult = Query.Execute () ،

// 5. إخراج رسائل حول نقص البضائع
If Not QueryResult.Empty () ثم
الرفض = صحيح ؛
FetchErrors = QueryResult.Select () ،
أثناء حلقة FetchErrors.Next ()
الرسالة = MessageToUser جديدة ؛
Message.Text = "المنتج" + SelectionErrors.NomenclatureRepresentation + "ليست كافية في الكمية" + SelectionErrors.Deficiency + "pcs."؛
Message.Notify () ؛
نهاية الدورة
إنهاء إذا؛

EndProcedure

دعنا نحلل النقاط الرئيسية للخوارزمية.

1. استلام بيانات الوثيقة حسب الطلب

هذا الاستعلام ضروري لتجميع بيانات الجزء المجدول من المستند.

لاحظ أنه يتم إنشاء جدول مؤقت في الاستعلام الأول للمجموعة - سيتم استخدامه في الاستعلام التالي أيضًا. هذا ممكن بفضل مدير الجدول المؤقت الذي تم إنشاؤه لهذا الاستعلام.

2. تشكيل سجل تدفق الحركات

في الدورة ، تتم كتابة البيانات من المستند إلى السجل - أي ، يتم تنفيذ شطب غير مشروط (بدون تحقق) للبضائع.

3. تسجيل الحركات في قاعدة البيانات

من أجل تغيير الأرصدة في السجل ، يجب تسجيل الحركات.

4. طلب ​​استلام أرصدة سلبية من السجل

والآن ، باستخدام استعلام بسيط ، نحدد أرصدة سالبة لسلع المستند.

هنا يتم استخدام الجدول المؤقت الذي تم إنشاؤه في الخطوة الأولى - يتم فرض شرط على المصطلحات (لهذا لا ننشئ كائنًا جديدًا من النوع "Request" ، لكننا نستخدم الكائن الذي تم إنشاؤه مسبقًا).

انتبه إلى كيفية إرسال لحظة الوقت - يتم استخدام نوع البيانات "Border". يجب استلام الأرصدة في وقت ما مباشرة بعد المستند الحالي.

هل كان من الممكن الحصول على المخلفات بدون حدود ، على سبيل المثال ، بإضافة ثانية واحدة إلى تاريخ المستند؟

لا! في الواقع ، يمكن أن يكون هناك عدد كبير من الوثائق في ثانية واحدة. لذلك ، فإن الخيار الصحيح الوحيد هو استخدام نوع الحد "التضمين".

5. إخراج الرسائل عن نقص البضائع

إذا لم تكن نتيجة الاستعلام فارغة ، فهناك أرصدة سالبة - في هذه الحالة ، لا يتم ترحيل المستند والإبلاغ عن جميع الأخطاء.

فوائد التحكم في المخلفات بالطريقة الجديدة

لذا ، فإن كلا الخوارزميتين يحلان نفس المشكلة.

الفرق بين الخوارزميات واضح ، لكن الفوائد ليست واضحة.

لذلك دعونا نسلط الضوء عليهم:

  1. لا حاجة لمسح حركات المستندات القديمة. في الواقع ، هذه هي عملية كتابة مجموعة فارغة من الحركات إلى قاعدة البيانات وحذف الحركات الحالية - هذه عمليات كثيفة الاستخدام للموارد.
  2. يشير الاستعلام الذي يتلقى بيانات حول الأرصدة السالبة إلى جدول واحد فقط - ليست هناك حاجة لعمل صلة يسرى مع بيانات المستند واستخدام وظيفة "ISNULL ()"

بالإضافة إلى ذلك ، في سياق العمليات التجارية العادية ، يحدد المستخدم كمية لا تتجاوز الرصيد في المستودع.

في هذه الحالة ، لن يقوم الطلب الثاني بإرجاع أي بيانات وسيتم ترحيل المستند في أسرع وقت ممكن.

هل هذه الأجزاء من الألف من الثانية مهمة حقًا؟

في قواعد البيانات التي تحتوي على كمية صغيرة من البيانات والمستخدمين ، لن يكون الفرق ملحوظًا. ولكن في الأنظمة المزدحمة التي تضم عشرات المستخدمين ، تكون تكلفة كل ميلي ثانية مرتفعة.

بالإضافة إلى ذلك ، في اختبار 1C: Platform Specialist ، من الضروري استخدام طريقة جديدة للتحكم في الأرصدة ، إذا كانت هناك مهمة محددة تسمح بذلك.

حسنًا ، لذلك يجب دائمًا استخدام تقنية جديدة ، أليس كذلك؟

لا ليس كذلك!

لا يمكن استخدام المنهجية الجديدة إلا إذا كانت هناك جميع البيانات الضرورية في المستند نفسه لنشر المستند.

أي ، للحصول على البيانات ، لا تحتاج إلى الوصول إلى السجلات التي يتم من خلالها التحكم في الأرصدة.

لذلك ، على سبيل المثال ، إذا تم أخذ المبلغ أيضًا في الاعتبار في سجل "الموازين الحرة" ، فيجب استخدام طريقة التحكم القديمة.

بالمناسبة ، في المعيار "1C: Trade Management 11" ، يتم تنفيذ ضبط الرصيد وفقًا للطريقة الجديدة ، وفي "1C: Accounting 8" - وفقًا للطريقة القديمة.

لكن هذا ليس كل شيء!

يمكن استخدام الخوارزميات المذكورة أعلاه للأغراض التعليمية فقط. المشكلة هي أنهم لا يأخذون بعين الاعتبار أقفال مُدارة، والتي يجب تطبيقها إذا كان هناك أكثر من مستخدم واحد يعمل في النظام.

تم تخصيص حظر لكلا طريقتي التحكم المتبقي. في هذه المقالة أيضًا ، نحل مشكلة أكثر تعقيدًا - بالإضافة إلى التحكم في الأرصدة ، نحسب تكلفة العنصر الذي تم إيقاف تشغيله. نوصيك بدراستها بعناية.

و "البذرة" فقط قل ذلك يعد ضبط القفل في التقنية الجديدة أمرًا بسيطًا للغاية- وهذه ميزة أخرى للطريقة الجديدة للتحكم في المخلفات.

نتائج

دعونا نلخص بإيجاز.

استعرضنا طريقتين للتحكم في البقايا ، وكلاهما يستخدم في التكوينات النموذجية الحالية.

الفرق الرئيسي بين الطرقفي وقت التحكم في البقايا:

  • التقنية القديمة - التحكم قبل تسجيل الحركات في السجلات
  • تقنية جديدة - التحكم بعد تسجيل الحركات في السجلات

بشكل عام ، تعتبر التقنية الجديدة أكثر كفاءة ، لكنها لا تنطبق دائمًا.

معيار التطبيق- إذا لم تكن هناك حاجة للإشارة إلى بيانات السجل المراقب لتشكيل الحركات ، فيمكن استخدام منهجية جديدة.

إذا تحدثنا عن التحكم في الأرصدة عن طريق المصطلحات ، فإن استخدام منهجية جديدة يكون ممكنًا عندما يتم تخزين بيانات التكلفة وأرصدة المخزون في سجلات مختلفة.

أخيرًا ، أمثلة من تكوينات نموذجية:

  • في يوتا 11هناك سجلين رئيسيين للمحاسبة لهذا البند: الأرصدة الحرة (الكمية) وتكلفة البضائع (بيانات عن التكلفة) - يتم استخدام منهجية جديدة
  • في BP 3.0يتم تخزين بيانات التكلفة والأرصدة في سجل محاسبة واحد - يتم استخدام المنهجية القديمة للتحكم في الأرصدة.
اختيار المحرر
الصحة الجنسية هي مفتاح الحياة الكاملة والنشطة لأي فرد من الجنس الأقوى. عندما يسير كل شيء على ما يرام "في هذا" ، فعندئذٍ أي ...

بالنسبة للكثيرين منا ، مادة الكوليسترول هي العدو الأول تقريبًا. نحاول الحد من تناوله بالطعام ، مع الأخذ في الاعتبار ...

يمكن أن تسبب القطرات أو الخطوط أو الجلطات الدموية في براز الطفل حالة حقيقية من الصدمة لدى الوالدين. ومع ذلك ، التسرع ...

أتاح التطور الحديث لعلم التغذية إمكانية التنويع الكبير في جدول أولئك الذين يراقبون أوزانهم. النظام الغذائي لفصيلة الدم 1 ...
القراءة 8 دقائق. المشاهدات 1.3k. ESR هو مؤشر معملي يعكس معدل ترسيب خلايا الدم الحمراء (كريات الدم الحمراء) ....
نقص صوديوم الدم هو حالة تحدث عندما يكون هناك مستوى منخفض بشكل غير طبيعي من الصوديوم في الدم. الصوديوم هو إلكتروليت ...
الحمل هو وقت رائع ، ولكنه في نفس الوقت مسؤول للغاية بالنسبة للمرأة. الحد الأدنى من المخاوف والوجبات السريعة وكل ما ...
داء فورونكولوس هو مرض معدي يتطور عندما تدخل بكتيريا مثل المكورات العنقودية الذهبية إلى الجسم. حضورها ...
لكل شخص الحق في أن يقرر ما إذا كان سيشرب الكحول أو أن يعيش حياة صحية. طبعا تأثير المشروبات الكحولية على ...