1C جدول SQL. هيكل تخزين قاعدة البيانات (النماذج المدارة). الاختلافات من التطبيقات الحالية
منصة 1C هي أداة رفيعة المستوى للعمل مع قواعد البيانات. بشكل عام، لا يحتاج المطور إلى التفكير في ما وكيف يحدث ذلك على جانب DBMS، لأن المنصة نفسها تقرر مقدار إنشاء الجداول وأي الحقول التي ستكون داخلها.
ومع ذلك، في مشاريع كبيرة هناك حاجة للعمل مع البيانات مباشرة، على سبيل المثال، لتحليل المعلومات عن طريق الطاقة الثالثة أو، كما في حالتي، دمج قاعدة البيانات مع التطبيقات الخارجية. في مثل هذا الموقف، من الضروري الحصول على فكرة عن حقول الجداول المادية للبحث عن المعلومات التي نحتاجها.
فقط لمثل هذه الحالة الوظيفة المدمجة المقصودة ضيف Struit هيكلية القائمة ()إرجاع جميع البيانات اللازمة في شكل جدول القيم. علاوة على ذلك، فإن بعض التفاصيل (الحقول والمؤشرات) من هذا الجدول أنفسهم طاولات من القيم.
من ناحية، كل البيانات في هيكل واحد مريحة، ولكن من ناحية أخرى، هناك صعوبات إضافية في نقل هذا الجدول إلى العميل (طريقة التنزيل ()، لسوء الحظ، لا يتم تحميل جداول متداخلة). في ضوء ذلك، يجب أن تعمل من خلال جميع تخطيطات الجدول في الدورة، والتي تؤدي إلى تباطؤ أحجام كبيرة في العمل.
فيما يتعلق بهذا، سيتم نقل الخيار الأفضل إلى أسماء وظائف كائنات البيانات الوصفية لتقليل مقدار البيانات المرتجعة. ومع ذلك، لا ترتبط جميع جداول DBMS ببيتراضات التكوين، لذلك تركت القدرة على عرض القائمة الكاملة.
المعالجة الوظيفية
عند تنشيط عنصر شجرة البيانات الوصفية، قم بملء قائمة الجداول والحقول والفهارس. مع النقر المزدوج على جذر الشجرة، يتم عرض جميع الجداول، بما في ذلك الخدمة (غير مستحسن، حيث تزيد حجم التخزين من البحث عنه).
في أجزاء جدول، تعمل أوامر البحث والمخرجات القياسية.
الاختلافات من التطبيقات الحالية
هناك العديد من المنشورات مماثلة، على سبيل المثال، و. ومع ذلك، فإن إزعاجهم هو عدم وجود شجرة بيانات تعريفية، مما يجعل من الصعب التنقل. يتم إجراء البحث أيضا باسم الجداول والحقول في قاعدة البيانات، وليس العكس.
الأقرب على الوظيفة إلى منشور المؤلف (). في المقابل، تحتوي هذه المعالجة على الشجرة الأكثر اكتمالا البيانات الوصفية (خطط التبادل، الثوابت، سجلات المستندات، إلخ). وعلاوة على ذلكيتم عرض بنية البيانات بشكل أكثر وضوحا: يتم عرض قائمة جداول كائن البيانات الوصفية، وقائمة الحقول وقائمة الفهارس في أجزاء جدول منفصلة.
Upd-2018-01-06 (v1.3). إصلاح خطأ ينشأ في وضع التوافق 8.3.7 و أعلى (سلوك النظام الأساسي).
UPD-2012-08-17 (v1.2). يتم تصحيح التصحيح للمعالجة الصحيحة للمهام التنظيمية، وقد تم تصحيح عنصر وضع خطط حساب الحساب، يتم تصحيح السلوك عند تبديل نوع الهيكل في تكوين الجذر.
ملاحظة. بعض أصحاب العمل عند تلقي العمل طرح سؤال حول عدد الجداول الفيزيائية والظاهرية للسجلات. سيكون من الجيد معرفة إجابات هذه الأسئلة، خاصة وأن هذا المستوى هو 1C: Professional. إذا كنت لا تريد فقط تعلم هذه الإجابة، ولكن أيضا "لمس" هذه الجداول، ثم هذه المعالجة لك!
هيكل في لغة البرمجة 1C 8.3 و 8.2 - مجموعة من أزواج "المفتاح" و "القيمة". يحتوي حقل "المفتاح" على نوع السلسلة، "القيمة" يمكن أن تأخذ أي نوع بيانات. تستخدم عادة للتخزين والنقل بين الإجراءات لمجموعة من أي معلمات.
يمكن إنشاء الهيكل في لغة البرمجة 1C بطريقتين يستخدمان التصميم الجديد.
الطريقة الأولى:
هيكل \u003d هيكل جديد؛
هيكل. لعقد ("Keyaparameter1"، "قيم المعلمة رقم 1")؛
هيكل. لعقد ("Keyaparameter2"، "قيم المعلمة رقم 2")؛
الطريقة الثانية:
هيكل \u003d هيكل جديد ("Keyaparameter1، Keyaparameter2"، "قيم المعلمة رقم 1"، "القيم المعلمة رقم 2")؛
ستقوم كلتا الطريقتين بإنشاء بنية يمكن رؤيتها في لقطة شاشة من تصحيح الأخطاء:
احصل على 267 دروس فيديو مقابل 1C مجانا:
التغيير
يمكنك إضافة أو تغيير الهيكل باستخدام طريقة "لصق ()".
هيكل. لعقد ("اسم Wniscu"، لا معنى له)؛
إذا كنت ترغب في تغيير قيمة المفتاح القديم، فأدخل اسمها. إذا قمت بإضافة مفتاح جديد، أضف اسم فريد نسبي إلى جميع مفاتيح الهيكل.
لحذف عنصر التجميع، تحتاج إلى استخدام طريقة الحذف حيث لنقل اسم المفتاح:
هيكل. الافراج عن ("اسم Wniscu")؛
من الممكن أيضا تنظيف جميع كائنات المجموعة:
هيكل. لإرضاء ()؛
تجاوز الهيكل
للذهاب إلى مجموعة من الهيكل، تحتاج إلى استخدام التصميم "لكل مفتاح من هيكل الدورة".
على سبيل المثال:
لكل مفتاح من هيكل الدورة
...... // العملية، على سبيل المثال، تغيير القيم
ننطف
سترى كل دورة أن الحقول التالية ستكون متاحة:
البيانات التي تحدد منطق عمل النظام بناء على 1C: تنتمي الشركات إلى قاعدة المعلومات. يتم تنفيذ تخزين قاعدة المعلومات في قاعدة بيانات مع مجموعة من الجداول، والتي يمكن أن تستخدم 1C: Enterprise 8.1 واحدة من أربعة أنظمة إدارة قواعد البيانات (DBMS):
* المدمجفي 1C: Enterprise 8.1 (ملف خيار قاعدة المعلومات). في هذه الحالة، يتم تخزين جميع بيانات قاعدة بيانات المعلومات في الملف باسم 1CV8.1CD. يحتوي هذا الملف على تنسيق ثنائي وهو قاعدة بيانات في الأساس لعام 1C: Enterprise 8.1 DBMS.
* خادم Microsoft SQL (إصدار خادم العميل من قاعدة المعلومات). يتم تخزين جميع بيانات قاعدة بيانات المعلومات في قاعدة بيانات Microsoft SQL Server.
* postgresql. (إصدار خادم العميل من قاعدة المعلومات). يتم تخزين جميع بيانات قاعدة بيانات المعلومات في قاعدة بيانات postgresql.
* IBM DB2. (إصدار خادم العميل من قاعدة المعلومات). يتم تخزين جميع بيانات قاعدة بيانات المعلومات في قاعدة بيانات IBM DB2.
على مستوى كائنات قاعدة البيانات (الجداول، الحقول، الفهارس، إلخ.) كملف، وبالتالي إصدار خادم العميل من قاعدة المعلومات له تنسيق مشابه (يتميز بأجزاء غير ضئيلة). بعض المعلومات حول هذا التنسيق موجود أدناه.
يتم تقديم قاعدة المعلومات بأكملها في قاعدة البيانات في شكل مجموعة من الجداول. من بينها عدة جداول موجودة بالضرورة في تمثيل أي قاعدة معلومات:
* التكوين - التكوين الرئيسي لقاعدة المعلومات. يتوافق هذا التكوين مع هيكل البيانات الحقيقي واستخدامه 1C: Enterprise 8.0 في وضع المؤسسة.
* configsave. - التكوين الذي تم تحريره بواسطة Configurator. يتم إعادة كتابة التكوين من Configsave إلى التكوين عند تنفيذ "تحديث تكوين قاعدة البيانات" في Configurator، والعكس صحيح - عند التشغيل في تكوين التشغيل، التكوين - تكوين قاعدة بيانات - العودة إلى تكوين قاعدة البيانات ".
* الملفات. يحتوي على معلومات الخدمة، مثل العمل مع تخزين التكوين.
* المعالم. يحتوي على معلمات قاعدة المعلومات. فيما بينها:
=>
قائمة مستخدمي قاعدة بيانات المعلومات.
=>
إعدادات قاعدة المعلومات الوطنية.
=>
جدول مطابقة كائنات البيانات الوصفية وكائنات قاعدة البيانات (الجداول، الحقول، الفهارس).
=>
بعض المعلومات الأخرى.
* _yearoffet. - إزاحة التواريخ في قاعدة البيانات. يتم إنشاء هذا الجدول فقط عند استخدام Microsoft SQL Server.
* dbschema. يحتوي على معلومات حول بنية بنية قاعدة البيانات 1C: الشركات وتحدد كائنات قاعدة البيانات الأخرى المستخدمة من خلال قاعدة المعلومات هذه.
في بداية 1C: تقوم الشركة بفحص وجود الجداول المدرجة في قاعدة المعلومات وفي حالة عدم وجود أي منهم، يتم إصدار رسالة "قاعدة المعلومات". عدم وجود جميع الجداول المدرجة يعني أن قاعدة المعلومات فارغة. في الحالة الأخيرة، سيتم إنشاء هذه الجداول.
يتم تحديد قائمة ومهانيا جداول قاعدة البيانات الأخرى عن طريق تكوين محدد، مع تحديدها في كائنات البيانات الوصفية. يتكون اسم كل طاولة من بادئة أبجدية والرقم التالي وراء ذلك. يحدد البادئة الغرض من الجدول، ويتيح لك الرقم التمييز بين جداول الوجهة ذات الصلة بأكائن بيانات تعريف مختلفة. إذا تم استخدام IBM DB2 ك DBMS، فإن الهيكل الموصوف لا يحتوي على أسماء جدول، ولكن أسماء المستعارات الخاصة بهم.
إذا حدد التكوين خطة تبادل واحدة على الأقل مع علامة "قاعدة المعلومات الموزعة"، فسيتم إنشاء الجداول التالية:
* _configchangerec. - جدول تسجيل التغييرات في كائنات التكوين.
* _configchangerec_extprops. - جدول أسماء الملفات ذات الخصائص الخارجية المعدلة لكائنات التكوين.
يتم سرد كائنات البيانات الوصفية التالية أدناه، والتي قد تتوافق مع جداول معينة.
* الثوابت
=>
تحتوي _كونستس على القيم الحالية لجميع الثوابت المحددة في التكوين.
=>
_Constschangerec - تغيير جدول التغيير ثابت. يتم إنشاءه إذا شارك ثابت واحد على الأقل في خطة تبادل واحدة على الأقل.
* خطط التبادل
=>
_العقدة.
=>
_العقدة.
* الكتب المرجعية
=>
_المرجعي
=>
_المرجعي
=>
_referencechangerec.
* توثيق
=>
_وثيقة
=>
_وثيقة
=>
_documentchangerec.
* تسلسل الوثائق
=>
_تسلسل
=>
_ في الوقت بناؤها
=>
_SewenceChangerec.
* سجلات المستندات.
=>
_DocumentJournal.
* تعداد
=>
_enum.
* ميزات الخصائص
=>
_chrc.
=>
_chrc.
=>
_chrcchangerec.
* خطط الحساب
=>
_ACC.
=>
_ACC.
=>
_ACC.
=>
_accchangerec.
* خطط للحساب
=>
_calckind.
=>
_calckind.
=>
_calckind.
=>
_calckind.
=>
_calckinddn.
=>
_calckind.
=>
_calckindchangerec.
* سجلات المعلومات
=>
_inforeg.
=>
_inforegchangerec.
* سجلات التراكم
=>
_accumreg.
=>
_accumregtotals.
=>
_accumregturnovers.
=>
_accumregchangerec.
=>
_accumregoptions - جدول إعدادات التخزين لسجلات التخزين واحدة إلى جميع سجلات التراكم.
* سجلات المحاسبة
=>
_Affntreg.
=>
_Affntreged.
=>
_accttl0.
=>
_accttl.
=>
_accttlc.
=>
_Affntregchangerec.
=>
_Affntregongtions - جدول إعدادات التخزين الجدول واحد لجميع سجلات المحاسبة.
* سجلات حساب
=>
_calcreg.
=>
_calcregArtper.
=>
_calcregchangerec.
=>
_calcrecrecalc.
=>
_calcrecrecalcchangerec.
* العمليات التجارية
=>
_bproutepoint.
=>
_طريقة العمل
=>
_طريقة العمل
=>
_BusinessProcesschangerec.
* مهام
=>
_مهمة.
=>
_مهمة.
=>
_taskchangerec.
عند استخدام IBM DB2، تبدأ البادئات الخاصة بجدول المستشفيات من رمز الشرطة السفلية، ولكن على الفور من الموضوع.
يعتمد عدد هذه الجداول على وظائف التكوين ويمكن أن يكون كبيرا جدا. في الوضع العادي 1C: لا تتحقق الشركة وجودها، وكذلك سلامة واتساق البيانات الواردة فيها. لذلك، من المهم أن قاعدة البيانات التي تكون فيها قاعدة المعلومات 1C هي: الشركات 8.1، تم حمايةها من الوصول غير المصرح به وتم إجراء تعديله إلا عن طريق 1C: الشركات. للتحقق، يجب عليك استخدام ميزة "الاختبار والإصلاح" المدمج في التكوين.
من المهم أيضا إجراء النسخ الاحتياطي واستعادة قاعدة البيانات تخزين قاعدة المعلومات فقط. تحقيقا لهذه الغاية، يوصى باستخدام أدوات النسخ الاحتياطي لقاعدة البيانات المضمنة في DBMS المستخدمة. النسخ الاحتياطي لإصدار الملفات من قاعدة بيانات المعلومات يمكن أن يتم من خلال نسخ ملف 1CV8.1CD.
يحتوي Configurator على ميزة خاصة: الإدارة - تفريغ قاعدة المعلومات. مع ذلك، يمكنك إلغاء تحميل إلى الملف المحدد (ملف تفريغ) جميع البيانات المتعلقة بقاعدة المعلومات، ولم تعد. تتيح لوظيفة "تنزيل معلومات معلومات التنزيل" تنزيل قاعدة المعلومات الحالية بدلا من تنزيل جميع البيانات الموجودة من ملف تفريغ. يمكن أيضا استخدام هذه الوظائف لدعم بيانات قاعدة المعلومات في كل من الملف وفي إصدار خادم العميل.