لم يتم العثور على أسلوب الكائن لإنشاء تقرير.

يعلم الجميع أن أي برنامج يمكن أن يسبب مواطن خلل مختلفة من وقت لآخر، أو ببساطة، لا يعمل بشكل صحيح. تسمى مثل هذه الإخفاقات التي تؤدي إلى تعطيل الأداء السليم للنظام أخطاء. يعد برنامج 1C منتجًا برمجيًا (برنامجًا)، لذلك قد تحدث أيضًا أخطاء مختلفة في هذا البرنامج تؤدي إلى التشغيل غير الصحيح للنظام. يمكن أن تكون متنوعة للغاية، وإذا لم يكن لديك عدد من المعرفة الخاصة في مجال البرمجة وتفاصيل الآليات الداخلية لـ 1C، فلن تتمكن من فهم الخطأ وتشخيصه بشكل صحيح، ناهيك عن تصحيحه. أي من مبرمجي 1c لدينا على استعداد دائمًا لمساعدتك في حل أي مشكلات تتعلق بذلك أخطاء 1s!

ما الذي يسبب الأخطاء في قاعدة بيانات 1C؟

الآن دعونا نتحدث قليلاً عن سبب حدوث أشياء مختلفة. أخطاء في قاعدة البيانات 1Sعند العمل مع البرنامج. في الواقع، يمكن أن يكون هناك الكثير من الأسباب ويمكن أن يكون لكل منها أسباب مختلفة تمامًا. ومع ذلك، سنحاول أن نفهم بشكل عام سبب ظهور مختلف أخطاء في 1S.

أنواع الأخطاء في قاعدة بيانات 1C

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

  1. خطأ في تنسيق الدفق
  2. لم يتم العثور على حقل الكائن
  3. لم يتم العثور على طريقة الكائن
  4. الذاكرة غير كافية
  5. الأخطاء المتعلقة بجداول SQL (ذات صلة بخوادم 1C التي تعمل على قواعد البيانات العلائقية، مثل MySQL)
  6. خطأ في الوصول 1S

خطأ في تنسيق الدفق خلال ثانية واحدة

خطأ في تنسيق الدفق 1 ثانية

لم يتم العثور على حقل الكائن

لم يتم العثور على حقل الكائن

الفهرس خارج حدود المصفوفة

خطأ 1ج

خطأ في تنسيق الدفق خلال ثانية واحدة

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

لم يتم العثور على حقل الكائن

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

الفهرس خارج حدود المصفوفة

المصفوفة في البرمجة هي منطقة ذاكرة معينة يتم فيها تخزين العديد من الكائنات من نفس النوع (في 1C، يمكن أن تكون هذه الأنواع، على سبيل المثال، DirectoryLink، DocumentObject، وما إلى ذلك، بالإضافة إلى أي أنواع بدائية مثل الرقم، والسلسلة، والمنطقية ، إلخ.). خطأ 1جيحدث الارتباط المرتبط بتجاوز حدود المصفوفة على وجه التحديد عندما يصل البرنامج إلى حدود الذاكرة المخصصة للمصفوفة. وبناءً على ذلك، يقوم البرنامج في هذه الحالة بإنشاء خطأ وإعلام المستخدم (المبرمج) بحدوث وصول خارج المصفوفة، وهذا بدوره يعد خطأ برمجيًا.

لم يتم العثور على طريقة الكائن

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

لا توجد ذاكرة كافية في 1S

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

الإصلاح المحتمل للخطأ 1C "الذاكرة غير كافية"

يكمن الخطأ في التخصيص المحدود لذاكرة العنوان بواسطة نظام التشغيل للبرامج (البرامج).
حدود ذاكرة العنوان الافتراضية هي:

  • لنظام 32 بت – 2 جيجابايت
  • لـ 64 بت – 4 جيجابايت

لزيادة حجم ذاكرة العنوان عليك القيام بما يلي:

  1. قم بتشغيل سطر الأوامر: "ابدأ - تشغيل" - اكتب CMD واضغط على زر الإدخال
  2. الآن في سطر الأوامر، أدخل النص بدون علامات الاقتباس "bcdedit /set riseuserva 3072"، حيث 3072 هو حجم ذاكرة العنوان المطلوبة
  3. أعد تشغيل نظام التشغيل الخاص بك (الكمبيوتر)
  4. حاول تنفيذ هذا الإجراء في 1C الذي لم يعمل من قبل وأدى إلى حدوث خطأ.
  5. إذا نجح كل شيء ولم تتكرر العملية كثيرًا، فمن المستحسن إعادة حجم ذاكرة العنوان إلى القيمة الافتراضية باستخدام الأمر "bcdedit /deletevalue riseuserva"

الأخطاء المتعلقة بجداول SQL

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

خطأ في الوصول في 1S

يحدث هذا الخطأ عندما يحاول المستخدم تنفيذ إجراء محظور بموجب حقوق الوصول (الأدوار). ولهذا السبب يصدر النظام خطأ في الوصول قدره 1 ثانية. يتم تكوين الأدوار في المكوِّن بواسطة المبرمج.

لا يمكن إصلاح الخطأ في 1S؟

إذا لم تتمكن من إصلاح أي خطأ في 1C، فلا تيأس، ارفع الهاتف واتصل بنا! المتخصصون لدينا مستعدون دائمًا لمساعدتك في حل أي مشكلات تتعلق بـ 1C، بما في ذلك الأخطاء التي تنشأ أثناء تشغيل النظام.

أنت (أو المستخدم) تعمل في 1C. فجأة - خطأ. ما يجب القيام به؟

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

ماذا تفعل إذا لم يكن هذا ممكنا؟ لا وقت ولا رغبة ولا معرفة كافية. فيما يلي بعض النصائح الضارة جدًا لتصحيح الأخطاء بسرعة في 1C.

رسالة الخطأ 1C

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

نص الخطأ 1C المعروض هنا هو رسالة مستخدم؛ وغالبًا ما لا يعني أي شيء للمبرمج، نظرًا لأن الخطأ 1C المعروض قد يكون نتيجة لبعض الإجراءات غير الصحيحة.

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

  • ، حيث حدث خطأ 1C
  • وظيفة هذه الوحدة التي حدث فيها الخطأ 1C
  • رقم السطر لهذه الوحدة الذي حدث فيه الخطأ 1C.

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

الحيل لفهم الأخطاء

كما قلت للتو، فإن نص الخطأ 1C غالبًا ما يكون نتيجة لإجراءات غير صحيحة تم تنفيذها مسبقًا.

على سبيل المثال، يقرأ نص الخطأ 1C الشائع جدًا ما يلي:

القيمة ليست قيمة نوع كائن (WhatName)

ماذا يعني هذا؟؟؟

وهذا يعني ما يلي:

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

تصحيح أخطاء 1C الأكثر شيوعًا

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

  • إذا كان المتغير من النوع Boolean (أي أنه يقبل القيمتين True وFalse)، فيمكن الوصول إليه على النحو التالي:

    إذا كان VariableName ثم

    هذه الكتابة مشابهة:
    إذا كان VariableName = True إذن

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

  • "لم يتم العثور على اسم الوظيفة XXX"

    يتم تنفيذ بعض الوحدات على الخادم. علاوة على ذلك، يمكن تنفيذ بعض وظائف نفس الوحدة على الخادم أو على العميل.

    في هذه الحالة، قد يحدث خطأ 1C لأن إحدى الوظائف التي تعمل على الخادم تستدعي وظيفة تعمل على العميل. في هذه الحالة، سيكون هناك خطأ 1C.

    ومن الضروري نقل هذه الوظيفة إلى الخادم، إن أمكن.

  • "لم يتم العثور على المتغير المسمى XXX"

    على غرار الخطأ 1C السابق. إذا كان البرنامج يحتوي على استدعاء لوظيفة موجودة في وحدة نمطية مشتركة، فسيبدو الأمر كما يلي:
    ModuleName.FunctionName();

    إذا تم تعيينه في خصائص الوحدة التي يتم تنفيذها على العميل، ونحن نصل إليها من خلال سطور البرنامج التي يتم تنفيذها على الخادم، فسيكون هناك خطأ 1C
    "لم يتم العثور على المتغير - اسم الوحدة"

    من الضروري بالمثل تمكين تنفيذ هذه الوحدة على الخادم.

  • "لم يتم الكشف عن الخاصية XXX على الكائن"

    كلمة "خاصية" تعني مجال هذا الكائن (السمة). ضروري:
    o تحديد نوع الكائن
    o إذا كان هذا كتابًا مرجعيًا أو مستندًا، فأنت بحاجة إلى معرفة ما إذا كان العقار يسمى هذا بالفعل
    o إذا كان أو – انظر إلى تفاصيل النموذج الذي يحمل هذا الاسم.

  • "لم يتم الكشف عن الأسلوب Xxxx على الكائن"

    تشير كلمة "طريقة" إلى وظيفة/إجراء في وحدة نمطية لهذا الكائن.

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

  • "خطأ 1C عند تنفيذ الطلب"

    هذا يعني أن هناك خطأ 1C في نص الطلب. عادةً ما يتم تحديد نص الطلب في البرنامج في وقت أبكر (أي أعلى) من تنفيذه. ابحث عن نص الاستعلام في هذه الوحدة (بعينك أعلاه أو من خلال البحث عن كلمة "SELECT").

    حاول تحليل نص الطلب أو عن طريق النقر بزر الماوس الأيمن على نص الطلب وحاول فتح مصمم الطلب للحصول على تلميح.

  • "خطأ تخطيط 1C" - عند تشغيل التقرير

    هذا الخطأ 1C يعني إما خطأ 1C في نص الطلب أو خطأ 1C في إعدادات ACS (غالبًا في مجموعات، في الحقول المحددة، في التنسيق الشرطي).

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

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

خطأ عند تحديث المحاسبة (Processing.UpdatingInformationBase.ObjectModule(1777)): لم يتم العثور على أسلوب الكائن (UpdateDetails) Documents.HelpOnPNDFLTaxAuthorityS2015.UpdateDetails();

وصف خاطئ:
تحديث قاعدة البيانات بعد تحديث التكوين من الإصدار 2.0.65.47 إلى الإصدار 2.0.66.6 ينتهي بخطأ (Processing.UpdatingInformationBase.ObjectModule(1777)): لم يتم العثور على أسلوب الكائن (UpdateDetails) Documents.HelpOnPNDFLTaxAuthorityS2015.UpdateDetails(); النظام الأساسي 1C: Enterprise 8.3.19.1818، إصدار ملف قاعدة البيانات

الحلول التي تم العثور عليها:

بالنظر إلى حقيقة أنه عند تحديث تكوين قاعدة بيانات 1C: Accounting 2.0، احتفظ المطورون بالحق في التحديث من الإصدار 2.0.65.47 إلى 2.0.66.6 دون تثبيت الإصدارات المتوسطة، فمن الطبيعي ألا يتم تفويت هذه الفرصة. لكن هذا لم يكن ناجحا، لأن... حدث الخطأ أعلاه.

إذا قمت بعمل نسخة أرشيفية من قاعدة البيانات قبل بدء التحديث، فسيوفر عليك هذا من الاضطرار إلى حل المشكلة باستخدام أداة التهيئة. في حالة حدوث هذا الخطأ، فإن الخيار الأفضل هو استعادة نسخة من قاعدة البيانات. قم بالتحديث مرة أخرى لإصدار 2.0.65.47. تأكد من تشغيل 1C 8 في وضع المستخدم ("مفتاح F7" على لوحة المفاتيح أو في قائمة "التكوين" - "تحديث تكوين قاعدة البيانات F7") لإكمال التحديث للإصدار الحالي.

ثم نقوم بتحديث تكوين 1C: Accounting 8 لإصدار 2.0.66.2. مرة أخرى، تأكد من تشغيل 1C 8 في وضع المستخدم لإكمال التحديث للإصدار الحالي.

إذا لم يتم عمل نسخة أرشيفية

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

نحن نوافق على التحذير ونضبط إعدادات الدعم كما هو موضح:

انقر فوق موافق". ننتظر حتى تقوم المنصة بالإجراءات اللازمة. بعد ذلك، نذهب إلى معالجة "تحديث قاعدة المعلومات"، في وحدة المعالجة، نذهب إلى السطر 1777 (عن طريق استدعاء نافذة "الانتقال إلى رقم السطر" باستخدام مجموعة المفاتيح "Ctrl + G") والتعليق على السطر، ووضع الأحرف "//" الموجودة أمام السطر:

من خلال قائمة "التكوين" - "تحديث تكوين قاعدة البيانات F7") لحفظ التغييرات. نقوم بتشغيل قاعدة البيانات في وضع 1C: Enterprise لتحديث قاعدة البيانات. بعد ذلك، تحتاج إلى إعادة التكوين للحصول على الدعم. نقوم بتحميل ملف التكوين المحفوظ مسبقًا من خلال قائمة "التكوين" - "تحميل التكوين من الملف"

نواصل التحديث كالمعتاد.

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