Açıq
Yaxın

Kilid menecerindən istifadə xətası. Transaction Data Lock Control, Mexanizm. Daxili dildən istifadə edərək idarə olunan kilidlərlə işləmək

İdarə olunan kilidlərə keçidin əsas səbəbləri:

  • Əsas səbəb 1C:Expert və ya 1C:TsUP ifadəsinə əsaslanan tövsiyədir.
  • Paralel istifadəçilərlə bağlı problemlər ()
  • Oracle, PostgreSQL və .

İşin dəyəri:

İdarə olunan kilidlərin mahiyyəti

Avtomatik kilidləmə idarəetmə rejimində işləyərkən, 1C: Enterprise DBMS səviyyəsində bir əməliyyatda məlumatların yüksək dərəcədə izolyasiyasını təyin edir. Bu, proqram tərtibatçıları tərəfindən heç bir xüsusi səy göstərmədən natamam və ya yanlış məlumat əldə etmək imkanını tamamilə aradan qaldırmağa imkan verir.

Bu, az sayda aktiv istifadəçi üçün əlverişli və düzgün yanaşmadır. İnkişaf asanlığının qiyməti DBMS səviyyəsində müəyyən miqdarda lazımsız kilidləmədir. Bu kilidlər həm DBMS-nin özündə kilidləmə mexanizmlərinin həyata keçirilməsinin xüsusiyyətləri ilə, həm də DBMS-nin 1C: Enterprise metadata obyektlərinin fiziki mənasını və strukturunu nəzərə ala bilməməsi (və etməməsi) ilə əlaqələndirilir.

Resurslar üçün yüksək çəkişmə ilə işləyərkən (çox sayda istifadəçi) müəyyən bir nöqtədə lazımsız kilidlərin təsiri paralel rejimdə performans baxımından nəzərə çarpır.

Konfiqurasiya idarə olunan rejimə keçirildikdən sonra platformada "kilid meneceri" nin əlavə funksionallığı aktivləşdirilir və məlumatların bütövlüyünə nəzarət indi DBMS tərəfində deyil, 1C server tərəfində həyata keçirilir. Bu, 1C server aparatının yükünü artırır (daha sürətli prosessorlar və daha çox yaddaş tələb olunur) və əslində hətta bir qədər yavaşlama (bir neçə faiz) təqdim edir, lakin kilidlərlə vəziyyəti əhəmiyyətli dərəcədə yaxşılaşdırır (obyektdəki kilidlər səbəbindən daha az kilid və cədvəllərin birləşməsində deyil, daha az bloklama sahəsi və bəzi hallarda oxu kilidlərinin ömrü daha qısadır, yəni əməliyyatın sonuna qədər deyil). Bu, ümumi paralelliyi yaxşılaşdırır.


1C-dən yeni konfiqurasiyalar dərhal idarə olunan rejimdə həyata keçirildi.

  • Sual: Əvvəlcə audit edib sonra FM-ə keçmək olarmı?

Cavab: Bəli, audit idarə olunan kilidlərə köçürmənin məqsədəuyğunluğu üçün əlavə əsaslandırma rolunu oynayacaq, həmçinin avtomatik kilidlərin ümumi yavaşlamaya töhfəsini və köçürmə ilə yanaşı əlavə səylərə ehtiyac olub olmadığını qiymətləndirmək üçün xidmət edəcəkdir.

  • Sual: UX-ə köçürmək üçün hansı növ giriş təmin edilməlidir - RDP, TeamViewer? Yoxsa konfiqurasiya faylını sizə göndərə bilərəm?

Cavab: Biz özümüzü bir konkret uzaqdan giriş texnologiyası ilə məhdudlaşdırmamağa çalışırıq, bunu edəcək istənilən uzaqdan giriş texnologiyası. Əgər sizin üçün fərqi yoxdursa, o zaman RDP daha praktikdir.
Göndərilən konfiqurasiya faylı əsasında optimallaşdırma həyata keçirə bilərik, lakin o zaman bəzi real məlumatları sazlaya bilməyəcəyik və siz daha diqqətlə sınaqdan keçirməli olacaqsınız. Əgər verilənlər bazasının bir nüsxəsində optimallaşdırma aparsaq, sizə işin nəticəsini verməzdən əvvəl onu daha ətraflı sınaqdan keçirə bilərik.

  • Sual: Bizdə hər gün konfransda nəyisə dəyişən tam ştatlı 10 proqramçı var. Paylaşılan konfiqurasiya mağazasından istifadə olunur." UX-ə keçid zamanı qarşılıqlı əlaqə necə təşkil olunacaq? Yoxsa bütün proqramçılar məzuniyyətə göndərilməlidir?

Cavab: Bir qayda olaraq, dəyişikliklərimiz bir-iki gün ərzində edilir. Qalan vaxt texniki mülahizələrlə deyil, biznes tərəfindən müəyyən edilən tələb olunan məntiq nöqteyi-nəzərindən daxil olmaqla, edilən dəyişikliklərin sınaqdan keçirilməsinə sərf olunur. Biz ayrıca konfiqurasiya faylına dəyişikliklər edə bilərik cf , sonra proqramçınız onu depoya yerləşdirəcək. Heç kim tətilə getməli olmayacaq. Qarşılıqlı əlaqə üçün digər seçimlərdə, sadəcə olaraq, tərtibatçılarınızın hansı obyektləri tutmağı planlaşdırdığı barədə razılaşmalısınız ki, biz hər iki tərəf üçün əlverişli olan iş planı qura bilək. Bir qayda olaraq, tərtibatçılarınızın bütün konfiqurasiyanı ələ keçirməsi və ya bizə gün üçün "sükan" verməsi lazım deyil.

Mexanizm əməliyyat kilidləri DBMS-ə rəqabətli istifadəçi girişi üçün istifadə olunur.
Tranzaksiya, verilənlər bazasının vəziyyətinin dəyişdiyi bir növ davamlı əməliyyatdır. Bu, minimum dəyişikliyin miqdarıdır: siz yarım əməliyyat edə bilməzsiniz; əməliyyat tamamlanmazsa, verilənlər bazası ilkin vəziyyətinə qaytarılacaq.
Tranzaksiya bir sıra verilənləri tutduğundan, bu massivə daxil olmaqda bir nüans yaranır: məsələn, bir əməliyyat məlumatı dəyişir, digəri isə onu oxumağa çalışır. Oxuma nəticəsi səhv ola bilər, çünki son dəyişikliklər daxil olmayacaq. Buna görə də, tranzaksiya izolyasiyası DBMS səviyyəsində işləyir. Aşağıdakı izolyasiya səviyyələri mümkündür:

  • Təhlükəsiz oxuyun- bir tranzaksiya massivi dəyişdirərkən, digəri onu dəyişə bilməz, ancaq oxuya bilər. Ən aşağı izolyasiya səviyyəsi.
  • Oxuduq- bir əməliyyat massivi dəyişdirərkən, digəri onu dəyişə və ya oxuya bilməz
  • Təkrarlanan oxu- bir tranzaksiya massivi oxuyarkən, digəri onu dəyişə bilməz, ancaq oxuya bilər
  • Seriallaşdırıla bilən- bir əməliyyat massivi oxuyarkən, digəri onu dəyişə və ya oxuya bilməz. Bütün əməliyyatlar ardıcıldır. Maksimum izolyasiya səviyyəsi.

1C:Enterprise konfiqurasiyası qurulubsa avtomatik kilidləmə rejimi, sonra əməliyyatın izolyasiya səviyyəsi DBMS tərəfindən seçilir. MS SQL vəziyyətində bu, Təkrarlana bilən oxu və ya Seriallaşdırıla bilən səviyyələr olacaq, yəni məlumatların izolyasiyası maksimuma yaxındır. Bu, məlumatların düzgünlüyü ilə bağlı problemləri həll edir, lakin intensiv istifadəçi işi zamanı DBMS səviyyəsində bloklanmağa səbəb ola bilər. Buna görə də, 1C: Müəssisə idarə olunan kilidlər rejimini aktivləşdirməklə aktivləşdirilən kilidlərlə işləmək üçün öz funksionallığına malikdir. Bu halda, MS SQL üçün tranzaksiya təcrid səviyyəsi oxunmuş olacaq. Platformanın özü DBMS-ə etibar etmədən məlumatları təcrid edəcək.

İdarə olunan kilidləmə rejimi konfiqurasiya xüsusiyyətlərində aktivləşdirilib:

Həmçinin, kilidləmə rejimi xüsusi konfiqurasiya obyektləri üçün təyin edilə bilər:

Əgər konfiqurasiya bütövlükdə Avtomatik kilidləmə rejiminə qoyulubsa, konfiqurasiya obyekti üçün təyin edilmiş rejimdən asılı olmayaraq bütün registrlər üçün bütün əməliyyatlar avtomatik rejimdə işləyəcək. İdarə edilirsə, eyni şəkildə bütün əməliyyatlar İdarə olunanda olacaq. Əgər konfiqurasiya rejimi Avtomatik olaraq təyin edilibsə və idarə olunursa, hər bir obyekt üçün rejim onun parametrləri ilə müəyyən ediləcək.

Avtomatik və İdarə olunan rejim üçün bir nöqtə var. İstifadəçi üçün bir əməliyyat platforma baxımından bir neçə əməliyyatı təmsil edə bilər. Məsələn, bir sənədin interaktiv olaraq reyestrdə yerləşdirilməsi ikiəməliyyatlar - sənədin özünün qeydi və bu əməliyyat çərçivəsində registr üzrə sıralar toplusunun qeydi. Sənədin özü və onun hərəkət etdiyi registr üçün kilid idarəetmə rejimindən asılı olaraq dörd vəziyyət mümkündür:

  1. Sənəd rejimi Avtomatik, qeydiyyat rejimi Avtomatik ->
  2. Sənəd rejimi İdarə olunur, qeydiyyat rejimi İdarə olunur -> idarə olunan rejimdə qeydiyyatdan keçməklə qeyd edin
  3. Sənəd rejimi Avtomatik, qeydiyyat rejimi Nəzarətli -> avtomatik rejimdə qeydiyyatdan keçməklə qeyd
  4. Sənəd rejimi İdarə olunur, qeydiyyat rejimi Avtomatik -> istisna (xəta)

1C imtahanının 06.59 sualı: Platform Professional. Sənədi hər hansı registr vasitəsilə yerləşdirərkən, əgər sənəddə əməliyyatın avtomatik kilidinin idarə edilməsi rejimi varsa və reyestrdə idarə olunan rejim varsa (“Avtomatik və idarə olunan” seçimi konfiqurasiya xassələrində istifadə olunur), onda belə yerləşdirmə aşağıdakılara gətirib çıxaracaq:

Düzgün cavab ikincidir, biz bunu birinci əməliyyatla müəyyən edirik, əgər avtomatikdirsə, hər şey avtomatikdir.

1C imtahanının 06.60 sualı: Platform Professional. Sənədi hər hansı bir reyestr vasitəsilə yerləşdirərkən, sənəddə əməliyyat kilidlərini idarə etmək üçün idarə olunan rejim varsa və reyestrdə avtomatik rejim varsa (konfiqurasiya xüsusiyyətlərində "Avtomatik və idarə olunan" seçimi istifadə olunur), onda belə göndərmə aşağıdakılara səbəb olacaq:

  1. səhv vəziyyətinə
  2. bütün əməliyyat avtomatik olaraq tamamlanacaq
  3. bütün əməliyyat nəzarətli şəkildə tamamlanacaq

Düzgün cavab birincidir, biz birinci tranzaksiya ilə müəyyən edirik, əgər nəzarət olunursa, deməli, səhvdir.

1C imtahanının 06.61 sualı: Platform Professional. Sənədi hər hansı bir reyestr vasitəsilə yerləşdirərkən, sənəddə əməliyyat kilidlərini idarə etmək üçün avtomatik rejim varsa və reyestrdə idarə olunan rejim varsa (konfiqurasiya xüsusiyyətlərində "İdarə olunan" seçimi istifadə olunur), onda belə yerləşdirmə aşağıdakılara səbəb olacaq:

  1. səhv vəziyyətinə
  2. bütün əməliyyat avtomatik olaraq tamamlanacaq
  3. bütün əməliyyat nəzarətli şəkildə tamamlanacaq

Məlumat kilidinin idarə edilməsi mexanizmiəməliyyatda istifadə olunan verilənlər bazası idarəetmə sistemi vasitəsilə deyil, platforma vasitəsilə dəyişdirilə bilən məlumatları kilidləməyə imkan verir. Bu cür məlumat kilidinin idarə edilməsi DBMS məlumatları baxımından deyil, məlumat domeni baxımından həyata keçirilir. Bunun sayəsində kilidlər daha dəqiq tətbiq edilir və istifadəçi paralelliyi artır.

Konfiqurasiya 1C: Enterprise 8 əməliyyatda kilidləri idarə etmək üçün üç rejimdən birində işləyə bilər:

  • avtomatik;
  • idarə olunan - yeni konfiqurasiyalar üçün standart rejim;
  • avtomatik və idarə olunur.

IN avtomatik rejim Məlumat kilidinin idarə edilməsi verilənlər bazası idarəetmə sistemi tərəfindən təmin edilən təkrar oxunan və seriallaşdırıla bilən əməliyyat izolyasiya səviyyələrindən istifadə edir. Bu əməliyyat təcrid səviyyələri tərtibatçıdan hər hansı əlavə kilid idarəetmə səylərini tələb etmədən məlumatların ardıcıl və ardıcıl oxunmasını təmin edir.

İdarə olunan rejim verilənlər bazası tranzaksiya təcridinin daha aşağı səviyyədən istifadə etməklə müştəri-server iş rejimində istifadəçi işinin paralelliyini artırmağa imkan verir (Oxuduqda). Əməliyyata məlumat yazarkən, daxili dil obyektləri tələb olunan məlumatları avtomatik olaraq kilidləyir. Tərtibatçı biznes məntiqinin əməliyyatda verilənlərin ardıcıl və ardıcıl oxunmasını tələb etdiyi hallarda məlumat kilidlərini idarə etməlidir.

Avtomatik və idarə olunur rejimi yalnız bəzi konfiqurasiya obyektləri üçün əməliyyatda kilidləri idarə etmək imkanından istifadə etməyə imkan verir. Bu rejimdən istifadəçinin fərdi tətbiq obyektləri ilə paralelliyini optimallaşdırmaq (məsələn, ən intensiv istifadə olunan bir neçə sənəd) və ya böyük konfiqurasiyaları tədricən əməliyyat kilidinin idarə edilməsi rejiminə keçirmək üçün istifadə edilə bilər.

Xülasə, avtomatik bloklama rejimində və idarə olunan bloklama rejimində işləyərkən fərqlər aşağıdakı cədvəldə göstərilir:

Çox vaxt əməliyyatda məlumat kilidlərini idarə etmək ehtiyacı sənədlərin yerləşdirilməsi prosesində, eyni cədvəllərə dəyişdirilmiş məlumatları oxumaq və sonra yazmaq lazım olduqda yaranır. Məsələn, bir sənəd yerləşdirərkən balanslara nəzarət edirsinizsə.

Xüsusilə bu məqsədlə yığım registrlərinin və mühasibat uçotu registrlərinin qeyd dəstləri mülkiyyətə malikdir. BlockForChange.

Əgər balanslara nəzarət etmək və sonra hərəkətləri eyni reyestrdə qeyd etmək lazımdırsa, bu əmlak əmlakdakı bu reyestrdəki qeydlər dəsti üçün təyin edilməlidir. Hərəkətlər.

Bu xüsusiyyətin təsiri, tərtibatçının 1C: Enterprise 8 üçün lazımi idarə olunan kilidləri müstəqil olaraq quraşdırdığı (kodda göstərildiyi) ilə eynidir. Platforma bu qeydlər toplusunu yazarkən avtomatik olaraq lazımi idarə olunan kilidi quraşdıracaqdır. Nəticədə, eyni kiliddən istifadə edən digər idarə olunan əməliyyatlar cari əməliyyat tamamlanana qədər bu reyestri oxumağa başlaya bilməyəcəklər.

Aşağıda yığım registrinin məlumatlarını oxuyarkən məlumat kilidlərinin "əl ilə" idarə edilməsi nümunəsidir Əşyaların uçotu sənəd emalında Satış fakturası. Bu nümunədə idarə olunan kilidlər tamamilə daxili dildən istifadə etməklə yaradılır və qurulur.