جدول 1C SQL. ساختار ذخیره سازی پایگاه داده (فرم های مدیریت شده). تفاوت از پیاده سازی های موجود

پلت فرم 1C یک ابزار سطح بالا برای کار با پایگاه های داده است. به طور کلی، توسعه دهنده نیازی به فکر کردن در مورد آنچه و نحوه وقوع آن در کنار DBMS نیست، زیرا پلت فرم خود تصمیم می گیرد که چه مقدار برای ایجاد جداول و چه زمینه ای در داخل آنها باشد.

با این حال، در پروژه های بزرگ نیاز به کار با داده ها به طور مستقیم، به عنوان مثال، برای تجزیه و تحلیل اطلاعات توسط ابزار شخص ثالث و یا، به عنوان در مورد من، ادغام پایگاه داده با برنامه های خارجی وجود دارد. در چنین شرایطی، لازم است که ایده هایی از جداول فیزیکی را به دنبال اطلاعاتی که ما نیاز داریم، داشته باشیم.

فقط برای چنین موردی ساخته شده در نظر گرفته شده است استرالیا گودال بر اساس ساختاری ()بازگشت تمام اطلاعات لازم را در قالب یک جدول از مقادیر. علاوه بر این، برخی از جزئیات (زمینه ها و شاخص ها) این جدول خود جداول ارزش هستند.

از یک طرف، تمام داده ها در یک ساختار راحت است، اما، از سوی دیگر، مشکلات اضافی با انتقال این جدول به مشتری وجود دارد (روش دانلود ()، متاسفانه، جداول توت فرنگی را بارگیری نمی کند). با توجه به این، شما باید از طریق تمام طرح بندی جدول در چرخه اجرا کنید، که در حجم های بزرگ منجر به کاهش سرعت کار می شود.

در ارتباط با این، بهترین گزینه به نام تابع اشیاء متادیتا منتقل می شود تا میزان داده های بازگشتی را کاهش دهد. با این حال، تمام جداول DBMS با متادیتا پیکربندی همراه نیستند، بنابراین من توانایی مشاهده لیست کامل را ترک کردم.

پردازش عملکرد

هنگامی که عنصر درخت متادیتا را فعال می کنید، لیست جداول، زمینه ها و شاخص ها را پر کنید. با دوبار کلیک بر روی ریشه درخت، تمام جداول نمایش داده می شود، از جمله سرویس (توصیه نمی شود، زیرا حجم داده ها جستجو را افزایش می دهد).

در بخش های جدولی، دستورات استاندارد جستجو و خروجی استاندارد عمل می کنند.

تفاوت از پیاده سازی های موجود

برای مثال، چندین نشریه مشابه وجود دارد و. با این حال، ناراحتی آنها فقدان یک درخت فراداده است، که باعث می شود حرکت آن دشوار باشد. جستجو نیز توسط نام جداول و زمینه های پایگاه داده انجام می شود و نه برعکس.

نزدیک ترین عملکرد به انتشار نویسنده (). در مقابل، این پردازش شامل کامل ترین درخت است ابرداده (برنامه های مبادله، ثابت، اسناد سیاهههای مربوط، و غیره). علاوه بر اینساختار داده ها به وضوح ارائه شده است: لیست جداول شیء متادیتا، لیست زمینه ها و فهرست شاخص ها در بخش های جداگانه جداگانه نمایش داده می شود.

Upd-2018-01-06 (v1.3). یک خطا ناشی از حالت سازگاری 8.3.7 و بالاتر (رفتار پلت فرم) ثابت شده است.

upd-2012-08-17 (v1.2). این پچ برای پردازش صحیح وظایف نظارتی ساخته شده است، آیتم های ساخت گونه های محاسبه شده اصلاح شده است، رفتار هنگامی که تغییر نوع ساختار در پیکربندی ریشه اصلاح شده است.

P.S. برخی از کارفرمایان هنگام دریافت کار، یک سوال در مورد تعداد جداول فیزیکی و مجازی برای ثبت نام ها سوال می کنند. خوب است که پاسخ به این سوالات را بدانیم، به خصوص از آنجایی که این سطح 1C است: حرفه ای. اگر می خواهید نه تنها برای یادگیری این پاسخ، بلکه همچنین این جداول را لمس کنید، پس این پردازش برای شما مناسب است!

ساختار در زبان برنامه نویسی 1C 8.3 و 8.2 - مجموعه ای از جفت های "کلید" و "ارزش". فیلد "کلید" دارای نوع رشته ای است، "مقدار" می تواند هر نوع داده را بگیرد. معمولا برای ذخیره سازی و انتقال بین روش ها برای مجموعه ای از پارامترها استفاده می شود.

ساختار در زبان برنامه نویسی 1C می تواند به دو روش با استفاده از طراحی جدید ایجاد شود.

اولین راه:

ساختار \u003d ساختار جدید؛
ساختار. نگه داشتن ("keyaparameter1"، "مقادیر پارامتر شماره 1")؛
ساختار. نگه داشتن ("keyaparameter2"، "مقادیر پارامتر شماره 2")؛

راه دوم:

ساختار \u003d ساختار جدید ("keyaparameter1، keyparameter2"، "مقادیر پارامتر شماره 1"، "مقادیر پارامتر شماره 2")؛

هر دو روش یک ساختار را ایجاد می کنند که می تواند در تصویر از اشکال زدایی دیده شود:

دریافت 267 آموزش ویدئویی برای 1C به صورت رایگان:

تغییر

شما می توانید ساختار را با استفاده از روش "Paste ()" تغییر دهید یا تغییر دهید.

ساختار. نگه داشتن ("نام wniscu"، بی معنی)؛

اگر می خواهید مقدار کلید قدیمی را تغییر دهید، نام آن را وارد کنید. اگر یک کلید جدید اضافه کنید، یک نام منحصر به فرد نسبت به تمام کلیدهای ساختمانی اضافه کنید.

برای حذف عنصر جمع آوری، شما باید از روش حذف که در آن برای انتقال نام کلیدی استفاده کنید:

ساختار انتشار ("نام wniscu")؛

همچنین امکان تمیز کردن تمام اشیاء مجموعه وجود دارد:

ساختار. لطفا ()؛

دور زدن ساختار

برای رفتن به مجموعه ای از ساختار، شما باید از طراحی "برای هر کلید از ساختار چرخه" استفاده کنید.

مثلا:

برای هر کلید از ساختار چرخه
...... // فرآیند، به عنوان مثال، مقادیر را تغییر دهید
Endcycle؛

هر چرخه دیده می شود که زمینه های زیر در دسترس خواهند بود:

داده هایی که منطق عملکرد سیستم را بر اساس 1C تعریف می کنند: شرکت ها متعلق به پایگاه اطلاعاتی هستند. ذخیره سازی پایگاه اطلاعاتی در یک پایگاه داده با مجموعه ای از جداول انجام می شود که برای آن 1C: Enterprise 8.1 می تواند از یکی از چهار سیستم مدیریت پایگاه داده (DBMS) استفاده کند:
* ساخته شده استدر 1C: Enterprise 8.1 (گزینه فایل پایگاه اطلاعاتی). در این مورد، تمام اطلاعات پایگاه داده اطلاعات در فایل با نام 1cv8.1cd ذخیره می شود. این فایل دارای فرمت دودویی است و اساسا یک پایگاه داده برای ساخته شده در 1C: Enterprise 8.1 DBMS است.
* مایکروسافت SQL Server (نسخه مشتری سرور پایگاه اطلاعاتی). تمام اطلاعات پایگاه داده اطلاعات در پایگاه داده Microsoft SQL Server ذخیره می شود.
* postgresql (نسخه مشتری سرور پایگاه اطلاعاتی). تمام اطلاعات پایگاه داده اطلاعات در پایگاه داده PostgreSQL ذخیره می شود.
* IBM DB2. (نسخه مشتری سرور پایگاه اطلاعاتی). تمام اطلاعات پایگاه داده اطلاعات در پایگاه داده IBM DB2 ذخیره می شود.

در سطح اشیاء پایگاه داده (جداول، زمینه ها، شاخص ها، و غیره) به عنوان یک فایل به طوری و نسخه سرویس گیرنده سرور پایگاه اطلاعات دارای فرمت مشابهی (مشخص شده توسط قطعات ناچیز) است. برخی از اطلاعات مربوط به این فرمت در زیر آمده است.

کل پایگاه اطلاعاتی در پایگاه داده به صورت مجموعه ای از جداول ارائه شده است. در میان آنها جداول متعددی وجود دارد که لزوما در نمایندگی از هر پایگاه اطلاعاتی وجود دارد:

* پیکربندی - پیکربندی اصلی پایگاه اطلاعاتی. این پیکربندی مربوط به ساختار داده واقعی است و از 1C: Enterprise 8.0 در حالت سازمانی استفاده می شود.
* پیکربندی - پیکربندی ویرایش شده توسط configurator. پیکربندی از Configsave در هنگام اجرای "به روز رسانی پیکربندی پایگاه داده" در پیکربندی بازنویسی می شود و بالعکس - هنگام اجرای پیکربندی عملیات، "پیکربندی - پیکربندی پایگاه داده - بازگشت به پیکربندی پایگاه داده".
* فایل ها. شامل اطلاعات خدمات، مانند کار با ذخیره سازی پیکربندی.
* پارامس شامل پارامترهای پایگاه اطلاعاتی است. در میان آنها:
=> فهرست کاربران پایگاه داده اطلاعات.
=> تنظیمات پایه اطلاعات ملی.
=> جدول انطباق اشیاء فراداده و اشیاء پایگاه داده (جداول، زمینه ها، شاخص ها).
=> برخی از اطلاعات دیگر.
* _yearoffset - جابجایی تاریخ در پایگاه داده. این جدول تنها هنگام استفاده از مایکروسافت SQL Server ایجاد شده است.
* dbschema شامل اطلاعات مربوط به ساختار ساختار پایگاه داده 1C: شرکت ها و تعیین سایر اشیاء پایگاه داده استفاده شده توسط این پایگاه اطلاعاتی است.

در آغاز 1C: شرکت حضور جداول ذکر شده در پایگاه اطلاعات را بررسی می کند و در غیاب هر یک از آنها پیام "پایگاه اطلاعات تخریب شده" صادر می شود. فقدان تمام جداول ذکر شده به این معنی است که پایگاه اطلاعات خالی است. در مورد دوم، این جداول ایجاد خواهد شد.

لیست و ساختار دیگر جداول پایگاه داده توسط یک پیکربندی خاص تعیین می شود، یعنی در اشیاء فراداده آن تعریف شده است. نام هر جدول شامل یک پیشوند الفبایی و شماره بعدی پشت آن است. پیشوند هدف از جدول را تعیین می کند، و تعداد به شما اجازه می دهد تا جداول جداول مقصد مربوط به اشیاء مختلف متادیتا را تشخیص دهید. اگر IBM DB2 به عنوان یک DBM استفاده شود، ساختار توصیف شده هیچ نام جدول ندارد، اما نام مستعار آنها.

اگر پیکربندی حداقل یک طرح مبادله را با پرچم اطلاعات توزیع شده تعریف کند، جداول زیر ایجاد می شود:

* _Configchangerec. - جدول ثبت تغییرات در اشیاء پیکربندی.
* _Configchangerec_extProps. - جدول نام فایل از خواص خارجی اصلاح شده از اشیاء پیکربندی.

اشیاء متادیتای زیر در زیر فهرست شده اند که ممکن است به جداول خاصی متصل شوند.

* ثابت
=> _Conss حاوی مقادیر فعلی تمام ثابت های تعریف شده در پیکربندی است.
=> _ConsTSchangerec - تغییر تغییر جدول ثابت. این ایجاد شده است اگر حداقل یک ثابت در حداقل یک برنامه مبادله شرکت کند.
* برنامه های تبادل
=> _NODE. - جدول تبادل جدول
=> _NODE. _vt. - بخش جدول طرح مبادله برای هر بخش جدولی ایجاد شده است.
* کتاب های مرجع
=> _ارجاع - جدول کتاب مرجع
=> _ارجاع _vt. - بخش های جدول کتاب مرجع - برای هر بخش جدولی.
=> _ReferEnchechangerec - جدول ثبت نام تغییرات تماس مرجع. اگر دایرکتوری حداقل یک طرح مبادله شرکت داشته باشد، ایجاد شده است.
* مستندات
=> _document - جدول اسناد برای هر ابعاد متادیتا "سند".
=> _document _vt. - جدول بخشی از سند - برای هر بخش جدولی از هر سند.
=> _documentchangerec - جدول ثبت تغییرات در "سند" نوع متادیتا شی. این برای هر نوع نوع متادیتا نوع "سند" ایجاد شده است اگر آن را در حداقل یک برنامه تبادل شرکت کند.
* توالی اسناد
=> _توالی - جدول ثبت سند - برای هر دنباله.
=> _ همجنسگرا - جدول مرزهای توالی - برای هر دنباله.
=> _ همجنسگرایان - جدول ثبت تغییرات در دنباله. این برای هر دنباله ای ایجاد شده است که در حداقل یک طرح مبادله شرکت می کند.
* سیاهههای مربوط به سند
=> _DocumentJournal - جدول ثبت سند برای هر ورود به سیستم ایجاد شده است.
* شمارش
=> _ - جدول فهرست یکی برای هر لیست است.
* ویژگی های ویژگی ها
=> _chrc - جدول پایه طرح ویژگی.
=> _chrc _vt. - بخش جداول از نوع ویژگی ها - برای هر بخش جدولی.
=> _chrcchangerec - جدول ثبت تغییرات در طرح ویژگی ها. اگر طرح ویژگی ها در حداقل یک طرح مبادله شرکت داشته باشد، ایجاد شده است.
* برنامه های حساب
=> _ حساب - جدول جدول پایه جدول.
=> _ حساب _extdim - جدول انواع برنامه حساب Subconto، برای برنامه حساب کاربری در صورتی که حداکثر تعداد زیرکوونتو بیشتر از صفر باشد، ایجاد شده است.
=> _ حساب _vt. - بخش جدول برنامه حساب برای هر بخش جدولی از برنامه حساب ایجاد شده است.
=> _accchangerec. - جدول ثبت تغییرات در برنامه حساب. اگر برنامه حساب حداقل یک طرح مبادله شرکت کند، ایجاد شده است.
* برنامه های محاسبه
=> _calckind - جدول پایه طرح برنامه محاسبه.
=> _calckind _Baseck یک جدول از گونه های محاسبه اساسی است، آن را برای طرح گونه های محاسبه شده در صورتی که "وابستگی به پایه"، ارزش دیگری را به جز "بستگی ندارد" ایجاد شده است.
=> _calckind _DisPlecedck - جدول از گونه های محاسبه جابجایی، برای طرح گونه های محاسبه شده در صورت استفاده از یک "از یک دوره عمل" ایجاد شده است.
=> _calckind _ Leadingck - جدول از انواع محاسبه پیشرو - برای هر طرح از گونه های محاسبه.
=> _calckinddn - جدول کمکی برای سفارش جابجایی، اگر طرح گونه های محاسبه شده به "استفاده از دوره عمل" تنظیم شود، ایجاد شده است.
=> _calckind _vt. - بخشی از طرح گونه های محاسبه شده برای هر بخش جدولی ایجاد می شود.
=> _calckindchangerec - جدول ثبت تغییرات در طرح گونه های محاسبه. اگر طرح گونه های گونه در حداقل یک طرح مبادله شرکت کنند، ایجاد شده است.
* ثبت اطلاعات
=> _inforeg - جدول حرکات ثبت اطلاعات.
=> _inforegchangerec - جدول ثبت تغییرات در ثبت نام اطلاعات. اگر ثبت اطلاعات حداقل یک طرح مبادله شرکت کند، ایجاد شده است.
* انباشت ثبت
=> _accumreg - جدول حرکت ثبت انباشت.
=> _accumregtotals. - جدول نتیجه ثبت انباشت، اگر ثبت نام از بقایای پشتیبانی می کند.
=> _accumregturnovers - جدول ثبت انباشت، اگر ثبت نام از نوبت پشتیبانی کند.
=> _accumregchangerec - جدول ثبت تغییرات ثبت انباشت. اگر ثبت انباشت در حداقل یک طرح مبادله شرکت کند، ایجاد شده است.
=> _accumregptions - جدول تنظیمات ذخیره سازی برای ذخیره سازی ثبت نام یکی به تمام ثبت انباشت.
* ثبت نام حسابداری
=> _ACCNTREG - جدول حرکات حسابداری حسابداری.
=> _ حسابداری - جدول مقادیر ثبت نام حسابداری Subconto ایجاد می شود اگر آن را به برنامه حساب اشاره می کند، که حداکثر تعداد زیرمجموعه بیش از صفر است.
=> _ACCTTL0 - جدول نتیجه در حساب.
=> _ACCTTL - جایی که من از 1 تا حداکثر تعداد subconto. جدول نتیجه در حساب با تعداد انواع Subconto برابر با من.
=> _ACCTTLC - جدول سرعت انقلاب بین حساب ها، فقط برای حسابداری حسابداری حسابداری.
=> _accntregchangerec - جدول ثبت تغییرات ثبت نام حسابداری. اگر ثبت نام حسابداری حداقل یک برنامه مبادله ایجاد شود، ایجاد شده است.
=> _ACCNTREGOPTIONS - جدول تنظیمات ذخیره سازی جدول یکی برای تمام ثبت های حسابداری.
* حسابداری حسابداری
=> _calcreg - جدول حرکت ثبت نام حسابداری.
=> _ calcregactper - جدول دوره های واقعی اقدام برای ثبت محاسبات، اگر ثبت محاسبات یک پرچم "دوره عمل" داشته باشد، ایجاد شده است.
=> _calcregchangerec - جدول ثبت تغییرات در ثبت محاسبات. برای هر ثبت نام حسابداری حداقل در یک برنامه مبادله ایجاد شده است.
=> _calcregrecalcalc - جدول بازنشستگی ثبت محاسبات، برای هر بار محاسبه شده است.
=> _calcregregrecalcalchangerec. - جدول ثبت تغییرات در محاسبه مجدد. این امر ایجاد شده است اگر محاسبه حداقل در یک برنامه تبادل مشابه شرکت کند.
* فرآیندهای کسب و کار
=> _BPROUTEPOINT - نقاط جدول مسیر روند کسب و کار برای هر فرآیند کسب و کار.
=> _فرآیند کاری - جدول فرآیند کسب و کار پایه
=> _فرآیند کاری _vt. - فرآیند کسب و کار جدول برای هر بخش جدولی.
=> _businessprocesschangerec. - جدول ثبت نام فرآیند کسب و کار تغییر می کند. این برای هر فرآیند کسب و کار شرکت حداقل یک طرح مبادله ایجاد شده است.
* وظایف
=> _وظیفه. - جدول وظیفه اصلی
=> _وظیفه. _vt. - بخش های جدول کار برای هر بخش جدولی.
=> _taskchangerec - ثبت جدول تغییرات در وظایف. این برای هر شی از نوع متادیتا نوع "کار" ایجاد شده است، که در حداقل یک برنامه تبادل شرکت می کند.

هنگام استفاده از IBM DB2، پیشوند های نام مستعار جدول از نماد زیر خطی شروع نمی شوند، بلکه بلافاصله از موضوع.

تعداد این جداول بستگی به عملکرد پیکربندی دارد و می تواند بسیار بزرگ باشد. در حالت عادی 1C: این شرکت حضور خود را بررسی نمی کند، و همچنین یکپارچگی و سازگاری داده های موجود در آنها. بنابراین، مهم است که پایگاه داده ای که در آن پایگاه اطلاعاتی 1C است: شرکت ها 8.1، از دسترسی غیر مجاز محافظت شده و اصلاح آن تنها با استفاده از 1C انجام شد: شرکت ها. برای بررسی، شما باید از ویژگی "مدیریت - تست و رفع" ساخته شده در پیکربندی استفاده کنید.

همچنین مهم است که پشتیبان گیری و بازگرداندن پایگاه داده ذخیره سازی پایگاه اطلاعاتی تنها انجام شود. برای این منظور، توصیه می شود از ابزار پشتیبان گیری پایگاه داده ساخته شده در DBMS استفاده شود. پشتیبان گیری از نسخه فایل پایگاه داده اطلاعات را می توان با کپی کردن فایل 1cv8.1cd انجام داد.

پیکربندی دارای ویژگی خاصی است: مدیریت - پایگاه اطلاعات را تخلیه کنید. با استفاده از آن، شما می توانید به فایل مشخص شده (فایل تخلیه) تمام داده های مربوط به پایگاه اطلاعات را بارگیری کنید و دیگر دیگر. تابع "دانلود پایگاه داده اطلاعات" اجازه می دهد تا آن را به دانلود پایگاه اطلاعات فعلی به جای دانلود موجود تمام داده ها از فایل تخلیه. این توابع همچنین می تواند برای پشتیبان گیری از داده های پایگاه اطلاعات در هر دو فایل و در نسخه سرویس گیرنده سرور استفاده شود.