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 - تغيير جدول التغيير ثابت. يتم إنشاءه إذا شارك ثابت واحد على الأقل في خطة تبادل واحدة على الأقل.
* خطط التبادل
=> _العقدة. - صرف خطة الجدول.
=> _العقدة. _vt. - يتم إنشاء جزء الجدول من خطة Exchange لكل جزء مجبر.
* الكتب المرجعية
=> _المرجعي - جدول الكتاب المرجعي.
=> _المرجعي _vt. - جدول أجزاء الكتاب المرجعي - لكل جزء مجبر.
=> _referencechangerec. - جدول تسجيل تغييرات المكالمات المرجعية. يتم إنشاؤه إذا كان الدليل يشارك في خطة تبادل واحدة على الأقل.
* توثيق
=> _وثيقة - جدول الوثائق لكل كائن بيانات التعريف "وثيقة".
=> _وثيقة _vt. - جدول جزء من المستند - لكل جزء مجبر من كل مستند.
=> _documentchangerec. - جدول تسجيل التغييرات في كائن بيانات تعريف "المستند". يتم إنشاؤه لكل نوع من نوع الوصف "المستند" إذا شارك في خطة تبادل واحدة على الأقل.
* تسلسل الوثائق
=> _تسلسل - جدول تسجيل المستندات - لكل تسلسل.
=> _ في الوقت بناؤها - جدول حدود التسلسل - لكل تسلسل.
=> _SewenceChangerec. - جدول تسجيل التغييرات في التسلسل. يتم إنشاؤه لكل تسلسل يشارك في خطة تبادل واحدة على الأقل.
* سجلات المستندات.
=> _DocumentJournal. - يتم إنشاء جدول سجل المستندات لكل سجل مستند.
* تعداد
=> _enum. - جدول القائمة هو واحد لكل قائمة.
* ميزات الخصائص
=> _chrc. - الجدول الأساسي لخطة الخصائص.
=> _chrc. _vt. - جزء Tabsal من نوع الخصائص - لكل جزء مجدول.
=> _chrcchangerec. - جدول تسجيل التغييرات في خطة الخصائص. تم إنشاؤه إذا كانت خطة الخصائص تشارك في خطة تبادل واحدة على الأقل.
* خطط الحساب
=> _ACC. - جدول خطة الجدول الأساسية.
=> _ACC. _extdim - يتم إنشاء جدول أنواع خطة حساب Subconto، لخطة الحساب في حال أن الحد الأقصى لعدد الفرع الفرعي أكبر من الصفر.
=> _ACC. _vt. - يتم إنشاء جزء الجدول من خطة الحساب لكل جزء جدول من خطة الحساب.
=> _accchangerec. - جدول تسجيل التغييرات في خطة الحساب. يتم إنشاءه إذا كانت خطة الحساب تشارك بخطة تبادل واحدة على الأقل.
* خطط للحساب
=> _calckind. - الجدول الأساسي لخطة خطة الحساب.
=> _calckind. _Baseck هو جدول من أنواع الحساب الأساسية، يتم إنشاؤه لخطة الحساب في حالة وجود خاصية "اعتمادها على قاعدة" له قيمة أخرى غير "لا تعتمد".
=> _calckind. _Displacedck - جدول أنواع الحساب النازحين، يتم إنشاؤه لخطة أنواع الحساب في حالة وجود "يستخدم فترة عمل".
=> _calckind. _LeadingCK - جدول أنواع الحسابات الرائدة - لكل خطة من أنواع الحساب.
=> _calckinddn. - الجدول الإضافي لترتيب النزوح، يتم إنشاؤه إذا تم تعيين خطة أنواع الحساب على "استخدام فترة الإجراء".
=> _calckind. _vt. - يتم إنشاء جزء الجدول من خطة أنواع الحساب لكل جزء مجبري.
=> _calckindchangerec. - جدول تسجيل التغييرات في خطة الحساب. يتم إنشاؤه إذا كانت خطة الأنواع تشارك في خطة تبادل واحدة على الأقل.
* سجلات المعلومات
=> _inforeg. - جدول تحركات تسجيل المعلومات.
=> _inforegchangerec. - جدول تسجيل التغييرات في سجل المعلومات. يتم إنشاؤه إذا كان سجل المعلومات يشارك في خطة تبادل واحدة على الأقل.
* سجلات التراكم
=> _accumreg. - جدول حركة سجل التراكم.
=> _accumregtotals. - جدول نتائج سجل التراكم، إذا كان السجل يدعم البقايا.
=> _accumregturnovers. - جدول تسجيل التراكم، إذا كان السجل يدعم المنعطفات.
=> _accumregchangerec. - جدول تسجيل التغييرات في سجل التراكم. يتم إنشاءه إذا كان سجل التراكم يشارك في خطة تبادل واحدة على الأقل.
=> _accumregoptions - جدول إعدادات التخزين لسجلات التخزين واحدة إلى جميع سجلات التراكم.
* سجلات المحاسبة
=> _Affntreg. - جدول حركات تسجيل المحاسبة.
=> _Affntreged. - يتم إنشاء جدول قيم سجل المحاسبة الفرعية إذا كان يشير إلى خطة الحساب، والتي لها عدد أقصى عدد من Subconto أكثر من الصفر.
=> _accttl0. - جدول النتيجة على الحساب.
=> _accttl. - أين أنا من 1 إلى الحد الأقصى لعدد Subconto. جدول النتيجة على حساب عدد أنواع Subconto يساوي i.
=> _accttlc. - جدول سرعة الثورات بين الحسابات، فقط للمراسلات دعم سجل المحاسبة.
=> _Affntregchangerec. - جدول تسجيل التغييرات في سجل المحاسبة. يتم إنشاءه إذا كان السجل المحاسبي يشارك في خطة تبادل واحدة على الأقل.
=> _Affntregongtions - جدول إعدادات التخزين الجدول واحد لجميع سجلات المحاسبة.
* سجلات حساب
=> _calcreg. - جدول حركة سجل الحساب.
=> _calcregArtper. - جدول الفترات الفعلية للعمل في سجل الحساب، يتم إنشاؤه إذا كان سجل الحساب لديه علامة "فترة عمل".
=> _calcregchangerec. - جدول تسجيل التغييرات في سجل الحساب. تم إنشاؤها لكل سجل حساب مشاركة على الأقل في خطة تبادل واحدة.
=> _calcrecrecalc. - جدول إعادة حساب تسجيل الحساب، يتم إنشاؤه لكل إعادة حساب.
=> _calcrecrecalcchangerec. - جدول تسجيل التغييرات في إعادة الحساب. يتم إنشاؤه إذا شارك إعادة الحساب في نفس خطة التبادل نفسها على الأقل.
* العمليات التجارية
=> _bproutepoint. - نقاط جدول مسار عملية الأعمال لكل عملية تجارية.
=> _طريقة العمل - جدول عملية الأعمال الأساسية.
=> _طريقة العمل _vt. - عملية الأعمال الجدولية لكل جزء مجبر.
=> _BusinessProcesschangerec. - جدول تسجيل تغييرات عملية الأعمال. يتم إنشاؤه لكل عملية تجارية مشاركة بخطة تبادل واحدة على الأقل.
* مهام
=> _مهمة. - جدول المهام الرئيسية.
=> _مهمة. _vt. - جدول أجزاء المهمة لكل جزء مجبر.
=> _taskchangerec. - جدول تسجيل التغييرات في المهام. يتم إنشاؤه لكل كائن من نوع الوصف الأول "المهمة"، والتي تشارك في خطة تبادل واحدة على الأقل.

عند استخدام IBM DB2، تبدأ البادئات الخاصة بجدول المستشفيات من رمز الشرطة السفلية، ولكن على الفور من الموضوع.

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

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

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