کنترل قفل تراکنش ترجمه پیکربندی به قفل قفل اتوماتیک قفل اتوماتیک در معامله نامعتبر است

دلایل اصلی انتقال به قفل های مدیریت شده:

  • دلیل اصلی این است که توصیه 1C: متخصص بر اساس خواندن یا 1C: PC
  • مشکلات با عملکرد موازی کاربران ()
  • استفاده از اوراکل، postgresql و.

هزینه کار:

ماهیت مسدود شدن کنترل شده

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

این راحت I. رویکرد درست برای مقدار کم کاربران فعال قیمت سهولت توسعه، مقدار مشخصی از مسدود کردن بیش از حد در سطح DBMS است. این قفل ها با هر دو ویژگی پیاده سازی مکانیسم های قفل در DBMS همراه است و به طوری که DBMS نمی تواند به حساب (و به حساب نمی آید) معنای فیزیکی و ساختار اشیاء فراداده 1C: شرکت ها.

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

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


پیکربندی های جدید 1C بلافاصله در حالت مدیریتی اجرا می شود.

  • پرسش: آیا ابتدا ممیزی را می توان و سپس به UB انتقال داد؟

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

  • سوال: برای انتقال به UB، دقیقا برای ارائه دسترسی - RDP، TeamViewer؟ یا می توانید پیکربندی فایل را ارسال کنید؟

پاسخ: ما سعی می کنیم یک تکنولوژی خاص را محدود کنیم. دسترسی از راه دور، مناسب هر تکنولوژی دسترسی از راه دور. اگر برای شما مهم نیست، سپس RDP عملی است.
ما می توانیم بهینه سازی را با فایل پیکربندی ارسال انجام دهیم، اما پس از آن ما نمی توانیم برخی از داده های واقعی را نادیده بگیریم و باید مورد توجه قرار گیرد. اگر ما بهینه سازی بر روی کپی پایه انجام دهیم، می توانیم قبل از اینکه ما نتیجه کار را به شما بدهیم، به دقت آزمایش کنیم.

  • سوال: ما 10 برنامه نویسان منظم داریم که هر روز چیزی را در کنفرانس تغییر می دهند. استفاده از ذخیره سازی پیکربندی عمومی ". هنگام انتقال به UB، تعامل چگونه سازماندهی می شود؟ یا همه برنامه نویسان باید در تعطیلات ارسال شوند؟

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

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

  • خواندن Uncommited - در حالی که یک تراکنش آرایه را تغییر می دهد، دیگر نمی تواند آن را تغییر دهد، اما می تواند بخواند. سطح پایین تر از انزوا.
  • خواندن متهم - در حالی که یک معامله تغییر آرایه، دیگر نمی تواند آن را تغییر دهد، و نه خواندن
  • خواندن قابل خواندن - در حالی که یک معامله یک آرایه را می خواند، دیگر نمی تواند آن را تغییر دهد، اما می تواند بخواند
  • سریال - در حالی که یک معامله یک آرایه را می خواند، دیگر نمی تواند آن را تغییر دهد یا بخواند. تمام عملیات سازگار است. حداکثر سطح انزوا

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

گنجاندن حالت قفل کنترل شده در خواص پیکربندی رخ می دهد:

همچنین، حالت قفل را می توان برای اشیاء پیکربندی خاص تنظیم کرد:

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

برای حالت، خودکار و قابل کنترل یک نقطه است. معامله، یک کاربر واحد می تواند چندین معاملات از نقطه نظر پلت فرم باشد. به عنوان مثال، رفتار تعاملی سند ثبت نام باعث می شود دومعاملات - ضبط سند خود، و در داخل این ردیف ضبط تراکنش برای ثبت نام. بسته به حالت مدیریت قفل برای سند خود و ثبت نام، چهار موقعیت ممکن است:

  1. حالت سند اتوماتیک، حالت خودکار را ثبت کنید -\u003e
  2. حالت سند کنترل شده، حالت ثبت نام مدیریت-\u003e ورود ثبت نام در حالت مدیریت شده
  3. حالت سند خودکار، حالت ثبت نام مدیریت -\u003e ثبت رکورد در حالت خودکار
  4. حالت سند کنترل شده، ثبت نام خودکار ثبت نام -\u003e وضعیت استثنایی (خطا)

سوال 06.59 امتحان 1C: حرفه ای در پلت فرم. هنگام انجام یک سند در هر ثبت نام اگر سند دارای حالت کنترل قفل اتوماتیک قفل اتوماتیک باشد، ثبت نام (در خواص پیکربندی، گزینه "خودکار و قابل کنترل") استفاده می شود، پس از آن چنین رفتار منجر خواهد شد:

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

سوال 06.60 امتحان 1C: حرفه ای در پلت فرم. هنگام انجام یک سند در هر ثبت نام اگر سند دارای حالت کنترل قفل تراکنش کنترل شده باشد، ثبت نام خودکار (در خواص پیکربندی، گزینه "خودکار و قابل کنترل") استفاده می شود، پس از آن چنین رفتار منجر خواهد شد:

  1. به ظهور یک وضعیت اشتباه
  2. کل معامله به صورت خودکار انجام می شود
  3. کل معامله در حالت مدیریت انجام می شود.

پاسخ صحیح اول است، تعریف اول معامله، اگر مدیریت، و سپس خطا.

سوال 06.61 امتحان 1C: حرفه ای در پلت فرم. هنگام انجام یک سند در هر ثبت نام اگر سند دارای یک حالت کنترل قفل اتوماتیک قفل است، و ثبت نام مدیریت شده (در خواص پیکربندی، گزینه "قابل کنترل" استفاده می شود)، پس از آن چنین رفتار هدایت می شود:

  1. به ظهور یک وضعیت اشتباه
  2. کل معامله به صورت خودکار انجام می شود
  3. کل معامله در حالت مدیریت انجام می شود.

مکانیسم مدیریت قفل داده در تراکنش اجازه می دهد تا شما را به مسدود کردن داده های متغیر نه با استفاده از سیستم مدیریت پایگاه داده استفاده شده، و ابزار پلت فرم. چنین مدیریت قفل داده ها از لحاظ داده های DBA و از لحاظ موضوع موضوع انجام نشده است. با تشکر از این، قفل ها "دقیق تر" قرار می گیرند و موازی کاربران مطرح شده است.

پیکربندی 1c: Enterprise 8 می تواند در یکی از سه حالت کنترل قفل در معامله عمل کند:

  • خودکار؛
  • مدیریت - حالت استاندارد برای پیکربندی های جدید؛
  • اتوماتیک و قابل کنترل

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

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

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

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

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

به خصوص برای این، مجموعه ای از سوابق ثبت های انباشت و ثبت حساب های حسابداری دارای اموال است. التهاب التهاب.

اگر شما نیاز به کنترل بقایای دارید، سپس حرکات را به همان ثبت نام بنویسید، سپس باید این ویژگی را نصب کنید تا سوابق این ثبت نام را در اموال تنظیم کنید. جنبش.

عمل این ویژگی مشابه این است که چگونه اگر توسعه دهنده به طور مستقل نصب شود (ثبت شده در کد) قفل های مورد نیاز قفل 1C: شرکت 8. پلت فرم مسدود کننده کنترل مورد نیاز به طور خودکار هنگام ضبط این مجموعه سوابق تنظیم می شود. به عنوان یک نتیجه دیگر معاملات مدیریت شده با استفاده از مسدود کردن مشابه قادر به شروع به خواندن این ثبت نام تا پایان معامله فعلی نیست.

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

سیستم "1C: Enterprise" به شما امکان می دهد از دو حالت پایگاه داده استفاده کنید: حالت قفل اتوماتیک در معامله و قفل های کنترل شده در معامله.

تفاوت اساسی این حالت ها به شرح زیر است. حالت قفل اتوماتیک نیازی به توسعه دهنده هر گونه اقداماتی برای کنترل قفل در معامله نیست. این قوانین توسط پلت فرم سیستم "1C: Enterprise" ارائه شده با استفاده از سطوح جداسازی معینی خاص در یک DBMS داده شده ارائه شده است. چنین نحوه عملیات ساده ترین برای توسعه دهنده است، اما در برخی موارد (به عنوان مثال، با کار همزمان شدید. تعداد زیادی کاربران) سطح ورودی جداسازی معامله در DBMS نمیتواند هماهنگی کافی از کار را فراهم کند، که به شکل تعداد زیادی از درگیری های قفل در طول عملیات کاربر ظاهر می شود.

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

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

تنظیم حالت قفل در پیکربندی

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

کار با قفل های کنترل شده در زبان داخلی ساخته شده است

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

شرایط به برابری ارزش فیلد مقدار مشخص شده تعیین می شود یا برای وارد کردن مقدار فیلد به محدوده مشخص شده است.
شرایط را می توان به دو روش تنظیم کرد:

  • با استفاده از صراحت مشخص کردن نام فیلد و ارزش (روش برای تنظیم () یک هدف از عنصر بلوک)؛
  • با استفاده از منبع منبع داده حاوی مقادیر لازم (ویژگی هدف منبع بلوک عنصر).

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

  • تقسیم شده
  • استثنایی.

جدول سازگاری قفل های کنترل شده به شرح زیر است.

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

ویژگی های کار در حالت "خودکار و قابل کنترل"

هنگام کار در حالت مدیریت قفل، باید دو ویژگی به صورت خودکار و مدیریت شود:

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

ویژگی های ذکر شده را در جزئیات بیشتر در نظر بگیرید.

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

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

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