قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  البرامج/ إزالة عنصر محدد مسبقًا من الدليل 8.3. تعيين العناصر المحددة مسبقًا

حذف بند كتالوج معرف مسبقا 8.3. تعيين العناصر المحددة مسبقًا

التعامل البسيطللعمل مع القيم المحددة مسبقًا.

يسمح لك بمطابقة عناصر IB مع العناصر المحددة مسبقًا في التكوين.

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

يمكنك فقط عرض القيم الحالية ، يمكنك إجراء أي تغييرات ضرورية.

إجراء التشغيل:

1. نبدأ في المعالجة.

2. نختار النوع (كتاب مرجعي ، مخطط حسابات ، PVC ، PVR).

3. نختار دليل النوع المحدد نفسه.

4. تظهر جميع العناصر المحددة مسبقًا المتوفرة في IB والموضحة في التكوين في قسم المعالجة المجدول.

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

5. نضع قيمًا جديدة للعناصر المحددة مسبقًا المطلوبة.

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

6. نقوم بإعادة التخصيص بالضغط على زر "إعادة تعيين العناصر".

التحقق من التكرارات(خطأ "العنصر المحدد مسبقًا ليس فريدًا"):

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

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

فحص غاب(خطأ "عنصر محدد مسبقًا مفقود من البيانات"):

عند النقر فوق الزر "التحقق من عدم الرد" ، ستتحقق المعالجة من جميع الكتب المرجعية ومخططات الحسابات و PVC و PVR وتعرض قائمة بالعناصر المحددة مسبقًا غير المرتبطة ببيانات الوسيط المعرّف.

يتطلب النظام الأساسي 8.3.3 أو أعلى لاستخدامه.

متعدد الاستخدامات ، يمكن استخدامه مع أي تكوين.

كشف اللغة الأفريكانية الألبانية العربية الأرمينية الأذربيجانية الباسكية البنغالية البيلاروسية البلغارية البلغارية الكاتالونية الصينية (Simp) الصينية (التقليدية) الكرواتية التشيكية الدنماركية الهولندية الإنجليزية الإسبرانتو الإستونية الفلبينية الفنلندية الفرنسية الجاليسية الجورجية الألمانية اليونانية الغوجاراتية الكريولية الهايتية العبرية الهندية الهنغارية الأيسلندية الإندونيسية الأيرلندية الإيطالية اليابانية الكانادا الكورية اللاوية اللاتينية اللاتفية الليتوانية المقدونية الملايو المالطية النرويجية الفارسية البولندية البرتغالية الرومانية الروسية الصربية السلوفاكية السلوفينية الأسبانية السواحيلية السويدية التاميل التيلجو التايلاندية التركية الأوكرانية الأوردو الفيتنامية الويلزية اليديشية الأفريكانية الألبانية العربية الأرمينية الأذربيجانية الباسكية البنغالية البيلاروسية البلغارية الكاتالونية الصينية (Simp) الصينية (التقليدية) الكرواتية التشيكية الدنماركية الهولندية الإنجليزية الإسبرانتو الإستونية الفليبينية الفنلندية الفرنسية الجاليسية الجورجية الألمانية اليونانية الغوجاراتية الكريولية الهايتية العبرية الهندية الهنغارية الأيسلندية الإندونيسية الأيرلندية الإيطالية اليابانية الكانادا الكورية اللاوية اللاتينية اللاتفية اللتوانية المقدونية الملايو مالطية النرويجية الفارسية البولندية البرتغالية الرومانية الروسية الصربية السلوفاكية السلوفينية الإسبانية السواحيلية السويدية التاميل التيلجو التايلاندية التركية الأوكرانية الأوردو الفيتنامية الويلزية اليديشية

يوم جيد.

سنتحدث اليوم عن ابتكار في النظام الأساسي 8.3 فيما يتعلق بالعناصر المحددة مسبقًا.

مقدمة

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

عندما تم تصحيح كل شيء وعمله ، اتضح أن المهمة قد تم تعيينها في الاتجاه المعاكس وأن منطق المالك الوحيد كان مطلوبًا لشركة ذات مسؤولية محدودة ، وكان منطق الشركة ذات المسؤولية المحدودة ضروريًا للمالك الوحيد. نقول "لا مشكلة" ، وفي وضع المؤسسة نعيد تسمية العناصر. يعد الدخول إلى الكود أكثر صعوبة. مر عام وتم تكليفك بمهمة جديدة: إعداد المزيد من المنطق لـ IP Sidorov. تذهب إلى أداة التهيئة ، وتكتب المنطق ، وتبدأ في التحقق ولا شيء يعمل ، لأن في مكون IPSidorov وفي المؤسسة - Meteor LLC. الدماغ مكسور وأريد تدمير هذا الخليع. الأبسط والأكثر بديهية هو إخراج اسم عنصر محدد مسبقًا في شكل قائمة. هنا كمين ، يمكنك الحصول على اسم محدد مسبقًا في 8.2 بالطريقة فقط. والطريقة لها مضايقات خاصة بها فلا يمكن الحصول عليها في الطلب. أولئك. الإزعاج الأول هو الحصول على اسم محدد مسبقًا بالرجوع إلى الدليل.

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

الآن في القضية

الأول هو أن المرجع يحتوي الآن على خاصية "تحديث البيانات المحددة مسبقًا".

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

مثير جدا ولكن لماذا؟ كيف نصنع مادة في المرجع؟ وكما يحلو لك ، يمكنك إنشاء ، أو يمكنك ربطه بواحد موجود. الآن البحث لديه السمة "PredefinedDataName". نقوم بإنشاء عنصر كتالوج برمجيًا كالمعتاد من خلال "References.Contractors.CreateElement ()" ونملأ السمة "PredefinedDataName" الخاصة به والتي تساوي اسم العنصر المحدد مسبقًا. أو ، إذا كان العنصر موجودًا بالفعل ، نحصل على كائنه ونملأ "PredefinedDataName" فيه مرة أخرى. كل شىء.

وأخيراً القليل من الشراب

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

شكرا للانتباه.

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

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

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

يمكن تمييزه بشروط ثلاثة أنواع من الأخطاء:
1. "عنصر محدد مسبقًا مفقود من البيانات" ؛

3. إشارة غير صالحةعنصر محدد مسبقا

1. "عنصر محدد مسبقًا مفقود من البيانات" - oعدم وجود عنصر محدد مسبقًا موصوف في التكوين في بيانات IB.

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

عند الإشارة إلى العنصر المفقود في الكود "الدلائل. أنواع ContactInformation.EmailContactPerson" ، يتم عرض الرسالة

عند الوصول إلى عنصر في الطلب "VALUE (Directory.Types of ContactInformation.EmailContactPerson)" ، يتم عرض الرسالة التالية:

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

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

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

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

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

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

طلب = طلب جديد ؛ Request.Text = "SELECT | أنواع معلومات الاتصال. Link | FROM | Directory. أنواع معلومات الاتصال كأنواع معلومات الاتصال | أين | أنواع معلومات الاتصال. اسم البيانات المحددة مسبقًا =" " البريد الإلكتروني"" "؛ ElementNoNo.VD = Request.Run (). Empty () ؛

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

2. "العنصر المحدد مسبقًا ليس فريدًا" - hالعناصر المحددة مسبقًا:

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

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

حتى لا يحتاج أحد إلى تعديل العنصر ، لن يعرف أحد بالخطأ.

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

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

يمكن اكتشاف مثل هذه الأخطاء في قاعدة البيانات من خلال استعلام عن النموذج:

حدد أنواع معلومات الاتصال. اسم البيانات المحددة مسبقًا ، والكمية (أنواع مختلفة من معلومات الاتصال.لينك) كرقم معرف مسبقًا من الدليل أنواع معلومات الاتصال كأنواع معلومات الاتصال.

سيعيد هذا الاستعلام قائمة بالعناصر المحددة مسبقًا مع أكثر من عنصر IB مرتبط بها.

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

3. إشارة غير صالحة لعنصر محدد مسبقًا.

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

للقيام بذلك ، ما عليك سوى تنفيذ أحد الأوامر.

// تحديد عنصر IB المرتبط بالتقرير المحدد مسبقًا المطلوب (الدلائل. أنواع ContactInformation.EmailContactPerson) // تحديد العنصر المحدد مسبقًا الذي يرتبط به التقرير المحدد (ElementRef.Name of PredefinedData)

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

حسنًا ، باختصار حول الأخطاء متى العمل البرنامجيأو في وضع التهيئة:

"العنصر المحدد مسبقًا لا ينتمي إلى<Имя справочника>" - يحدث خطأ عند محاولة كتابة عنصر محدد مسبقًا باسم لا يتطابق مع الاسم الموجود في أداة التكوين المشتركة.

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

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

"العناصر المحددة مسبقًا ليست فريدة"- يتم عرض خطأ في أداة التهيئة عند التحديث قاعدة المعلوماتلإصدار تكوين بدون وضع التوافق 8.3.4. من الضروري التحقق من التكرارات وإزالتها قبل التحديث.

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

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